Commit 3935d76c authored by Frederik Hennig's avatar Frederik Hennig
Browse files

Prepared LDC benchmark for emmy

parent 94ae6ca9
Pipeline #34171 failed with stages
in 9 minutes and 32 seconds
......@@ -491,14 +491,16 @@ void run(std::shared_ptr< Config > & config) {
totalCellsPerBlock *= sbfs->getNumberOfCellsPerBlock(i);
}
const uint_t numProcesses = uint_c( MPIManager::instance()->numProcesses() );
const uint_t ompNumThreads = uint_c(omp_get_max_threads());
const uint_t processLocalNumberOfBlocks = sbfs->getNumberOfBlocks();
const uint_t globalNumberOfBlocks = mpi::reduce(processLocalNumberOfBlocks, mpi::SUM);
const uint_t globalNumberOfBlocks = setupBfs.getNumberOfBlocks();
const real_t avgNumberOfBlocksPerProcess = real_c(globalNumberOfBlocks) / real_c(numProcesses);
const uint_t processLocalNumberOfCells = processLocalNumberOfBlocks * totalCellsPerBlock;
const uint_t globalNumberOfCells = globalNumberOfBlocks * totalCellsPerBlock;
const uint_t numProcesses = uint_c( MPIManager::instance()->numProcesses() );
const uint_t ompNumThreads = omp_get_max_threads();
const real_t avgNumberOfCellsPerProcess = avgNumberOfBlocksPerProcess * real_c(totalCellsPerBlock);
#define MLUPS (real_c(1e-6))
......@@ -545,6 +547,21 @@ void run(std::shared_ptr< Config > & config) {
resultsCallback.data().exposeValue("streamingPattern", streamingPattern);
resultsCallback.data().exposeValue("collisionSetup", collisionSetup);
resultsCallback.data().exposeValue("globalNumberOfBlocks", globalNumberOfBlocks);
resultsCallback.data().exposeValue("avgNumberOfBlocksPerProcess", avgNumberOfBlocksPerProcess);
resultsCallback.data().exposeValue("globalNumberOfCells", globalNumberOfCells);
resultsCallback.data().exposeValue("avgNumberOfCellsPerProcess", avgNumberOfCellsPerProcess);
for(uint_t l = 0; l < setupBfs.getNumberOfLevels(); ++l){
uint_t numBlocks = setupBfs.getNumberOfBlocks(l);
std::string keyTotal("globalNumberOfLevel" + std::to_string(l) + "Blocks");
resultsCallback.data().exposeValue(&keyTotal[0], numBlocks);
real_t avgNumBlocks = real_c(numBlocks) / real_c(numProcesses);
std::string keyAvg("avgNumberOfLevel" + std::to_string(l) + "BlocksPerProcess");
resultsCallback.data().exposeValue(&keyAvg[0], avgNumBlocks);
}
resultsCallback.data().exposeValue("globalMLUPs", globalMlups);
resultsCallback.data().exposeValue("localMLUPsMin", localMlupsMin);
resultsCallback.data().exposeValue("localMLUPsMax", localMlupsMax);
......
......@@ -78,9 +78,9 @@ class LdcScenario:
# MPI processes and OMP threads come by kwargs
# Environment Information
result['num_nodes'] = os.environ.get('NUM_NODES', -1)
result['virtual_cores_per_node'] = os.environ.get('CORES_PER_NODE', -1)
result['processes_per_node'] = os.environ.get('PROCESSES_PER_NODE', -1)
result['num_nodes'] = int(os.environ.get('NUM_NODES', -1))
result['virtual_cores_per_node'] = int(os.environ.get('VIRTUAL_CORES_PER_NODE', -1))
result['processes_per_node'] = int(os.environ.get('PROCESSES_PER_NODE', -1))
# Codegen Setup and Results
result.update(kwargs)
......@@ -101,9 +101,13 @@ class LdcScenario:
manager = wlb.ScenarioManager()
num_nodes = int(os.environ['NUM_NODES'])
cx = 16
bx = 4
manager.add(LdcScenario(
0.05, (64, 16, 64), (4, 1, 4), 10,
"LDC", 1,
runs=5, steps_per_run=250,
0.05, (bx*cx, bx*cx, bx*cx), (bx, bx, bx), 100,
"LDC", 3,
runs=10, steps_per_run=500,
outputFrequency=0
))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment