|
Uni20
Asynchronous tensor and runtime library.
|
Scheduler interface for initial CudaTask admission.
More...
#include <cuda_task.hpp>
Public Member Functions | |
| 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 | |
Public Member Functions inherited from uni20::async::IScheduler | |
| virtual | ~IScheduler ()=default |
| Virtual destructor. | |
Scheduler interface for initial CudaTask admission.
Virtual inheritance permits one scheduler object to implement both ordinary and CUDA admission with one unambiguous internal route.
|
overridedefault |
|
pure virtual |
Submit a CUDA task without establishing device affinity.
The scheduler routes the task through its default CUDA device until the task explicitly selects a device.
| task | CUDA task to admit. |
Implemented in uni20::async::DebugCudaScheduler, and uni20::async::TbbCudaScheduler.
|
pure virtual |
Bind and submit a CUDA task for initial execution on a device.
| task | CUDA task to admit. |
| device | CUDA runtime device ordinal. |
Implemented in uni20::async::DebugCudaScheduler, and uni20::async::TbbCudaScheduler.