Peano
Loading...
Searching...
No Matches
SpreadOutOnceGridStagnates.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
7
#include "
tarch/logging/Log.h
"
8
9
#include "
peano4/parallel/Node.h
"
10
11
#include <map>
12
13
#include "
toolbox/loadbalancing/AbstractLoadBalancing.h
"
14
15
#include "
toolbox/loadbalancing/metrics/CellCount.h
"
16
17
18
namespace
toolbox
{
19
namespace
loadbalancing {
20
namespace
strategies {
21
class
SpreadOutOnceGridStagnates;
22
}
23
}
24
}
25
26
27
28
29
45
class
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates
:
public
toolbox::loadbalancing::AbstractLoadBalancing
{
46
public
:
47
SpreadOutOnceGridStagnates
(
Configuration
* configuration =
new
DefaultConfiguration
(),
CostMetrics
* costMetrics =
new
toolbox::loadbalancing::metrics::CellCount
() );
48
virtual
~SpreadOutOnceGridStagnates
()
override
=
default
;
49
50
virtual
void
finishStep
()
override
;
51
private
:
52
static
tarch::logging::Log
_log
;
53
54
int
_previousNumberOfCells
;
55
int
_numberOfStableGridIterations
;
56
61
int
getNumberOfTreesPerRank
()
const
;
62
63
void
updateLoadBalancing
();
64
65
void
triggerSplit
(
int
numberOfCells,
int
targetRank );
66
};
67
AbstractLoadBalancing.h
CellCount.h
Log.h
Node.h
tarch::logging::Log
Log Device.
Definition
Log.h:516
toolbox::loadbalancing::AbstractLoadBalancing
Definition
AbstractLoadBalancing.h:24
toolbox::loadbalancing::Configuration
Abstract interface to tweak the behaviour of the recursive subdivision.
Definition
Configuration.h:28
toolbox::loadbalancing::CostMetrics
Abstract cost metric.
Definition
CostMetrics.h:32
toolbox::loadbalancing::DefaultConfiguration
Definition
Configuration.h:66
toolbox::loadbalancing::metrics::CellCount
Cost metrics based solely on cell counts.
Definition
CellCount.h:23
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates
Spread out.
Definition
SpreadOutOnceGridStagnates.h:45
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::~SpreadOutOnceGridStagnates
virtual ~SpreadOutOnceGridStagnates() override=default
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::SpreadOutOnceGridStagnates
SpreadOutOnceGridStagnates(Configuration *configuration=new DefaultConfiguration(), CostMetrics *costMetrics=new toolbox::loadbalancing::metrics::CellCount())
Definition
SpreadOutOnceGridStagnates.cpp:13
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::getNumberOfTreesPerRank
int getNumberOfTreesPerRank() const
Return 0 if the load balancing should not split (yet) and otherwise return number of splits required.
Definition
SpreadOutOnceGridStagnates.cpp:23
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::_previousNumberOfCells
int _previousNumberOfCells
Definition
SpreadOutOnceGridStagnates.h:54
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::_numberOfStableGridIterations
int _numberOfStableGridIterations
Definition
SpreadOutOnceGridStagnates.h:55
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::_log
static tarch::logging::Log _log
Definition
SpreadOutOnceGridStagnates.h:52
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::updateLoadBalancing
void updateLoadBalancing()
Definition
SpreadOutOnceGridStagnates.cpp:70
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::triggerSplit
void triggerSplit(int numberOfCells, int targetRank)
Definition
SpreadOutOnceGridStagnates.cpp:144
toolbox::loadbalancing::strategies::SpreadOutOnceGridStagnates::finishStep
virtual void finishStep() override
Finish the step.
Definition
SpreadOutOnceGridStagnates.cpp:132
toolbox
Definition
InterpolationRestriction.h:10
src
toolbox
loadbalancing
strategies
SpreadOutOnceGridStagnates.h
Generated on Fri Apr 11 2025 10:18:15 for Peano by
1.10.0