|
MADNESS 0.10.1
|
U can implement a custom partitioner by deriving from MacroTaskPartitioner. More...


Public Member Functions | |
| CustomPartitioner () | |
| partitionT | do_partitioning (const std::size_t &vsize1, const std::size_t &vsize2, const std::string policy) const override |
| reimplementation of the partitioning method | |
| Public Member Functions inherited from madness::MacroTaskPartitioner | |
| MacroTaskPartitioner () | |
| virtual | ~MacroTaskPartitioner () |
| virtual double | compute_priority (const Batch &batch) const |
| simple default priority function: size of the input batch | |
| partitionT | do_1d_partition (const std::size_t vsize, const std::string policy) const |
| partitionT | do_2d_partition (const std::size_t vsize, const std::size_t v2size, const std::string policy) const |
| outer product of 2 1d-partitionings – result batches correspond to first input batches | |
| template<typename tupleT> | |
| partitionT | partition_tasks (const tupleT &argtuple) const |
| this will be called by MacroTask, it will always partition first (and possibly second) vector of arguments | |
| MacroTaskPartitioner & | set_dimension (const std::size_t &n) |
| MacroTaskPartitioner & | set_max_batch_size (const long &n) |
| MacroTaskPartitioner & | set_min_batch_size (const long &n) |
| MacroTaskPartitioner & | set_nsubworld (const long &n) |
| MacroTaskPartitioner & | set_policy (const std::string &n) |
Additional Inherited Members | |
| Public Types inherited from madness::MacroTaskPartitioner | |
| typedef std::list< std::pair< Batch, double > > | partitionT |
| Static Public Member Functions inherited from madness::MacroTaskPartitioner | |
| template<typename argtupleT> | |
| static void | recompute_priorities (partitionT &partition, const argtupleT &argtuple, const std::function< double(const Batch &batch, const argtupleT &)> &predicate) |
| the task can provide a priority function, otherwise the default is used | |
| Public Attributes inherited from madness::MacroTaskPartitioner | |
| std::size_t | dimension = 1 |
| partition one or two vectors | |
| std::size_t | max_batch_size = 10 |
| maximum batch size (for memory management) | |
| std::size_t | min_batch_size =5 |
| minimum batch size | |
| std::size_t | nsubworld =1 |
| number of worlds (try to have enough batches for all worlds) | |
| std::string | policy = "guided" |
| how to partition the batches | |
U can implement a custom partitioner by deriving from MacroTaskPartitioner.
|
inline |
References madness::MacroTaskPartitioner::set_dimension().
|
inlineoverridevirtual |
reimplementation of the partitioning method
Reimplemented from madness::MacroTaskPartitioner.
References madness::MacroTaskPartitioner::Batch, madness::MacroTaskOperationBase::batch, p(), and madness::MacroTaskPartitioner::policy.