X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f35db13138682b1be530a509d1eeadeafff84ca7..d1ce25d36729721b7d7eed0fa4425e401db8a092:/src/smpi/smpi_comm.cpp diff --git a/src/smpi/smpi_comm.cpp b/src/smpi/smpi_comm.cpp index 50e6f84372..39e51329dc 100644 --- a/src/smpi/smpi_comm.cpp +++ b/src/smpi/smpi_comm.cpp @@ -1,20 +1,19 @@ -/* Copyright (c) 2010-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2010-2017. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include -#include +#include "simgrid/s4u/Host.hpp" -#include -#include -#include - -#include - -#include "private.h" #include "src/simix/smx_private.h" +#include "src/smpi/private.h" +#include "src/smpi/smpi_comm.hpp" +#include "src/smpi/smpi_coll.hpp" +#include "src/smpi/smpi_datatype.hpp" +#include "src/smpi/smpi_process.hpp" +#include "src/smpi/smpi_request.hpp" +#include "src/smpi/smpi_status.hpp" +#include "src/smpi/smpi_win.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_comm, smpi, "Logging specific to SMPI (comm)"); @@ -73,14 +72,14 @@ void Comm::destroy(Comm* comm) } int Comm::dup(MPI_Comm* newcomm){ - if(smpi_privatize_global_variables){ //we need to switch as the called function may silently touch global variables + if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables smpi_switch_data_segment(smpi_process()->index()); } MPI_Group cp = new Group(this->group()); (*newcomm) = new Comm(cp, this->topo()); int ret = MPI_SUCCESS; - if(!attributes()->empty()){ + if (not attributes()->empty()) { int flag; void* value_out; for(auto it : *attributes()){ @@ -328,7 +327,7 @@ void Comm::init_smp(){ smpi_process()->set_replaying(false); } - if(smpi_privatize_global_variables){ //we need to switch as the called function may silently touch global variables + if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables smpi_switch_data_segment(smpi_process()->index()); } //identify neighbours in comm @@ -370,7 +369,7 @@ void Comm::init_smp(){ Coll_allgather_mpich::allgather(&leader, 1, MPI_INT , leaders_map, 1, MPI_INT, this); - if(smpi_privatize_global_variables){ //we need to switch as the called function may silently touch global variables + if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables smpi_switch_data_segment(smpi_process()->index()); } @@ -444,7 +443,7 @@ void Comm::init_smp(){ } Coll_bcast_mpich::bcast(&(is_uniform_),1, MPI_INT, 0, comm_intra ); - if(smpi_privatize_global_variables){ //we need to switch as the called function may silently touch global variables + if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables smpi_switch_data_segment(smpi_process()->index()); } // Are the ranks blocked ? = allocated contiguously on the SMP nodes