|
Uni20
Asynchronous tensor and runtime library.
|
Mutable stream and provider resources associated with one CUDA device. More...
#include <runtime.hpp>
Classes | |
| struct | Config |
| Configuration for one device's mutable CUDA resources. More... | |
Public Member Functions | |
| Device | device () const noexcept |
| Return the device served by this resource set. | |
| DeviceResources (Config config) | |
| Create isolated resources for one CUDA device. | |
| DeviceResources (DeviceResources &&)=delete | |
| DeviceResources (DeviceResources const &)=delete | |
| std::size_t | live_allocation_count () const noexcept |
| Return the number of live CUDA allocations borrowing these resources. | |
| DeviceResources & | operator= (DeviceResources &&)=delete |
| DeviceResources & | operator= (DeviceResources const &)=delete |
| template<class Resource , class... Args> | |
| Resource & | provider_resource (Args &&... args) |
| Return the resource-owned instance of one provider resource type. | |
| StreamPool const & | streams () const noexcept |
| StreamPool & | streams () noexcept |
| Return the device's actually-idle stream pool. | |
| ~DeviceResources () noexcept | |
Friends | |
| template<typename T > | |
| class | CudaBuffer |
Mutable stream and provider resources associated with one CUDA device.
Ordinary application code obtains the canonical instance from the installed CUDA runtime. Direct construction remains useful for focused tests and low-level bring-up. The resources object must outlive every buffer, stream lease, and provider lease created from it. A dedicated reclamation stream orders allocation release after buffer completion events without consuming an operation-stream slot.
|
explicit |
Create isolated resources for one CUDA device.
|
delete |
|
delete |
|
noexcept |
|
inlinenoexcept |
Return the device served by this resource set.
|
inlinenoexcept |
Return the number of live CUDA allocations borrowing these resources.
|
delete |
|
delete |
|
inline |
Return the resource-owned instance of one provider resource type.
The resource is constructed on first use and retained until shutdown. A device owns at most one instance of each concrete resource type. Provider resources are destroyed before the stream pool that they may reference.
|
inlinenoexcept |
|
inlinenoexcept |
Return the device's actually-idle stream pool.
|
friend |