#include <GlobalLoadBalancing.h>
|
| template<typename BLOCK> |
| static uint_t | balance (const std::vector< BLOCK * > &blocks, const uint_t sfcIterations, const memory_t memoryLimit, const MetisConfiguration< BLOCK > &metisConfig, const memory_t avgMemoryUtilization) |
| template<typename BLOCK> |
| static uint_t | balanceSorted (const std::vector< BLOCK * > &blocks, const uint_t sfcIterations, const memory_t memoryLimit, const MetisConfiguration< BLOCK > &metisConfig, const memory_t avgMemoryUtilization) |
| template<typename BLOCK> |
| static uint_t | balance (const std::vector< BLOCK * > &blocks, const uint_t sfcIterations, const memory_t memoryLimit, const MetisConfiguration< BLOCK > &metisConfig, const uint_t numberOfProcesses) |
| template<typename BLOCK> |
| static uint_t | balanceSorted (const std::vector< BLOCK * > &blocks, const uint_t sfcIterations, const memory_t memoryLimit, const MetisConfiguration< BLOCK > &metisConfig, const uint_t numberOfProcesses) |
| template<typename BLOCK> |
| static uint_t | minimizeProcesses (const std::vector< BLOCK * > &blocks, const memory_t memoryLimit, const MetisConfiguration< BLOCK > &metisConfig, const std::vector< workload_t > *processesWork=nullptr, const std::vector< memory_t > *processesMemory=nullptr) |
| template<typename BLOCK> |
| static uint_t | maximizeMemoryUtilization (const std::vector< BLOCK * > &blocks, const memory_t memoryLimit, const MetisConfiguration< BLOCK > &metisConfig, const std::vector< workload_t > *processesWork=nullptr, const std::vector< memory_t > *processesMemory=nullptr) |
| template<typename BLOCK> |
| static uint_t | optimizeWorkload (const std::vector< BLOCK * > &blocks, const uint_t sfcIterations, const memory_t memoryLimit, const MetisConfiguration< BLOCK > &metisConfig, const real_t workloadWeighting, const bool sortByLevel=false, const uint_t samples=10) |
| template<typename BLOCK> |
| static void | prepareProcessReordering (const std::vector< BLOCK * > &blocks, std::vector< std::vector< uint_t > > &processNeighbors) |
| template<typename BLOCK> |
| static void | reorderProcessesByBFS (std::vector< BLOCK * > &blocks, const std::vector< std::vector< uint_t > > &processNeighbors) |
|
| template<typename BLOCK> |
| static uint_t | fixedWork (const std::vector< BLOCK * > &blocks, const workload_t workloadLimit, const memory_t memoryLimit, const std::vector< workload_t > *processesWork=nullptr, const std::vector< memory_t > *processesMemory=nullptr) |
| template<typename BLOCK> |
| static void | checkForBetterWorkloadDistributation (const std::vector< BLOCK * > &blocks, const uint_t numberOfProcesses, const real_t sumWorkload, const real_t memoryUtilization, const real_t workloadWeighting, const real_t memoryWeighting, real_t &bestWeightedValue, std::vector< uint_t > &bestProcessMapping, uint_t &bestNumberOfProcesses) |
◆ balance() [1/2]
template<typename BLOCK>
| uint_t walberla::blockforest::GlobalLoadBalancing::balance |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const uint_t | sfcIterations, |
|
|
const memory_t | memoryLimit, |
|
|
const MetisConfiguration< BLOCK > & | metisConfig, |
|
|
const memory_t | avgMemoryUtilization ) |
|
inlinestatic |
◆ balance() [2/2]
template<typename BLOCK>
| uint_t walberla::blockforest::GlobalLoadBalancing::balance |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const uint_t | sfcIterations, |
|
|
const memory_t | memoryLimit, |
|
|
const MetisConfiguration< BLOCK > & | metisConfig, |
|
|
const uint_t | numberOfProcesses ) |
|
static |
◆ balanceSorted() [1/2]
template<typename BLOCK>
| uint_t walberla::blockforest::GlobalLoadBalancing::balanceSorted |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const uint_t | sfcIterations, |
|
|
const memory_t | memoryLimit, |
|
|
const MetisConfiguration< BLOCK > & | metisConfig, |
|
|
const memory_t | avgMemoryUtilization ) |
|
inlinestatic |
◆ balanceSorted() [2/2]
template<typename BLOCK>
| uint_t walberla::blockforest::GlobalLoadBalancing::balanceSorted |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const uint_t | sfcIterations, |
|
|
const memory_t | memoryLimit, |
|
|
const MetisConfiguration< BLOCK > & | metisConfig, |
|
|
const uint_t | numberOfProcesses ) |
|
static |
◆ checkForBetterWorkloadDistributation()
template<typename BLOCK>
| void walberla::blockforest::GlobalLoadBalancing::checkForBetterWorkloadDistributation |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const uint_t | numberOfProcesses, |
|
|
const real_t | sumWorkload, |
|
|
const real_t | memoryUtilization, |
|
|
const real_t | workloadWeighting, |
|
|
const real_t | memoryWeighting, |
|
|
real_t & | bestWeightedValue, |
|
|
std::vector< uint_t > & | bestProcessMapping, |
|
|
uint_t & | bestNumberOfProcesses ) |
|
staticprivate |
◆ fixedWork()
template<typename BLOCK>
| uint_t walberla::blockforest::GlobalLoadBalancing::fixedWork |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const workload_t | workloadLimit, |
|
|
const memory_t | memoryLimit, |
|
|
const std::vector< workload_t > * | processesWork = nullptr, |
|
|
const std::vector< memory_t > * | processesMemory = nullptr ) |
|
staticprivate |
◆ maximizeMemoryUtilization()
template<typename BLOCK>
| uint_t walberla::blockforest::GlobalLoadBalancing::maximizeMemoryUtilization |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const memory_t | memoryLimit, |
|
|
const MetisConfiguration< BLOCK > & | metisConfig, |
|
|
const std::vector< workload_t > * | processesWork = nullptr, |
|
|
const std::vector< memory_t > * | processesMemory = nullptr ) |
|
inlinestatic |
◆ minimizeProcesses()
template<typename BLOCK>
| uint_t walberla::blockforest::GlobalLoadBalancing::minimizeProcesses |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const memory_t | memoryLimit, |
|
|
const MetisConfiguration< BLOCK > & | metisConfig, |
|
|
const std::vector< workload_t > * | processesWork = nullptr, |
|
|
const std::vector< memory_t > * | processesMemory = nullptr ) |
|
inlinestatic |
◆ optimizeWorkload()
template<typename BLOCK>
| uint_t walberla::blockforest::GlobalLoadBalancing::optimizeWorkload |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
const uint_t | sfcIterations, |
|
|
const memory_t | memoryLimit, |
|
|
const MetisConfiguration< BLOCK > & | metisConfig, |
|
|
const real_t | workloadWeighting, |
|
|
const bool | sortByLevel = false, |
|
|
const uint_t | samples = 10 ) |
|
static |
◆ prepareProcessReordering()
template<typename BLOCK>
| void walberla::blockforest::GlobalLoadBalancing::prepareProcessReordering |
( |
const std::vector< BLOCK * > & | blocks, |
|
|
std::vector< std::vector< uint_t > > & | processNeighbors ) |
|
static |
◆ reorderProcessesByBFS()
template<typename BLOCK>
| void walberla::blockforest::GlobalLoadBalancing::reorderProcessesByBFS |
( |
std::vector< BLOCK * > & | blocks, |
|
|
const std::vector< std::vector< uint_t > > & | processNeighbors ) |
|
static |
The documentation for this class was generated from the following file: