Task
#include <xalgospp/scheduling/task.hh>class TaskDefined in src/lib/xalgospp/scheduling/task.hh:84
Inherits:
enable_shared_from_this< Task >Subclassed by:PyTask,AlgorithmTask< Algo, ParentTask, MemTag >,IOGeneratorTask< DataSource, MemTag >,ReadImageTask< DataSource, DataFetcher, MemTag >,ValueTask< ViewType >
The Task represents the fundamental unit of processing work in a DAG.
Inherits from enable_shared_from_this to allow generating new Tasks from shared_ptr to Task that shares the ownership.
List of all members
Section titled “List of all members”| Name | Kind | Owner |
|---|---|---|
DagScheduler |
friend |
Declared here |
execute |
function |
Declared here |
locality |
function |
Declared here |
set_locality |
function |
Declared here |
set_locality_resolver |
function |
Declared here |
resources |
function |
Declared here |
set_resources |
function |
Declared here |
add_dependency |
function |
Declared here |
is_generator |
function |
Declared here |
m_locality |
variable |
Declared here |
m_locality_resolver |
variable |
Declared here |
m_resources |
variable |
Declared here |
m_children |
variable |
Declared here |
m_pending_parents |
variable |
Declared here |
Friends
Section titled “Friends”| Name | Description |
|---|---|
DagScheduler |
DagScheduler
Section titled “DagScheduler”friend class DagSchedulerDefined in src/lib/xalgospp/scheduling/task.hh:112
Public Methods
Section titled “Public Methods”| Return | Name | Description |
|---|---|---|
void |
execute virtual |
|
const LocalityHint & |
locality const inline |
|
void |
set_locality inline |
|
void |
set_locality_resolver inline |
|
const ResourceRequirements & |
resources const inline |
|
void |
set_resources inline |
|
void |
add_dependency inline |
|
bool |
is_generator virtual const inline |
This flag determines whether the Task will generate new sub-DAGs. |
execute
Section titled “execute”virtual
virtual void execute()Defined in src/lib/xalgospp/scheduling/task.hh:87
Reimplemented by
Section titled “Reimplemented by”locality
Section titled “locality”const inline
inline const LocalityHint & locality() constDefined in src/lib/xalgospp/scheduling/task.hh:89
set_locality
Section titled “set_locality”inline
inline void set_locality(LocalityHint hint)Defined in src/lib/xalgospp/scheduling/task.hh:91
set_locality_resolver
Section titled “set_locality_resolver”inline
inline void set_locality_resolver(std::function< LocalityHint()> resolver)Defined in src/lib/xalgospp/scheduling/task.hh:93
resources
Section titled “resources”const inline
inline const ResourceRequirements & resources() constDefined in src/lib/xalgospp/scheduling/task.hh:97
set_resources
Section titled “set_resources”inline
inline void set_resources(ResourceRequirements reqs)Defined in src/lib/xalgospp/scheduling/task.hh:99
add_dependency
Section titled “add_dependency”inline
inline void add_dependency(std::shared_ptr< Task > parent)Defined in src/lib/xalgospp/scheduling/task.hh:101
is_generator
Section titled “is_generator”virtual const inline
virtual inline bool is_generator() constDefined in src/lib/xalgospp/scheduling/task.hh:109
This flag determines whether the Task will generate new sub-DAGs.
Reimplemented by
Section titled “Reimplemented by”Private Attributes
Section titled “Private Attributes”| Return | Name | Description |
|---|---|---|
LocalityHint |
m_locality |
|
std::function< LocalityHint()> |
m_locality_resolver |
|
ResourceRequirements |
m_resources |
|
std::vector< std::shared_ptr< Task > > |
m_children |
|
std::atomic< size_t > |
m_pending_parents |
m_locality
Section titled “m_locality”LocalityHint m_localityDefined in src/lib/xalgospp/scheduling/task.hh:114
m_locality_resolver
Section titled “m_locality_resolver”std::function< LocalityHint()> m_locality_resolverDefined in src/lib/xalgospp/scheduling/task.hh:115
m_resources
Section titled “m_resources”ResourceRequirements m_resourcesDefined in src/lib/xalgospp/scheduling/task.hh:117
m_children
Section titled “m_children”std::vector< std::shared_ptr< Task > > m_childrenDefined in src/lib/xalgospp/scheduling/task.hh:119
m_pending_parents
Section titled “m_pending_parents”std::atomic< size_t > m_pending_parents { 0 }Defined in src/lib/xalgospp/scheduling/task.hh:121