Peano
Loading...
Searching...
No Matches
Configuration.h
Go to the documentation of this file.
1
// This file is part of the Peano project. For conditions of distribution and
2
// use, please see the copyright notice at www.peano-framework.org
3
#pragma once
4
5
6
#include "
State.h
"
7
#include "
peano4/grid/grid.h
"
8
9
10
namespace
toolbox
{
11
namespace
loadbalancing {
12
class
Configuration;
13
class
DefaultConfiguration;
14
}
15
}
16
17
28
class
toolbox::loadbalancing::Configuration
{
29
public
:
30
virtual
~Configuration
() =
default
;
31
37
virtual
bool
makeSplitDependOnMemory
(
State
state
) = 0;
38
48
virtual
int
getMaxLocalTreesPerRank
(
State
state
) = 0;
49
53
virtual
double
getWorstCaseBalancingRatio
(
State
state
) = 0;
54
55
virtual
peano4::SplitInstruction::Mode
getMode
(
State
state
) = 0;
56
60
virtual
int
getMinTreeSize
(
State
state
) = 0;
61
62
virtual
std::string
toString
()
const
;
63
};
64
65
66
class
toolbox::loadbalancing::DefaultConfiguration
:
public
toolbox::loadbalancing::Configuration
{
67
private
:
68
const
int
_maxTreesPerRank
;
69
public
:
76
DefaultConfiguration
(
int
maxTreesPerRank=0);
77
78
virtual
bool
makeSplitDependOnMemory
(
State
state
)
override
;
79
80
virtual
int
getMaxLocalTreesPerRank
(
State
state
)
override
;
81
82
virtual
double
getWorstCaseBalancingRatio
(
State
state
)
override
;
83
84
virtual
int
getMinTreeSize
(
State
state
)
override
;
85
86
virtual
peano4::SplitInstruction::Mode
getMode
(
State
state
)
override
;
87
};
state
AutomatonState state
Definition
GridTraversalEventGeneratorTest.cpp:146
State.h
toolbox::loadbalancing::Configuration
Abstract interface to tweak the behaviour of the recursive subdivision.
Definition
Configuration.h:28
toolbox::loadbalancing::Configuration::~Configuration
virtual ~Configuration()=default
toolbox::loadbalancing::Configuration::getMode
virtual peano4::SplitInstruction::Mode getMode(State state)=0
toolbox::loadbalancing::Configuration::toString
virtual std::string toString() const
Definition
Configuration.cpp:5
toolbox::loadbalancing::Configuration::getMaxLocalTreesPerRank
virtual int getMaxLocalTreesPerRank(State state)=0
Constraint on the number of trees per rank.
toolbox::loadbalancing::Configuration::getWorstCaseBalancingRatio
virtual double getWorstCaseBalancingRatio(State state)=0
Control when to balance between ranks.
toolbox::loadbalancing::Configuration::getMinTreeSize
virtual int getMinTreeSize(State state)=0
Minimum tree size.
toolbox::loadbalancing::Configuration::makeSplitDependOnMemory
virtual bool makeSplitDependOnMemory(State state)=0
Use the operating system's memory queries to get the memory out and to veto too many local splits.
toolbox::loadbalancing::DefaultConfiguration
Definition
Configuration.h:66
toolbox::loadbalancing::DefaultConfiguration::getMaxLocalTreesPerRank
virtual int getMaxLocalTreesPerRank(State state) override
Constraint on the number of trees per rank.
Definition
Configuration.cpp:18
toolbox::loadbalancing::DefaultConfiguration::makeSplitDependOnMemory
virtual bool makeSplitDependOnMemory(State state) override
Use the operating system's memory queries to get the memory out and to veto too many local splits.
Definition
Configuration.cpp:14
toolbox::loadbalancing::DefaultConfiguration::DefaultConfiguration
DefaultConfiguration(int maxTreesPerRank=0)
Create default configuration.
Definition
Configuration.cpp:10
toolbox::loadbalancing::DefaultConfiguration::getMode
virtual peano4::SplitInstruction::Mode getMode(State state) override
Definition
Configuration.cpp:30
toolbox::loadbalancing::DefaultConfiguration::getMinTreeSize
virtual int getMinTreeSize(State state) override
Minimum tree size.
Definition
Configuration.cpp:26
toolbox::loadbalancing::DefaultConfiguration::_maxTreesPerRank
const int _maxTreesPerRank
Definition
Configuration.h:68
toolbox::loadbalancing::DefaultConfiguration::getWorstCaseBalancingRatio
virtual double getWorstCaseBalancingRatio(State state) override
Control when to balance between ranks.
Definition
Configuration.cpp:22
toolbox::loadbalancing::State
State
State descriptor of load balancing.
Definition
State.h:22
toolbox
Definition
InterpolationRestriction.h:10
grid.h
peano4::SplitInstruction::Mode
Mode
Definition
grid.h:35
src
toolbox
loadbalancing
Configuration.h
Generated on Fri Apr 11 2025 10:18:14 for Peano by
1.10.0