|
| | StageBuilder (std::shared_ptr< impl::DeviceHandle > device) |
| |
| | ~StageBuilder () |
| |
| | StageBuilder (StageBuilder &&) noexcept |
| |
| StageBuilder & | operator= (StageBuilder &&) noexcept |
| |
| | StageBuilder (const StageBuilder &)=delete |
| |
| StageBuilder & | operator= (const StageBuilder &)=delete |
| |
| template<auto Func, typename... Args, detail::EnableCompatibleKernelArguments< Func, Args... > = 0> |
| StageBuilder & | stage (uint32_t taskCount, Args &&... args) |
| |
| template<auto Func, typename... Args, detail::EnableCompatibleKernelArguments< Func, Args... > = 0> |
| detail::TaskCountRequired< StageBuilder > | stage (Args &&... args) && |
| |
| template<auto Func, typename... Args, detail::EnableCompatibleKernelArguments< Func, Args... > = 0> |
| detail::TaskCountRequired< StageBuilder > | stage (Args &&... args) &=delete |
| |
| StageGroupBuilder | stage () |
| |
| StageBuilder & | reserve (uint32_t n) |
| |
| StageBuilder & | tasks (uint32_t taskCount) |
| |
| StageBuilder & | batchSize (uint32_t n) |
| | Sets per-task batch size for the most-recently-added stage. Affects only the last entry added via stage<K>(...). No-op when no stage has been added yet. More...
|
| |
| StageBuilder & | clusterBitmap (uint32_t bitmap) |
| | Sets cluster bitmap for the most-recently-added stage. More...
|
| |
| StageBuilder & | locality (LocalityMode mode) |
| | Sets locality mode for the most-recently-added stage. More...
|
| |
| StageBuilder & | onComplete (Map::CompletionCallback cb, void *arg=nullptr) |
| | Registers a completion callback on the most-recently-added stage. More...
|
| |
| StageBuilder & | onMessage (Map::MessageCallback cb, void *arg=nullptr) |
| | Registers a message callback on the most-recently-added stage. More...
|
| |
| StageBuilder & | onError (Map::ErrorCallback cb, void *arg=nullptr) |
| | Registers an error callback on the most-recently-added stage. More...
|
| |
| StageBuilder & | stream (Stream *s) |
| | Routes the most-recently-added stage through a user-managed stream. More...
|
| |
| StageBuilder & | enableProfile (const xpti::ProfileConfig &config) |
| | Enables profiling for the most-recently-added stage. enableProfiling failures are logged but not propagated. More...
|
| |
| LaunchResult | run () |
| |
| std::future< LaunchResult > | runAsync () |
| |
| template<auto Func, typename... Args, detail::EnableCompatibleKernelArguments< Func, Args... > > |
| detail::TaskCountRequired< StageBuilder > | stage (Args &&... args) && |
| |
Builds a chain of kernel stages for sequential/parallel execution.
Stages are executed sequentially with barriers between them. Within a stage group (created by .stage()), kernels run in parallel.
Example:
.add<K1>(A, B).
tasks(firstTaskCount)
.add<K2>(C, D).
tasks(secondTaskCount)
Execution context for kernel launches on XCENA devices.
StageBuilder stage(uint32_t taskCount, Args &&... args)
Begins a stage chain with a sequential kernel stage.
StageBuilder & stage(uint32_t taskCount, Args &&... args)
StageBuilder & tasks(uint32_t taskCount)
Definition at line 150 of file stage_builder.hpp.
template<auto Func, typename... Args, detail::EnableCompatibleKernelArguments< Func, Args... > = 0>
Adds a stage with only the kernel's own arguments; set its task count with .tasks(taskCount). Kernel arity distinguishes this from the positional compatibility form, including for integral-first kernels. This transition consumes an rvalue stage chain and returns a pending type that exposes tasks() and the current entry's optional settings, but no next stage or execution method.