Skip to content

Commit 3462dda

Browse files
author
Alessandro Gastaldi
committed
Remove dummy MPI_COMM_WORLD altogether
1 parent 8355901 commit 3462dda

10 files changed

Lines changed: 23 additions & 16 deletions

File tree

Common/include/parallelization/mpi_structure.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,17 @@
2727

2828
#include "mpi_structure.hpp"
2929

30+
31+
/* Initialise the MPI Communicator Rank and Size */
3032
int CBaseMPIWrapper::Rank = 0;
3133
int CBaseMPIWrapper::Size = 1;
34+
35+
/* Set the default MPI Communicator */
36+
#ifdef HAVE_MPI
3237
CBaseMPIWrapper::Comm CBaseMPIWrapper::currentComm = MPI_COMM_WORLD;
38+
#else
39+
CBaseMPIWrapper::Comm CBaseMPIWrapper::currentComm = 0; // dummy value
40+
#endif
3341

3442
#ifdef HAVE_MPI
3543
int CBaseMPIWrapper::MinRankError;

Common/include/parallelization/mpi_structure.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,6 @@ class CMediMPIWrapper : public CBaseMPIWrapper {
467467

468468
#else // HAVE_MPI
469469

470-
#define MPI_COMM_WORLD 0
471470
#define MPI_UNSIGNED_LONG 1
472471
#define MPI_LONG 2
473472
#define MPI_UNSIGNED_SHORT 3

SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -458,10 +458,10 @@ class CFVMFlowSolverBase : public CSolver {
458458
SU2_OMP_MASTER
459459
if (config->GetComm_Level() == COMM_FULL) {
460460
su2double rbuf_time;
461-
SU2_MPI::Allreduce(&Min_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, MPI_COMM_WORLD);
461+
SU2_MPI::Allreduce(&Min_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm());
462462
Min_Delta_Time = rbuf_time;
463463

464-
SU2_MPI::Allreduce(&Max_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD);
464+
SU2_MPI::Allreduce(&Max_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MAX, SU2_MPI::GetComm());
465465
Max_Delta_Time = rbuf_time;
466466
}
467467
SU2_OMP_BARRIER
@@ -513,7 +513,7 @@ class CFVMFlowSolverBase : public CSolver {
513513

514514
SU2_OMP_MASTER
515515
{
516-
SU2_MPI::Allreduce(&Global_Delta_UnstTimeND, &glbDtND, 1, MPI_DOUBLE, MPI_MIN, MPI_COMM_WORLD);
516+
SU2_MPI::Allreduce(&Global_Delta_UnstTimeND, &glbDtND, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm());
517517
Global_Delta_UnstTimeND = glbDtND;
518518

519519
config->SetDelta_UnstTimeND(Global_Delta_UnstTimeND);
@@ -1068,8 +1068,8 @@ class CFVMFlowSolverBase : public CSolver {
10681068
su2double MyOmega_Max = Omega_Max;
10691069
su2double MyStrainMag_Max = StrainMag_Max;
10701070

1071-
SU2_MPI::Allreduce(&MyStrainMag_Max, &StrainMag_Max, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD);
1072-
SU2_MPI::Allreduce(&MyOmega_Max, &Omega_Max, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD);
1071+
SU2_MPI::Allreduce(&MyStrainMag_Max, &StrainMag_Max, 1, MPI_DOUBLE, MPI_MAX, SU2_MPI::GetComm());
1072+
SU2_MPI::Allreduce(&MyOmega_Max, &Omega_Max, 1, MPI_DOUBLE, MPI_MAX, SU2_MPI::GetComm());
10731073
}
10741074
SU2_OMP_BARRIER
10751075
}

SU2_CFD/src/SU2_CFD.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ int main(int argc, char *argv[]) {
6767
#else
6868
SU2_MPI::Init(&argc, &argv);
6969
#endif
70-
SU2_Comm MPICommunicator(MPI_COMM_WORLD);
70+
SU2_MPI::Comm MPICommunicator = SU2_MPI::GetComm();
7171

7272
/*--- Uncomment the following line if runtime NaN catching is desired. ---*/
7373
// feenableexcept(FE_INVALID | FE_OVERFLOW);

SU2_CFD/src/solvers/CIncEulerSolver.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,7 @@ void CIncEulerSolver::CommonPreprocessing(CGeometry *geometry, CSolver **solver_
835835
SU2_OMP_MASTER
836836
{
837837
unsigned long tmp = ErrorCounter;
838-
SU2_MPI::Allreduce(&tmp, &ErrorCounter, 1, MPI_UNSIGNED_LONG, MPI_SUM, MPI_COMM_WORLD);
838+
SU2_MPI::Allreduce(&tmp, &ErrorCounter, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm());
839839
config->SetNonphysical_Points(ErrorCounter);
840840
}
841841
SU2_OMP_BARRIER
@@ -1660,7 +1660,7 @@ void CIncEulerSolver::SetBeta_Parameter(CGeometry *geometry, CSolver **solver_co
16601660

16611661
SU2_OMP_MASTER {
16621662
maxVel2 = MaxVel2;
1663-
SU2_MPI::Allreduce(&maxVel2, &MaxVel2, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD);
1663+
SU2_MPI::Allreduce(&maxVel2, &MaxVel2, 1, MPI_DOUBLE, MPI_MAX, SU2_MPI::GetComm());
16641664

16651665
config->SetMax_Vel2(max(1e-10, MaxVel2));
16661666
}

SU2_DEF/src/SU2_DEF.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
4545
#else
4646
SU2_MPI::Init(&argc, &argv);
4747
#endif
48-
SU2_MPI::Comm MPICommunicator(MPI_COMM_WORLD);
48+
SU2_MPI::Comm MPICommunicator = SU2_MPI::GetComm();
4949

5050
rank = SU2_MPI::GetRank();
5151
size = SU2_MPI::GetSize();

SU2_DOT/src/SU2_DOT.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ int main(int argc, char *argv[]) {
4444
#else
4545
SU2_MPI::Init(&argc, &argv);
4646
#endif
47-
SU2_MPI::Comm MPICommunicator(MPI_COMM_WORLD);
47+
SU2_MPI::Comm MPICommunicator = SU2_MPI::GetComm();
4848

4949
const int rank = SU2_MPI::GetRank();
5050
const int size = SU2_MPI::GetSize();
@@ -644,7 +644,7 @@ void SetProjection_FD(CGeometry *geometry, CConfig *config, CSurfaceMovement *su
644644
}
645645
}
646646

647-
SU2_MPI::Allreduce(&my_Gradient, &localGradient, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
647+
SU2_MPI::Allreduce(&my_Gradient, &localGradient, 1, MPI_DOUBLE, MPI_SUM, SU2_MPI::GetComm());
648648
Gradient[iDV][0] += localGradient;
649649
}
650650
}
@@ -770,7 +770,7 @@ void SetProjection_AD(CGeometry *geometry, CConfig *config, CSurfaceMovement *su
770770
for (iDV_Value = 0; iDV_Value < nDV_Value; iDV_Value++){
771771
DV_Value = config->GetDV_Value(iDV, iDV_Value);
772772
my_Gradient = SU2_TYPE::GetDerivative(DV_Value);
773-
SU2_MPI::Allreduce(&my_Gradient, &localGradient, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
773+
SU2_MPI::Allreduce(&my_Gradient, &localGradient, 1, MPI_DOUBLE, MPI_SUM, SU2_MPI::GetComm());
774774

775775
/*--- Angle of Attack design variable (this is different,
776776
the value comes form the input file) ---*/

SU2_GEO/src/SU2_GEO.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ int main(int argc, char *argv[]) {
5959
/*--- MPI initialization ---*/
6060

6161
SU2_MPI::Init(&argc,&argv);
62-
SU2_MPI::Comm MPICommunicator(MPI_COMM_WORLD);
62+
SU2_MPI::Comm MPICommunicator = SU2_MPI::GetComm();
6363

6464
rank = SU2_MPI::GetRank();
6565
size = SU2_MPI::GetSize();

SU2_SOL/src/SU2_SOL.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ int main(int argc, char *argv[]) {
4040
/*--- MPI initialization ---*/
4141

4242
SU2_MPI::Init(&argc,&argv);
43-
SU2_MPI::Comm MPICommunicator(MPI_COMM_WORLD);
43+
SU2_MPI::Comm MPICommunicator = SU2_MPI::GetComm();
4444

4545
const int rank = SU2_MPI::GetRank();
4646
const int size = SU2_MPI::GetSize();

UnitTests/test_driver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ int main(int argc, char *argv[]) {
4343
#else
4444
SU2_MPI::Init(&argc, &argv);
4545
#endif
46-
SU2_Comm MPICommunicator(MPI_COMM_WORLD);
46+
SU2_MPI::Comm MPICommunicator = SU2_MPI::GetComm();
4747

4848
/*--- Run the test driver supplied by Catch ---*/
4949
int result = Catch::Session().run(argc, argv);

0 commit comments

Comments
 (0)