|
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) |
|