diff --git a/analysis/runAnalysis.cpp b/analysis/runAnalysis.cpp index 9c811752..c09b71c2 100644 --- a/analysis/runAnalysis.cpp +++ b/analysis/runAnalysis.cpp @@ -676,9 +676,8 @@ void runAnalysis::createThreads( const std::string& method, int N_threads ) if ( method == "none" ) return; // Check if we have thread support - int thread_support; - MPI_Query_thread( &thread_support ); - if ( thread_support < MPI_THREAD_MULTIPLE && N_threads > 0 ) + auto thread_support = Utilities::MPI::queryThreadSupport(); + if ( thread_support != Utilities::MPI::ThreadSupport::MULTIPLE && N_threads > 0 ) std::cerr << "Warning: Failed to start MPI with necessary thread support, errors may occur\n"; // Create the threads const auto cores = d_tpool.getProcessAffinity(); diff --git a/tests/BlobAnalyzeParallel.cpp b/tests/BlobAnalyzeParallel.cpp index 773309f9..2889844e 100644 --- a/tests/BlobAnalyzeParallel.cpp +++ b/tests/BlobAnalyzeParallel.cpp @@ -100,7 +100,7 @@ inline void WriteBlobStates(TwoPhase TCAT, double D, double porosity){ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -482,7 +482,7 @@ int main(int argc, char **argv) PROFILE_STOP("main"); PROFILE_SAVE("BlobIdentifyParallel",false); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/BlobIdentify.cpp b/tests/BlobIdentify.cpp index 39a59954..2680ca6f 100644 --- a/tests/BlobIdentify.cpp +++ b/tests/BlobIdentify.cpp @@ -150,7 +150,7 @@ void readRankData( int proc, int nx, int ny, int nz, DoubleArray& Phase, DoubleA int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); printf("-----------------------------------------------------------\n"); printf("Labeling Blobs from Two-Phase Lattice Boltzmann Simulation \n"); @@ -318,7 +318,7 @@ int main(int argc, char **argv) FILE *BLOBS = fopen("Blobs.dat","wb"); fwrite(GlobalBlobID.data(),4,Nx*Ny*Nz,BLOBS); fclose(BLOBS); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/BlobIdentifyParallel.cpp b/tests/BlobIdentifyParallel.cpp index b8929a11..6508873d 100644 --- a/tests/BlobIdentifyParallel.cpp +++ b/tests/BlobIdentifyParallel.cpp @@ -47,7 +47,7 @@ void readRankData( int proc, int nx, int ny, int nz, DoubleArray& Phase, DoubleA int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -129,7 +129,7 @@ int main(int argc, char **argv) PROFILE_SAVE("BlobIdentifyParallel",false); #endif comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/ColorToBinary.cpp b/tests/ColorToBinary.cpp index fae156d1..feb76658 100644 --- a/tests/ColorToBinary.cpp +++ b/tests/ColorToBinary.cpp @@ -114,7 +114,7 @@ inline void ReadFromRank(char *FILENAME, DoubleArray &Phase, int nx, int ny, int int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -276,7 +276,7 @@ int main(int argc, char **argv) // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/ComponentLabel.cpp b/tests/ComponentLabel.cpp index 624ce8f4..c62c020e 100644 --- a/tests/ComponentLabel.cpp +++ b/tests/ComponentLabel.cpp @@ -119,7 +119,7 @@ inline void ReadFromRank(char *FILENAME, DoubleArray &Phase, DoubleArray &Pressu int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -433,7 +433,7 @@ int main(int argc, char **argv) */ // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/GenerateSphereTest.cpp b/tests/GenerateSphereTest.cpp index 9e4cdfda..e28042d7 100644 --- a/tests/GenerateSphereTest.cpp +++ b/tests/GenerateSphereTest.cpp @@ -296,7 +296,7 @@ inline void MorphOpen(DoubleArray SignDist, char *id, Domain &Dm, int nx, int ny int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -474,8 +474,5 @@ int main(int argc, char **argv) fclose(IDFILE); //...................................................................... } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); } diff --git a/tests/TestBlobAnalyze.cpp b/tests/TestBlobAnalyze.cpp index 19360fe3..24163e4f 100644 --- a/tests/TestBlobAnalyze.cpp +++ b/tests/TestBlobAnalyze.cpp @@ -127,7 +127,7 @@ inline void WriteBlobStates(TwoPhase TCAT, double D, double porosity){ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -317,7 +317,7 @@ int main(int argc, char **argv) } // Limit scope so variables that contain communicators will free before MPI_Finialize comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/TestBlobIdentify.cpp b/tests/TestBlobIdentify.cpp index 7eb5c270..71b0f565 100644 --- a/tests/TestBlobIdentify.cpp +++ b/tests/TestBlobIdentify.cpp @@ -152,7 +152,7 @@ void shift_data( DoubleArray& data, int sx, int sy, int sz, const RankInfoStruct int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -410,7 +410,7 @@ int main(int argc, char **argv) PROFILE_STOP("main"); PROFILE_SAVE("TestBlobIdentify",false); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return N_errors; } diff --git a/tests/TestBlobIdentifyCorners.cpp b/tests/TestBlobIdentifyCorners.cpp index 904e52e0..5ec0b55d 100644 --- a/tests/TestBlobIdentifyCorners.cpp +++ b/tests/TestBlobIdentifyCorners.cpp @@ -18,7 +18,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); int rank = comm.getRank(); int nprocs = comm.getSize(); /*if ( nprocs != 8 ) { diff --git a/tests/TestBubble.cpp b/tests/TestBubble.cpp index 6eb74b37..8e414182 100644 --- a/tests/TestBubble.cpp +++ b/tests/TestBubble.cpp @@ -991,6 +991,6 @@ int main(int argc, char **argv) // **************************************************** comm.barrier(); } // Limit scope so variables that contain communicators will free before MPI_Finialize - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/TestBubbleDFH.cpp b/tests/TestBubbleDFH.cpp index 3eecb13f..cd4f487b 100644 --- a/tests/TestBubbleDFH.cpp +++ b/tests/TestBubbleDFH.cpp @@ -27,8 +27,7 @@ using namespace std; int main(int argc, char **argv) { // Initialize MPI - int provided_thread_support = -1; - MPI_Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided_thread_support); + Utilities::startup( argc, argv, true ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -548,7 +547,7 @@ int main(int argc, char **argv) // **************************************************** comm.barrier(); } // Limit scope so variables that contain communicators will free before MPI_Finialize - MPI_Finalize(); + Utilities::shutdown(); return check; } diff --git a/tests/TestColorBubble.cpp b/tests/TestColorBubble.cpp index 1f42a71e..46f7f195 100644 --- a/tests/TestColorBubble.cpp +++ b/tests/TestColorBubble.cpp @@ -65,7 +65,7 @@ inline void InitializeBubble(ScaLBL_ColorModel &ColorModel, double BubbleRadius) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -92,10 +92,7 @@ int main(int argc, char **argv) ColorModel.Run(); ColorModel.WriteDebug(); } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); return check; } diff --git a/tests/TestColorGrad.cpp b/tests/TestColorGrad.cpp index 2566f8c0..b407d01f 100644 --- a/tests/TestColorGrad.cpp +++ b/tests/TestColorGrad.cpp @@ -16,7 +16,7 @@ using namespace std; int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -257,7 +257,7 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** return check; diff --git a/tests/TestColorGradDFH.cpp b/tests/TestColorGradDFH.cpp index 02c0dc9d..2fd65e7d 100644 --- a/tests/TestColorGradDFH.cpp +++ b/tests/TestColorGradDFH.cpp @@ -26,7 +26,7 @@ std::shared_ptr loadInputs( int nprocs ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -206,10 +206,7 @@ int main(int argc, char **argv) } } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); return check; } diff --git a/tests/TestColorMassBounceback.cpp b/tests/TestColorMassBounceback.cpp index 78508f9b..092e7541 100644 --- a/tests/TestColorMassBounceback.cpp +++ b/tests/TestColorMassBounceback.cpp @@ -16,7 +16,7 @@ using namespace std; int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -520,7 +520,7 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** return check; } diff --git a/tests/TestColorSquareTube.cpp b/tests/TestColorSquareTube.cpp index cf8a9566..d7dae23f 100644 --- a/tests/TestColorSquareTube.cpp +++ b/tests/TestColorSquareTube.cpp @@ -85,12 +85,12 @@ void InitializeSquareTube(ScaLBL_ColorModel &ColorModel){ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); - Utilities::MPI comm( MPI_COMM_WORLD ); - int rank = comm.getRank(); - int nprocs = comm.getSize(); + Utilities::startup( argc, argv ); int check=0; { + Utilities::MPI comm( MPI_COMM_WORLD ); + int rank = comm.getRank(); + int nprocs = comm.getSize(); if (rank == 0){ printf("********************************************************\n"); printf("Running Color Model: TestColor \n"); @@ -108,11 +108,7 @@ int main(int argc, char **argv) ColorModel.WriteDebug(); } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** - + Utilities::shutdown(); return check; } diff --git a/tests/TestCommD3Q19.cpp b/tests/TestCommD3Q19.cpp index 1ffa2465..12adbb73 100644 --- a/tests/TestCommD3Q19.cpp +++ b/tests/TestCommD3Q19.cpp @@ -164,7 +164,7 @@ inline void UnpackID(int *list, int count, char *recvbuf, char *ID){ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -427,7 +427,7 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** return check; diff --git a/tests/TestDatabase.cpp b/tests/TestDatabase.cpp index ced704e2..c3341aab 100644 --- a/tests/TestDatabase.cpp +++ b/tests/TestDatabase.cpp @@ -17,7 +17,7 @@ // Main int main(int argc, char **argv) { - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); Utilities::setAbortBehavior(true,2); Utilities::setErrorHandlers(); @@ -66,8 +66,7 @@ int main(int argc, char **argv) // Finished PROFILE_SAVE("TestDatabase",true); - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return err; } diff --git a/tests/TestFluxBC.cpp b/tests/TestFluxBC.cpp index 0798a481..ef1c70af 100644 --- a/tests/TestFluxBC.cpp +++ b/tests/TestFluxBC.cpp @@ -17,7 +17,7 @@ std::shared_ptr loadInputs( int nprocs ) int main (int argc, char **argv) { - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -265,7 +265,6 @@ int main (int argc, char **argv) } // Finished - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return error; } diff --git a/tests/TestForceD3Q19.cpp b/tests/TestForceD3Q19.cpp index 31151584..7650c6f0 100644 --- a/tests/TestForceD3Q19.cpp +++ b/tests/TestForceD3Q19.cpp @@ -442,7 +442,7 @@ inline void MRT_Transform(double *dist, int Np, double Fx, double Fy, double Fz) int main (int argc, char **argv) { - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -541,5 +541,5 @@ int main (int argc, char **argv) printf("Fz = %f; Computed vz=%f \n",Fz,vel[2*Np+0]); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); } diff --git a/tests/TestForceMoments.cpp b/tests/TestForceMoments.cpp index fab5fe68..a6c6569b 100644 --- a/tests/TestForceMoments.cpp +++ b/tests/TestForceMoments.cpp @@ -47,7 +47,7 @@ std::shared_ptr loadInputs( int nprocs ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -326,10 +326,7 @@ int main(int argc, char **argv) } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); return check; } diff --git a/tests/TestInterfaceSpeed.cpp b/tests/TestInterfaceSpeed.cpp index d2c901df..67bf8f95 100644 --- a/tests/TestInterfaceSpeed.cpp +++ b/tests/TestInterfaceSpeed.cpp @@ -18,7 +18,7 @@ int main (int argc, char *argv[]) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); @@ -146,9 +146,7 @@ int main (int argc, char *argv[]) return toReturn; - // **************************************************** comm.barrier(); return 0; - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); } diff --git a/tests/TestMRT.cpp b/tests/TestMRT.cpp index e4acba99..89c9b549 100644 --- a/tests/TestMRT.cpp +++ b/tests/TestMRT.cpp @@ -489,7 +489,7 @@ inline void UnpackID(int *list, int count, char *recvbuf, char *ID){ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -802,7 +802,7 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** return check; diff --git a/tests/TestMap.cpp b/tests/TestMap.cpp index 3ba403a7..c546bae3 100644 --- a/tests/TestMap.cpp +++ b/tests/TestMap.cpp @@ -27,7 +27,7 @@ std::shared_ptr loadInputs( int nprocs ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int check=0; { @@ -191,10 +191,7 @@ int main(int argc, char **argv) delete [] TmpMap; } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); return check; } diff --git a/tests/TestMassConservationD3Q7.cpp b/tests/TestMassConservationD3Q7.cpp index 68183cd2..ba3f6018 100644 --- a/tests/TestMassConservationD3Q7.cpp +++ b/tests/TestMassConservationD3Q7.cpp @@ -67,7 +67,7 @@ inline void InitializeBubble(ScaLBL_ColorModel &ColorModel, double BubbleRadius) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -264,8 +264,5 @@ int main(int argc, char **argv) } } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); } diff --git a/tests/TestMicroCTReader.cpp b/tests/TestMicroCTReader.cpp index 52a5b9d3..d8609356 100644 --- a/tests/TestMicroCTReader.cpp +++ b/tests/TestMicroCTReader.cpp @@ -50,7 +50,7 @@ void testReadMicroCT( const std::string& filename, UnitTest& ut ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); UnitTest ut; // Run the tests @@ -62,7 +62,7 @@ int main(int argc, char **argv) int N_errors = ut.NumFailGlobal(); // Close MPI - MPI_Finalize(); + Utilities::shutdown(); return N_errors; } diff --git a/tests/TestMomentsD3Q19.cpp b/tests/TestMomentsD3Q19.cpp index 2660ed26..10413743 100644 --- a/tests/TestMomentsD3Q19.cpp +++ b/tests/TestMomentsD3Q19.cpp @@ -462,7 +462,7 @@ inline void MRT_Transform(double *dist, int Np) { int main (int argc, char **argv) { - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -539,7 +539,6 @@ int main (int argc, char **argv) error=count; // Finished - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return error; } diff --git a/tests/TestNetcdf.cpp b/tests/TestNetcdf.cpp index 3d0498d2..4ebe3af9 100644 --- a/tests/TestNetcdf.cpp +++ b/tests/TestNetcdf.cpp @@ -95,7 +95,7 @@ void load( const std::string& filename ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); const int rank = comm.getRank(); UnitTest ut; @@ -117,7 +117,7 @@ int main(int argc, char **argv) // Close MPI comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return N_errors; } diff --git a/tests/TestPoiseuille.cpp b/tests/TestPoiseuille.cpp index 744d292d..210cb357 100644 --- a/tests/TestPoiseuille.cpp +++ b/tests/TestPoiseuille.cpp @@ -48,7 +48,7 @@ void ParallelPlates(ScaLBL_MRTModel &MRT){ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -125,10 +125,7 @@ int main(int argc, char **argv) } } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); return check; } diff --git a/tests/TestPressVel.cpp b/tests/TestPressVel.cpp index c19bdcef..6e6ddef7 100644 --- a/tests/TestPressVel.cpp +++ b/tests/TestPressVel.cpp @@ -14,7 +14,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int check=0; @@ -188,10 +188,7 @@ int main(int argc, char **argv) } } } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); return check; } diff --git a/tests/TestSegDist.cpp b/tests/TestSegDist.cpp index ecb6d6b9..58f7a4a3 100644 --- a/tests/TestSegDist.cpp +++ b/tests/TestSegDist.cpp @@ -39,7 +39,7 @@ std::shared_ptr loadInputs( int nprocs ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -141,8 +141,7 @@ int main(int argc, char **argv) IO::writeData( "testSegDist", data, MPI_COMM_WORLD ); } - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/TestSubphase.cpp b/tests/TestSubphase.cpp index 9738812f..e6f566fa 100644 --- a/tests/TestSubphase.cpp +++ b/tests/TestSubphase.cpp @@ -26,7 +26,7 @@ std::shared_ptr loadInputs( int nprocs ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -136,8 +136,7 @@ int main(int argc, char **argv) // Averages->Reduce(); } // Limit scope so variables that contain communicators will free before MPI_Finialize - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/TestTopo3D.cpp b/tests/TestTopo3D.cpp index 948bb1d6..2a5eff97 100644 --- a/tests/TestTopo3D.cpp +++ b/tests/TestTopo3D.cpp @@ -26,7 +26,7 @@ std::shared_ptr loadInputs( int nprocs ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -225,8 +225,7 @@ int main(int argc, char **argv) IO::writeData( timestep, visData, comm ); } // Limit scope so variables that contain communicators will free before MPI_Finialize - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/TestTorus.cpp b/tests/TestTorus.cpp index 5125ce92..d6a33adf 100644 --- a/tests/TestTorus.cpp +++ b/tests/TestTorus.cpp @@ -26,7 +26,7 @@ std::shared_ptr loadInputs( int nprocs ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -164,8 +164,7 @@ int main(int argc, char **argv) // Averages->Reduce(); } // Limit scope so variables that contain communicators will free before MPI_Finialize - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/TestTorusEvolve.cpp b/tests/TestTorusEvolve.cpp index 32cf7fd8..580581b5 100644 --- a/tests/TestTorusEvolve.cpp +++ b/tests/TestTorusEvolve.cpp @@ -26,7 +26,7 @@ std::shared_ptr loadInputs( int nprocs ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -157,7 +157,7 @@ int main(int argc, char **argv) } } // Limit scope so variables that contain communicators will free before MPI_Finialize comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/TestTwoPhase.cpp b/tests/TestTwoPhase.cpp index fa54d98d..5cbec956 100644 --- a/tests/TestTwoPhase.cpp +++ b/tests/TestTwoPhase.cpp @@ -17,7 +17,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -111,7 +111,7 @@ int main(int argc, char **argv) // **************************************************** comm.barrier(); } // Limit scope so Domain will free it's communicator - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/TestWriter.cpp b/tests/TestWriter.cpp index 37858202..97774c55 100644 --- a/tests/TestWriter.cpp +++ b/tests/TestWriter.cpp @@ -226,7 +226,7 @@ void testWriter( const std::string& format, std::vector& mes // Main int main(int argc, char **argv) { - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -387,7 +387,7 @@ int main(int argc, char **argv) PROFILE_SAVE("TestWriter",true); int N_errors = ut.NumFailGlobal(); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return N_errors; } diff --git a/tests/convertIO.cpp b/tests/convertIO.cpp index 27605237..49034274 100644 --- a/tests/convertIO.cpp +++ b/tests/convertIO.cpp @@ -17,7 +17,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -83,7 +83,7 @@ int main(int argc, char **argv) PROFILE_STOP("Main"); PROFILE_SAVE("convertData",true); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/hello_world.cpp b/tests/hello_world.cpp index 810d3a9c..3de56719 100644 --- a/tests/hello_world.cpp +++ b/tests/hello_world.cpp @@ -5,7 +5,7 @@ int main (int argc, char **argv) { - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -27,7 +27,6 @@ int main (int argc, char **argv) int error = 0; // Finished - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return error; } diff --git a/tests/lb2_CMT_wia.cpp b/tests/lb2_CMT_wia.cpp index 389bc8a8..d1a31e8c 100644 --- a/tests/lb2_CMT_wia.cpp +++ b/tests/lb2_CMT_wia.cpp @@ -138,7 +138,7 @@ extern "C" void CMT_ScaLBL_D3Q7_ColorCollideMass(char *ID, double *A_even, doubl int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); int n,N,Nx,Ny,Nz; @@ -359,6 +359,6 @@ int main(int argc, char **argv) // Close MPI comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/lb2_Color_blob_wia_mpi.cpp b/tests/lb2_Color_blob_wia_mpi.cpp index e3323612..7f8bf071 100644 --- a/tests/lb2_Color_blob_wia_mpi.cpp +++ b/tests/lb2_Color_blob_wia_mpi.cpp @@ -97,7 +97,7 @@ inline void ZeroHalo(double *Data, int Nx, int Ny, int Nz) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -2794,6 +2794,6 @@ int main(int argc, char **argv) // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/lbpm_BGK_simulator.cpp b/tests/lbpm_BGK_simulator.cpp index 1ac61853..b24f5be1 100644 --- a/tests/lbpm_BGK_simulator.cpp +++ b/tests/lbpm_BGK_simulator.cpp @@ -25,7 +25,7 @@ int main(int argc, char **argv) { // Initialize MPI int rank,nprocs; - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -428,6 +428,6 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/lbpm_captube_pp.cpp b/tests/lbpm_captube_pp.cpp index b90ebb2a..90e849f9 100644 --- a/tests/lbpm_captube_pp.cpp +++ b/tests/lbpm_captube_pp.cpp @@ -25,7 +25,7 @@ std::shared_ptr loadInputs( ) int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -182,6 +182,6 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/lbpm_color_macro_simulator.cpp b/tests/lbpm_color_macro_simulator.cpp index c92b0c45..de6b286d 100644 --- a/tests/lbpm_color_macro_simulator.cpp +++ b/tests/lbpm_color_macro_simulator.cpp @@ -655,7 +655,7 @@ int main(int argc, char **argv) // **************************************************** comm.barrier(); } // Limit scope so variables that contain communicators will free before MPI_Finialize - MPI_Finalize(); + Utilities::shutdown(); } diff --git a/tests/lbpm_dfh_simulator.cpp b/tests/lbpm_dfh_simulator.cpp index 0d5902df..5916cab9 100644 --- a/tests/lbpm_dfh_simulator.cpp +++ b/tests/lbpm_dfh_simulator.cpp @@ -24,12 +24,12 @@ using namespace std; int main(int argc, char **argv) { // Initialize MPI - int provided_thread_support = -1; - MPI_Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided_thread_support); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); - if ( rank==0 && provided_thread_supportAggregateLabels(filename2); } - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); } diff --git a/tests/lbpm_morphdrain_pp.cpp b/tests/lbpm_morphdrain_pp.cpp index d3c5a428..a8e24273 100644 --- a/tests/lbpm_morphdrain_pp.cpp +++ b/tests/lbpm_morphdrain_pp.cpp @@ -23,7 +23,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); { @@ -201,6 +201,5 @@ int main(int argc, char **argv) Mask->AggregateLabels( filename2 ); } - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); } diff --git a/tests/lbpm_morphopen_pp.cpp b/tests/lbpm_morphopen_pp.cpp index a6209240..6afb8722 100644 --- a/tests/lbpm_morphopen_pp.cpp +++ b/tests/lbpm_morphopen_pp.cpp @@ -23,7 +23,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); { @@ -203,6 +203,5 @@ int main(int argc, char **argv) Mask->AggregateLabels(filename2); } - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); } diff --git a/tests/lbpm_nondarcy_simulator.cpp b/tests/lbpm_nondarcy_simulator.cpp index a25fef69..db11b90a 100644 --- a/tests/lbpm_nondarcy_simulator.cpp +++ b/tests/lbpm_nondarcy_simulator.cpp @@ -78,7 +78,7 @@ int main(int argc, char **argv) else { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -570,7 +570,7 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } } diff --git a/tests/lbpm_nonnewtonian_simulator.cpp b/tests/lbpm_nonnewtonian_simulator.cpp index bea3a814..29dbbc23 100644 --- a/tests/lbpm_nonnewtonian_simulator.cpp +++ b/tests/lbpm_nonnewtonian_simulator.cpp @@ -825,7 +825,7 @@ int main(int argc, char **argv) NULL_USE(RESTART_INTERVAL); } comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); //**************************************************** } diff --git a/tests/lbpm_permeability_simulator.cpp b/tests/lbpm_permeability_simulator.cpp index eb5e6d4b..7e5c8303 100644 --- a/tests/lbpm_permeability_simulator.cpp +++ b/tests/lbpm_permeability_simulator.cpp @@ -24,7 +24,7 @@ using namespace std; int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -50,8 +50,5 @@ int main(int argc, char **argv) MRT.Run(); MRT.VelocityField(); } - // **************************************************** - comm.barrier(); - MPI_Finalize(); - // **************************************************** + Utilities::shutdown(); } diff --git a/tests/lbpm_plates_pp.cpp b/tests/lbpm_plates_pp.cpp index 37191979..be019dba 100644 --- a/tests/lbpm_plates_pp.cpp +++ b/tests/lbpm_plates_pp.cpp @@ -14,7 +14,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -195,6 +195,6 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/lbpm_porenetwork_pp.cpp b/tests/lbpm_porenetwork_pp.cpp index 1715811f..b1bfa5e3 100644 --- a/tests/lbpm_porenetwork_pp.cpp +++ b/tests/lbpm_porenetwork_pp.cpp @@ -14,7 +14,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -287,6 +287,6 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index 8318f50f..56b5570d 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -52,7 +52,7 @@ inline void UnpackID(int *list, int count, char *recvbuf, char *ID){ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -404,6 +404,6 @@ int main(int argc, char **argv) fclose(ID); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/lbpm_refine_pp.cpp b/tests/lbpm_refine_pp.cpp index 149ae673..35058ba1 100644 --- a/tests/lbpm_refine_pp.cpp +++ b/tests/lbpm_refine_pp.cpp @@ -16,7 +16,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -421,7 +421,6 @@ int main(int argc, char **argv) } - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/lbpm_segmented_decomp.cpp b/tests/lbpm_segmented_decomp.cpp index 65b8576f..3058dad5 100644 --- a/tests/lbpm_segmented_decomp.cpp +++ b/tests/lbpm_segmented_decomp.cpp @@ -18,7 +18,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -365,5 +365,5 @@ int main(int argc, char **argv) } } comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); } diff --git a/tests/lbpm_segmented_pp.cpp b/tests/lbpm_segmented_pp.cpp index 484a11e2..b14f6930 100644 --- a/tests/lbpm_segmented_pp.cpp +++ b/tests/lbpm_segmented_pp.cpp @@ -115,7 +115,7 @@ double ReadFromBlock( char *ID, int iproc, int jproc, int kproc, int Nx, int Ny, int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -231,7 +231,7 @@ int main(int argc, char **argv) } comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/lbpm_sphere_pp.cpp b/tests/lbpm_sphere_pp.cpp index 0df11b96..a2966675 100644 --- a/tests/lbpm_sphere_pp.cpp +++ b/tests/lbpm_sphere_pp.cpp @@ -23,7 +23,7 @@ using namespace std; int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -212,6 +212,6 @@ int main(int argc, char **argv) // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/lbpm_squaretube_pp.cpp b/tests/lbpm_squaretube_pp.cpp index a4ee5f60..a2287c5d 100644 --- a/tests/lbpm_squaretube_pp.cpp +++ b/tests/lbpm_squaretube_pp.cpp @@ -14,7 +14,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -253,6 +253,6 @@ int main(int argc, char **argv) } // **************************************************** comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); // **************************************************** } diff --git a/tests/lbpm_uCT_maskfilter.cpp b/tests/lbpm_uCT_maskfilter.cpp index 857bc4e0..ee05585e 100644 --- a/tests/lbpm_uCT_maskfilter.cpp +++ b/tests/lbpm_uCT_maskfilter.cpp @@ -31,7 +31,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -446,7 +446,7 @@ int main(int argc, char **argv) PROFILE_STOP("Main"); PROFILE_SAVE("lbpm_uCT_maskfilter",true); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/lbpm_uCT_pp.cpp b/tests/lbpm_uCT_pp.cpp index 6e8d1bde..30bdb0c8 100644 --- a/tests/lbpm_uCT_pp.cpp +++ b/tests/lbpm_uCT_pp.cpp @@ -31,7 +31,7 @@ int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -457,7 +457,7 @@ int main(int argc, char **argv) PROFILE_STOP("Main"); PROFILE_SAVE("lbpm_uCT_pp",true); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return 0; } diff --git a/tests/testCommunication.cpp b/tests/testCommunication.cpp index 911ef1c5..e666a882 100644 --- a/tests/testCommunication.cpp +++ b/tests/testCommunication.cpp @@ -251,7 +251,7 @@ int testHalo( const Utilities::MPI& comm, int nprocx, int nprocy, int nprocz, in int main(int argc, char **argv) { // Initialize MPI - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int rank = comm.getRank(); int nprocs = comm.getSize(); @@ -287,7 +287,7 @@ int main(int argc, char **argv) comm.barrier(); int N_errors_global = comm.sumReduce( N_errors ); comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); if ( rank==0 ) { if ( N_errors_global==0 ) std::cout << "All tests passed\n"; diff --git a/tests/test_MPI.cpp b/tests/test_MPI.cpp index c0cf35af..a0d404a0 100644 --- a/tests/test_MPI.cpp +++ b/tests/test_MPI.cpp @@ -1452,10 +1452,7 @@ int main( int argc, char *argv[] ) // Test splitByNode MPI_CLASS nodeComm = globalComm.splitByNode(); - int length; - char name[MPI_MAX_PROCESSOR_NAME]; - MPI_Get_processor_name( name, &length ); - std::string localName( name ); + std::string localName = MPI_CLASS::getNodeName(); std::vector globalStrings( globalComm.getSize() ); std::vector nodeStrings( nodeComm.getSize() ); globalComm.allGather( localName, &globalStrings[0] ); diff --git a/tests/test_dcel_minkowski.cpp b/tests/test_dcel_minkowski.cpp index 2669b522..821e7ca1 100644 --- a/tests/test_dcel_minkowski.cpp +++ b/tests/test_dcel_minkowski.cpp @@ -25,7 +25,7 @@ std::shared_ptr loadInputs( ) int main(int argc, char **argv) { - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); //int rank = comm.getRank(); //int nprocs = comm.getSize(); @@ -99,7 +99,6 @@ int main(int argc, char **argv) } PROFILE_SAVE("test_dcel_minkowski"); - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return toReturn; } diff --git a/tests/test_dcel_tri_normal.cpp b/tests/test_dcel_tri_normal.cpp index b6497140..34a4a639 100644 --- a/tests/test_dcel_tri_normal.cpp +++ b/tests/test_dcel_tri_normal.cpp @@ -25,7 +25,7 @@ std::shared_ptr loadInputs( ) int main(int argc, char **argv) { - MPI_Init(&argc,&argv); + Utilities::startup( argc, argv ); Utilities::MPI comm( MPI_COMM_WORLD ); int toReturn = 0; { @@ -136,7 +136,6 @@ int main(int argc, char **argv) if (count_check > 0) toReturn=2; else printf("Succeeded. \n"); } - comm.barrier(); - MPI_Finalize(); + Utilities::shutdown(); return toReturn; }