Peano
Loading...
Searching...
No Matches
toolbox::loadbalancing::strategies::NoLoadBalancing Class Reference

No load balancing. More...

#include <NoLoadBalancing.h>

Inheritance diagram for toolbox::loadbalancing::strategies::NoLoadBalancing:
Collaboration diagram for toolbox::loadbalancing::strategies::NoLoadBalancing:

Public Member Functions

 NoLoadBalancing ()
 Delegate to other constructor with nullptr arguments, as configuration does not matter anyway.
 
 NoLoadBalancing (Configuration *configuration, CostMetrics *costMetrics)
 Only there to be compatible with other classes.
 
virtual ~NoLoadBalancing ()=default
 
virtual void finishStep () override
 Finish a mesh sweep.
 
virtual void enable (bool value) override
 You cannot enable the no load balancing.
 
- Public Member Functions inherited from toolbox::loadbalancing::AbstractLoadBalancing
 AbstractLoadBalancing (Configuration *configuration, CostMetrics *costMetrics)
 Constructor.
 
virtual ~AbstractLoadBalancing ()
 Destructor.
 
virtual std::string toString () const
 Create a string representation of load balancing object.
 
virtual bool hasSplitRecently () const
 Has mesh split recently.
 
bool isEnabled (bool globally) const
 Is load balancing enabled.
 
virtual int getGlobalNumberOfTrees () const
 Delegate to stats.
 
virtual bool hasStagnated () const
 A load balancing can either be stagnating or be switched off for this predicate to hold.
 
virtual void finishSimulation ()
 
void setConfigurationAndMetricsNullWithoutDelete ()
 This is only used when you concatenate balancing rules and you want to disable any deletion.
 

Additional Inherited Members

- Static Public Attributes inherited from toolbox::loadbalancing::AbstractLoadBalancing
static constexpr int NoHeaviestTreeAvailable = -1
 Is used by tree identification and either indicates that there are no trees at all or means that the heaviest tree is on the blacklist.
 
static constexpr int NumberOfMeshSweepsAfterSplitToMakeMeshConsistentAgain = 3
 Number of mesh sweeps a split needs until the mesh is consistent again.
 
- Protected Member Functions inherited from toolbox::loadbalancing::AbstractLoadBalancing
bool fitsIntoMemory (State state) const
 Ensure enough memory is left-over.
 
bool isInterRankBalancingBad () const
 Is the balancing between the ranks ok.
 
bool isIntraRankBalancingBad () const
 Is the balancing on the rank ok.
 
bool areRanksUnemployed () const
 
double getWeightOfHeaviestLocalSpacetree () const
 
int getIdOfHeaviestLocalSpacetree () const
 Determines the maximum spacetree size a tree should have in the optimal case.
 
int getIdOfHeaviestLocalSpacetree (double tolerance) const
 Similar to getIdOfHeaviestLocalSpacetree() but you might get one of the trees back that is close to the heaviest one up to tolerance.
 
- Protected Attributes inherited from toolbox::loadbalancing::AbstractLoadBalancing
Blacklist _blacklist
 
Statistics _statistics
 
Configuration * _configuration
 
CostMetrics * _costMetrics
 
State _state
 Ensure that you invoke.
 
- Static Protected Attributes inherited from toolbox::loadbalancing::AbstractLoadBalancing
static tarch::logging::Log _log
 

Detailed Description

No load balancing.

A dummy that you can use if you wanna have a class around with a proper load balancing signature.

Definition at line 26 of file NoLoadBalancing.h.

Constructor & Destructor Documentation

◆ NoLoadBalancing() [1/2]

toolbox::loadbalancing::strategies::NoLoadBalancing::NoLoadBalancing ( )

Delegate to other constructor with nullptr arguments, as configuration does not matter anyway.

◆ NoLoadBalancing() [2/2]

toolbox::loadbalancing::strategies::NoLoadBalancing::NoLoadBalancing ( Configuration *  configuration,
CostMetrics *  costMetrics 
)

Only there to be compatible with other classes.

The important detail here is that the load balancing is switched off right from the start.

◆ ~NoLoadBalancing()

virtual toolbox::loadbalancing::strategies::NoLoadBalancing::~NoLoadBalancing ( )
virtualdefault

Member Function Documentation

◆ enable()

virtual void toolbox::loadbalancing::strategies::NoLoadBalancing::enable ( bool  value)
overridevirtual

You cannot enable the no load balancing.

This routine therefore sets value to false and calls the superclass.

Reimplemented from toolbox::loadbalancing::AbstractLoadBalancing.

◆ finishStep()

virtual void toolbox::loadbalancing::strategies::NoLoadBalancing::finishStep ( )
overridevirtual

Finish a mesh sweep.

This

Implements toolbox::loadbalancing::AbstractLoadBalancing.


The documentation for this class was generated from the following file: