MADNESS 0.10.1
MicroTaskPartitioner Class Reference

sample task with a custom partitioner More...

Inheritance diagram for MicroTaskPartitioner:
Collaboration diagram for MicroTaskPartitioner:

Classes

class  CustomPartitioner
 U can implement a custom partitioner by deriving from MacroTaskPartitioner. More...

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

 MicroTaskPartitioner ()
 reset the default partitioner to the custom one
resultT allocator (World &world, const argtupleT &argtuple) const
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 partitioner

Member Typedef Documentation

◆ argtupleT

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

◆ resultT

Constructor & Destructor Documentation

◆ MicroTaskPartitioner()

MicroTaskPartitioner::MicroTaskPartitioner ( )
inline

reset the default partitioner to the custom one

References madness::MacroTaskOperationBase::partitioner.

Member Function Documentation

◆ allocator()

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

◆ operator()()

resultT MicroTaskPartitioner::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: