MADNESS 0.10.1
MicroTaskPriority Class Reference

sample task with a custom priority More...

Inheritance diagram for MicroTaskPriority:
Collaboration diagram for MicroTaskPriority:

Public Types

typedef std::tuple< const real_function_3d &, const double &, const std::vector< real_function_3d > & > argtupleT
typedef real_function_3d resultT

Public Member Functions

 MicroTaskPriority ()
resultT allocator (World &world, const argtupleT &argtuple) const
double compute_priority (const Batch &batch, const argtupleT &argtuple) const
 compute the priority for a given batch
resultT operator() (const real_function_3d &f1, const double &arg2, const std::vector< real_function_3d > &f2) const
Public Member Functions inherited from madness::MacroTaskOperationBase
 MacroTaskOperationBase ()
 MacroTaskOperationBase (const std::string name)
virtual ~MacroTaskOperationBase ()
virtual bool accumulates_own_output () const
virtual void cleanup ()
 release whatever the task kept across its batches, called once the queue has run
virtual bool handles_own_data_movement () const
 true if the task moves its operand coefficients into the subworld itself
virtual long owner_hint (const Batch &, const long) const
 which subworld should run this batch; -1 leaves the choice to the queue

Additional Inherited Members

Public Attributes inherited from madness::MacroTaskOperationBase
Batch batch
Cloud * cloud_ptr =0
std::string name ="unknown_task"
std::shared_ptr< MacroTaskPartitioner > partitioner =0
World * subworld_ptr =0

Detailed Description

sample task with a custom priority

Member Typedef Documentation

◆ argtupleT

typedef std::tuple<const real_function_3d &, const double &, const std::vector<real_function_3d> &> MicroTaskPriority::argtupleT

◆ resultT

Constructor & Destructor Documentation

◆ MicroTaskPriority()

MicroTaskPriority::MicroTaskPriority ( )
inline

Member Function Documentation

◆ allocator()

resultT MicroTaskPriority::allocator ( World & world,
const argtupleT & argtuple ) const
inline

◆ compute_priority()

double MicroTaskPriority::compute_priority ( const Batch & batch,
const argtupleT & argtuple ) const
inline

compute the priority for a given batch

References madness::MacroTaskOperationBase::batch.

◆ operator()()

resultT MicroTaskPriority::operator() ( const real_function_3d & f1,
const double & arg2,
const std::vector< real_function_3d > & f2 ) const
inline

References f1, f2, and madness::inner().


The documentation for this class was generated from the following file: