42 auto handle = std::coroutine_handle<CudaTaskPromise>::from_promise(*
this);
Defines shared and concrete task coroutine promises.
Move-only promise-neutral ownership claim for a Uni20 coroutine.
Definition async_task.hpp:103
BasicTask & debug_name(std::string const &label)
Assign an optional debug label.
Definition async_task.hpp:131
BasicTask() noexcept=default
Construct an empty task.
TaskHandle handle() const noexcept
Return the erased task identity.
Definition async_task.hpp:125
Promise type for CUDA-constrained CudaTask coroutines.
Definition async_task_promise.hpp:646
CudaTask get_return_object() noexcept
Definition cuda_task.hpp:40
CUDA-constrained public task type used for typed initial admission.
Definition cuda_task.hpp:14
CudaTask & debug_name(std::string const &label)
Assign an optional debug label while preserving the concrete task type.
Definition cuda_task.hpp:28
friend class CudaTaskPromise
Definition cuda_task.hpp:37
CudaTask & operator=(CudaTask const &)=delete
CudaTask(CudaTask const &)=delete
CudaTask(CudaTask &&) noexcept=default
Scheduler interface for initial CudaTask admission.
Definition cuda_task.hpp:49
virtual void schedule(CudaTask &&task)=0
Submit a CUDA task without establishing device affinity.
virtual void schedule(CudaTask &&task, int device)=0
Bind and submit a CUDA task for initial execution on a device.
~ICudaScheduler() override=default
Internal route for resuming an already-bound coroutine task.
Definition scheduler.hpp:64
Non-owning erased identity for one Uni20 coroutine frame.
Definition async_task.hpp:59
TaskHandle initialize_task(std::coroutine_handle< Promise > handle) noexcept
Cache erased self-identity and register the initial ownership claim.
Definition async_task_promise.hpp:495
cuda::ResourceLease< HandleSlot > handle
Definition cublas/execution.cpp:33
This represents the reverse-mode adjoint for functions of complex variables, assuming a real-valued s...
Definition async/async.hpp:26