1#ifndef included_AMP_loadBalanceSimulator
2#define included_AMP_loadBalanceSimulator
4#include "AMP/utils/Database.h"
44 const std::string &name =
"" );
90 void print( uint8_t detail = 0, uint8_t indent = 0 );
Class used to contain simulated mesh load.
void print(uint8_t detail=0, uint8_t indent=0)
Print the mesh hierarchy.
std::vector< int > getRanks() const
Function to get the ranks for the mesh.
int getMeshCount() const
Return the number of base meshes.
double getCost() const
Function to get the total cost.
int maxProcs() const
Function to change the ranks.
loadBalanceSimulator(double cost, int maxProc=0, const std::string &name="")
Default constructor.
const auto & getSubmeshes() const
Return the submeshes.
loadBalanceSimulator(std::shared_ptr< const AMP::Database > params)
Default constructor.
void loadBalance(int, std::vector< int > &N)
void copyRanks(const loadBalanceSimulator &x, int offset)
void setRanks(int begin, int end)
std::vector< loadBalanceSimulator > d_submeshes
loadBalanceSimulator(const std::vector< loadBalanceSimulator > &meshes, int method=2, const std::string &name="")
Default constructor.
size_t getMethod() const
Function to get the current ranks in the load balance.
void setProcs(int N_ranks)
Function to change the ranks.
std::vector< int > getRanks(int i) const
Function to get the ranks for the ith submesh.
std::vector< double > getRankCost() const
Get the cost per rank ( # of elements * relative weight )
int nRanks() const
Return the number of assigned ranks.
loadBalanceSimulator()
Empty constructor.
void addRankCost(std::vector< double > &cost) const