|
Uni20
Asynchronous tensor and runtime library.
|
Move-only dynamic pairing of one cuBLAS handle slot and one idle stream. More...
#include <execution.hpp>
Public Types | |
| using | handle_lease_type = cuda::ResourceLease< HandleSlot > |
Public Member Functions | |
| ExecutionLease () noexcept=default | |
| ExecutionLease (ExecutionLease &&other) noexcept | |
| ExecutionLease (ExecutionLease const &)=delete | |
| HandleSlot & | handle () const |
| Access the exclusively leased cuBLAS handle slot. | |
| operator bool () const noexcept | |
| Return whether this lease owns both required execution resources. | |
| ExecutionLease & | operator= (ExecutionLease &&other) noexcept |
| ExecutionLease & | operator= (ExecutionLease const &)=delete |
| void | release () noexcept |
| Publish deferred handle return at the current stream tail. | |
| cuda::Stream const & | stream () const noexcept |
| Access the dynamically selected CUDA stream. | |
| ~ExecutionLease () | |
Friends | |
| class | ExecutionAcquireAwaiter |
| class | ExecutionPool |
Move-only dynamic pairing of one cuBLAS handle slot and one idle stream.
The handle returns to its pool at the submitted stream tail. The stream follows its own reference-counted idle-pool lifetime.
|
defaultnoexcept |
|
delete |
|
noexcept |
| uni20::cublas::ExecutionLease::~ExecutionLease | ( | ) |
|
inline |
Access the exclusively leased cuBLAS handle slot.
|
inlineexplicitnoexcept |
Return whether this lease owns both required execution resources.
|
noexcept |
|
delete |
|
noexcept |
Publish deferred handle return at the current stream tail.
|
inlinenoexcept |
Access the dynamically selected CUDA stream.
|
friend |
|
friend |