Peano
Loading...
Searching...
No Matches
SpreadOut.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
10
11#include <map>
12
14
16
17namespace toolbox {
18 namespace loadbalancing {
19 namespace strategies {
20 class SpreadOut;
21 }
22 }
23}
24
25
26
27
28
45 public:
47 Configuration* configuration = new DefaultConfiguration(),
49 );
50 virtual ~SpreadOut();
51
52 virtual void finishStep() override;
53
54 private:
56
59
64 int getNumberOfTreesPerRank() const;
65
67
68 void triggerSplit( int numberOfCells, int targetRank );
69};
70
Log Device.
Definition Log.h:516
Abstract interface to tweak the behaviour of the recursive subdivision.
Cost metrics based solely on cell counts.
Definition CellCount.h:23
void triggerSplit(int numberOfCells, int targetRank)
virtual void finishStep() override
Finish the step.
SpreadOut(Configuration *configuration=new DefaultConfiguration(), CostMetrics *costMetrics=new toolbox::loadbalancing::metrics::CellCount())
Definition SpreadOut.cpp:12
int getNumberOfTreesPerRank() const
Return 0 if the load balancing should not split (yet) and otherwise return number of splits required.
Definition SpreadOut.cpp:26