11 class LoadBalancingConfiguration;
77 double loadBalancingQuality=0.9,
78 int minSizeOfTree = 0,
79 bool assumePeriodicBoundaryConditions =
false,
ExaHyPE 2-specific load balancing configuration.
virtual ~LoadBalancingConfiguration()=default
static constexpr int UseTwiceTheNumberOfThreads
virtual int getMaxLocalTreesPerRank(toolbox::loadbalancing::State state) override
Constraint on the number of trees per rank.
const peano4::SplitInstruction::Mode _mode
virtual int getMinTreeSize(toolbox::loadbalancing::State state) override
If we do the initial distribution in-between ranks, then there should be no such thing as a min tree ...
int translateSetMaxNumberOfTreesIntoRealNumberOfTrees(int value) const
Return how many trees to use if value is picked by user.
virtual peano4::SplitInstruction::Mode getMode(toolbox::loadbalancing::State state) override
static tarch::logging::Log _log
const int _maxNumberOfTreesThroughoutInitialDistribution
const bool _assumePeriodicBoundaryConditions
const double _loadBalancingQuality
const int _maxNumberOfTrees
static constexpr int UseNumberOfThreads
virtual std::string toString() const override
virtual bool makeSplitDependOnMemory(toolbox::loadbalancing::State state) override
Use the operating system's memory queries to get the memory out and to veto too many local splits.
LoadBalancingConfiguration(double loadBalancingQuality=0.9, int minSizeOfTree=0, bool assumePeriodicBoundaryConditions=false, int maxNumberOfTreesThroughoutInitialDistribution=UseNumberOfThreads, int maxNumberOfTrees=UseTwiceTheNumberOfThreads, peano4::SplitInstruction::Mode mode=peano4::SplitInstruction::Mode::BottomUp)
Configure load balancing.
virtual double getWorstCaseBalancingRatio(toolbox::loadbalancing::State state) override
Control when to balance between ranks.
This file is part of the multigrid project within Peano 4.