From b777940005636f16a4f394891c805d1504020d9a Mon Sep 17 00:00:00 2001 From: Sebastian Eibl <sebastian.eibl@fau.de> Date: Mon, 7 Sep 2020 17:28:36 +0200 Subject: [PATCH] added additional output to load balancing benchmark --- .../GranularGas/MESA_PD_LoadBalancing.cpp | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp b/apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp index 57bb2b531..f08e95f22 100644 --- a/apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp +++ b/apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp @@ -305,6 +305,22 @@ int main( int argc, char ** argv ) auto RPBytesReceived = RP.getBytesReceived(); auto RPSends = RP.getNumberOfSends(); auto RPReceives = RP.getNumberOfReceives(); + auto SNNMinSends = walberla::mpi::reduce(SNNSends, walberla::mpi::MIN); + auto SNNMaxSends = walberla::mpi::reduce(SNNSends, walberla::mpi::MAX); + WALBERLA_LOG_DEVEL_ON_ROOT( "SNN min/max communication partners: " << SNNMinSends << " / " << SNNMaxSends ); + walberla::mpi::reduceInplace(SNNBytesSent, walberla::mpi::SUM); + walberla::mpi::reduceInplace(SNNBytesReceived, walberla::mpi::SUM); + walberla::mpi::reduceInplace(SNNSends, walberla::mpi::SUM); + walberla::mpi::reduceInplace(SNNReceives, walberla::mpi::SUM); + walberla::mpi::reduceInplace(RPBytesSent, walberla::mpi::SUM); + walberla::mpi::reduceInplace(RPBytesReceived, walberla::mpi::SUM); + walberla::mpi::reduceInplace(RPSends, walberla::mpi::SUM); + walberla::mpi::reduceInplace(RPReceives, walberla::mpi::SUM); + WALBERLA_LOG_DEVEL_ON_ROOT( "SNN bytes communicated: " << SNNBytesSent << " / " << SNNBytesReceived ); + WALBERLA_LOG_DEVEL_ON_ROOT( "SNN communication partners: " << SNNSends << " / " << SNNReceives ); + WALBERLA_LOG_DEVEL_ON_ROOT( "RP bytes communicated: " << RPBytesSent << " / " << RPBytesReceived ); + WALBERLA_LOG_DEVEL_ON_ROOT( "RP communication partners: " << RPSends << " / " << RPReceives ); + int64_t imbalancedContactsChecked = 0; int64_t imbalancedContactsDetected = 0; int64_t imbalancedContactsTreated = 0; @@ -479,6 +495,9 @@ int main( int argc, char ** argv ) RPBytesReceived = RP.getBytesReceived(); RPSends = RP.getNumberOfSends(); RPReceives = RP.getNumberOfReceives(); + SNNMinSends = walberla::mpi::reduce(SNNSends, walberla::mpi::MIN); + SNNMaxSends = walberla::mpi::reduce(SNNSends, walberla::mpi::MAX); + WALBERLA_LOG_DEVEL_ON_ROOT( "SNN min/max communication partners: " << SNNMinSends << " / " << SNNMaxSends ); walberla::mpi::reduceInplace(SNNBytesSent, walberla::mpi::SUM); walberla::mpi::reduceInplace(SNNBytesReceived, walberla::mpi::SUM); walberla::mpi::reduceInplace(SNNSends, walberla::mpi::SUM); @@ -547,6 +566,10 @@ int main( int argc, char ** argv ) accessor); auto minParticles = walberla::mpi::reduce(numParticles, walberla::mpi::MIN); auto maxParticles = walberla::mpi::reduce(numParticles, walberla::mpi::MAX); + auto minGhostParticles = walberla::mpi::reduce(numGhostParticles, walberla::mpi::MIN); + auto maxGhostParticles = walberla::mpi::reduce(numGhostParticles, walberla::mpi::MAX); + auto minTotalParticles = walberla::mpi::reduce(numParticles + numGhostParticles, walberla::mpi::MIN); + auto maxTotalParticles = walberla::mpi::reduce(numParticles + numGhostParticles, walberla::mpi::MAX); WALBERLA_LOG_DEVEL_ON_ROOT("particle ratio: " << minParticles << " / " << maxParticles); walberla::mpi::reduceInplace(numParticles, walberla::mpi::SUM); walberla::mpi::reduceInplace(numGhostParticles, walberla::mpi::SUM); @@ -592,6 +615,10 @@ int main( int argc, char ** argv ) integerProperties["num_ghost_particles"] = numGhostParticles; integerProperties["minParticles"] = minParticles; integerProperties["maxParticles"] = maxParticles; + integerProperties["minGhostParticles"] = minGhostParticles; + integerProperties["maxGhostParticles"] = maxGhostParticles; + integerProperties["minTotalParticles"] = minTotalParticles; + integerProperties["maxTotalParticles"] = maxTotalParticles; integerProperties["imbalancedContactsChecked"] = imbalancedContactsChecked; integerProperties["imbalancedContactsDetected"] = imbalancedContactsDetected; integerProperties["imbalancedContactsTreated"] = imbalancedContactsTreated; @@ -605,6 +632,8 @@ int main( int argc, char ** argv ) integerProperties["SNNBytesReceived"] = SNNBytesReceived; integerProperties["SNNSends"] = SNNSends; integerProperties["SNNReceives"] = SNNReceives; + integerProperties["SNNMinSends"] = SNNMinSends; + integerProperties["SNNMaxSends"] = SNNMaxSends; integerProperties["RPBytesSent"] = RPBytesSent; integerProperties["RPBytesReceived"] = RPBytesReceived; integerProperties["RPSends"] = RPSends; -- GitLab