Skip to content

Task

#include <xalgospp/scheduling/task.hh>
class Task

Defined 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.

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
Name Description
DagScheduler

friend class DagScheduler

Defined in src/lib/xalgospp/scheduling/task.hh:112

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.

virtual

virtual void execute()

Defined in src/lib/xalgospp/scheduling/task.hh:87


const inline

inline const LocalityHint & locality() const

Defined in src/lib/xalgospp/scheduling/task.hh:89


inline

inline void set_locality(LocalityHint hint)

Defined in src/lib/xalgospp/scheduling/task.hh:91


inline

inline void set_locality_resolver(std::function< LocalityHint()> resolver)

Defined in src/lib/xalgospp/scheduling/task.hh:93


const inline

inline const ResourceRequirements & resources() const

Defined in src/lib/xalgospp/scheduling/task.hh:97


inline

inline void set_resources(ResourceRequirements reqs)

Defined in src/lib/xalgospp/scheduling/task.hh:99


inline

inline void add_dependency(std::shared_ptr< Task > parent)

Defined in src/lib/xalgospp/scheduling/task.hh:101


virtual const inline

virtual inline bool is_generator() const

Defined in src/lib/xalgospp/scheduling/task.hh:109

This flag determines whether the Task will generate new sub-DAGs.

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

LocalityHint m_locality

Defined in src/lib/xalgospp/scheduling/task.hh:114


std::function< LocalityHint()> m_locality_resolver

Defined in src/lib/xalgospp/scheduling/task.hh:115


ResourceRequirements m_resources

Defined in src/lib/xalgospp/scheduling/task.hh:117


std::vector< std::shared_ptr< Task > > m_children

Defined in src/lib/xalgospp/scheduling/task.hh:119


std::atomic< size_t > m_pending_parents { 0 }

Defined in src/lib/xalgospp/scheduling/task.hh:121