X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a7c708d3570410ce5a1316a54f9dda55d2bb46ca..611d822b02f836d7abe031cced6adc4281ef4356:/src/smpi/mpi/smpi_comm.cpp diff --git a/src/smpi/mpi/smpi_comm.cpp b/src/smpi/mpi/smpi_comm.cpp index c256f12d46..b50587d170 100644 --- a/src/smpi/mpi/smpi_comm.cpp +++ b/src/smpi/mpi/smpi_comm.cpp @@ -12,7 +12,9 @@ #include "smpi_request.hpp" #include "smpi_status.hpp" #include "smpi_win.hpp" +#include "src/simix/smx_host_private.hpp" #include "src/simix/smx_private.hpp" + #include #include #include @@ -56,7 +58,8 @@ void Comm::destroy(Comm* comm) } int Comm::dup(MPI_Comm* newcomm){ - if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables + if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) { + // we need to switch as the called function may silently touch global variables smpi_switch_data_segment(simgrid::s4u::Actor::self()); } MPI_Group cp = new Group(this->group()); @@ -299,7 +302,8 @@ void Comm::init_smp(){ smpi_process()->set_replaying(false); } - if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables + if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) { + // we need to switch as the called function may silently touch global variables smpi_switch_data_segment(simgrid::s4u::Actor::self()); } //identify neighbours in comm @@ -335,7 +339,8 @@ void Comm::init_smp(){ Coll_allgather_mpich::allgather(&leader, 1, MPI_INT , leaders_map, 1, MPI_INT, this); - if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables + if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) { + // we need to switch as the called function may silently touch global variables smpi_switch_data_segment(simgrid::s4u::Actor::self()); } @@ -407,7 +412,8 @@ void Comm::init_smp(){ } Coll_bcast_mpich::bcast(&(is_uniform_),1, MPI_INT, 0, comm_intra ); - if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables + if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) { + // we need to switch as the called function may silently touch global variables smpi_switch_data_segment(simgrid::s4u::Actor::self()); } // Are the ranks blocked ? = allocated contiguously on the SMP nodes