![]() |
|
Base class for a parallel task that emulates tbb::task (deprecated in the oneTBB version upgrade.) This task abstracts a block of concurrent work
by exploiting knowledge of TBB's task-based work stealing scheduler architecture to provide memory and runtime optimizations.
More...
#include <taskGraph.h>
Inherits WorkTaskGraph_DefaultImpl::BaseTask.
Inherited by VdfParallelExecutorEngineBase< Derived, DataManager >::_ComputeAllTask, VdfParallelExecutorEngineBase< Derived, DataManager >::_ComputeTask, VdfParallelExecutorEngineBase< Derived, DataManager >::_InputsTask, VdfParallelExecutorEngineBase< Derived, DataManager >::_KeepTask, VdfParallelExecutorEngineBase< Derived, DataManager >::_LeafTask< Callback >, and VdfParallelExecutorEngineBase< Derived, DataManager >::_TouchTask.
Public Member Functions | |
| virtual BaseTask * | execute ()=0 |
| Derived classes override this method to implement a parallel unit of work. | |
| void | AddChildReference () |
| Increment the reference count of child tasks that must complete before this task can proceed. | |
| int | RemoveChildReference () |
| Decrement the reference count of child tasks that must complete before this task can proceed. | |
| template<typename F , typename ... Args> | |
| F * | AllocateChild (Args &&... args) |
| Construct a new subtask and increment the reference count of the calling task. | |
Protected Member Functions | |
| void | _RecycleAsContinuation () |
| Recycles this as a continuation task to mitigate the allocation overhead of the continuation task. | |
Base class for a parallel task that emulates tbb::task (deprecated in the oneTBB version upgrade.) This task abstracts a block of concurrent work
by exploiting knowledge of TBB's task-based work stealing scheduler architecture to provide memory and runtime optimizations.
This is a callable object that can serve as an anchor to dynamically spawn additional children. It supports continuation passing, recycling of task resources, and scheduler bypass. All task graph tasks are heap-allocated and automatically released/reclaimed using reference counting.
Definition at line 106 of file taskGraph.h.
|
inlineprotected |
Recycles this as a continuation task to mitigate the allocation overhead of the continuation task.
Definition at line 147 of file taskGraph.h.
|
inline |
Increment the reference count of child tasks that must complete before this task can proceed.
Definition at line 120 of file taskGraph.h.
|
inline |
Construct a new subtask and increment the reference count of the calling task.
Definition at line 133 of file taskGraph.h.
|
pure virtual |
Derived classes override this method to implement a parallel unit of work.
|
inline |
Decrement the reference count of child tasks that must complete before this task can proceed.
Definition at line 126 of file taskGraph.h.