diff --git a/tests/core/CMakeLists.txt b/tests/core/CMakeLists.txt index 80ddaa4eff394f0be9230ac34bd96eb415c1dc5d..f81f11461e80d525317c9d909b4ecad08372fd0e 100644 --- a/tests/core/CMakeLists.txt +++ b/tests/core/CMakeLists.txt @@ -142,7 +142,7 @@ waLBerla_execute_test( NAME SetReductionTest27 COMMAND $<TARGET_FILE:SetReductio -waLBerla_compile_test( FILES mpi/ProbeVsExtraMessage.cpp ) +waLBerla_compile_test( FILES mpi/ProbeVsExtraMessage.cpp DEPENDS postprocessing) ############## diff --git a/tests/core/mpi/ProbeVsExtraMessage.cpp b/tests/core/mpi/ProbeVsExtraMessage.cpp index 52dca3b0229f6f4b3ff8ac8ea5393ebdf6f17853..d05f2c8750b6d6e6fe9895912a590d1774b63c51 100644 --- a/tests/core/mpi/ProbeVsExtraMessage.cpp +++ b/tests/core/mpi/ProbeVsExtraMessage.cpp @@ -25,6 +25,7 @@ #include "core/mpi/MPIManager.h" #include "core/math/Random.h" #include "core/timing/TimingPool.h" +#include "postprocessing/sqlite/SQLite.h" #include <iostream> #include <sstream> @@ -166,7 +167,7 @@ int main( int argc, char ** argv ) using namespace std; WALBERLA_ROOT_SECTION() { - if ( argc != 3 ) { + if ( argc != 3 && argc != 4 ) { cerr << "Wrong number of arguments " << endl; cerr << "Usage ./probeVsExtraMessage <iterations> <messageSize> " << endl; } @@ -185,9 +186,25 @@ int main( int argc, char ** argv ) twoMessageVersion ( iterations, messageSize, tp ); maxMessageSizeVersion ( iterations, messageSize, tp ); + + WALBERLA_ROOT_SECTION() { cout << tp << endl; } + if( argc == 4) { + + const auto reducedTimeloopTiming = tp.getReduced(); + WALBERLA_ROOT_SECTION() { + std::string dbFile( argv[3] ); + std::map<std::string, walberla::int64_t> integerProperties; + integerProperties["iterations"] = int64_c(iterations); + integerProperties["messageSize"] = int64_c(messageSize); + integerProperties["processes"] = int64_c(mpi::MPIManager::instance()->numProcesses()); + postprocessing::SQLiteDB db( dbFile ); + auto runid = db.storeRun( integerProperties, std::map<std::string, std::string>(), std::map<string, double>()); + db.storeTimingPool( runid, *reducedTimeloopTiming, "timings" ); + } + } return 0; }