Peano
Loading...
Searching...
No Matches
RecursiveBipartition.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
17
18namespace toolbox {
19 namespace loadbalancing {
20 namespace strategies {
21 class RecursiveBipartition;
22 }
23 }
24}
25
26
49 public:
64
82 virtual void finishStep() override;
83
89 virtual std::string toString() const override;
90
91 private:
93
100
117 void triggerSplit( int sourceTree, int numberOfCells, int targetRank );
118
159
167};
168
169
170
Log Device.
Definition Log.h:517
Abstract superclass of any load balancing.
Abstract interface to tweak the behaviour of the recursive subdivision.
Cost metrics based solely on cell counts.
Definition CellCount.h:23
Recursive load balancing micking the behaviour of the guided partitioning in OpenMP.
virtual void finishStep() override
Triggers actual load balancing data exchange, triggers rebalancing, and dumps statistics.
RecursiveBipartition(Configuration *configuration=new DefaultConfiguration(), CostMetrics *costMetrics=new toolbox::loadbalancing::metrics::CellCount())
Set up recursive subdivision.
virtual std::string toString() const override
I need the stats here mainly for debugging purposes.
void triggerSplit(int sourceTree, int numberOfCells, int targetRank)
Wrapper around the spacetree set which also updates the blacklist.
int _roundRobinToken
If it equals the rank, then we are allowed to do something.
void updateLoadBalancing()
Core actions where we take the action and translate it into action - what a pun.