X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/217ab9d5146bf370bbb20065fd357a5c099c78ee..f32336ba61cacec6b0bbd33b90e532f6678748fc:/src/smpi/include/smpi_comm.hpp diff --git a/src/smpi/include/smpi_comm.hpp b/src/smpi/include/smpi_comm.hpp index e43c5b3e74..a71e1f588e 100644 --- a/src/smpi/include/smpi_comm.hpp +++ b/src/smpi/include/smpi_comm.hpp @@ -7,6 +7,7 @@ #define SMPI_COMM_HPP_INCLUDED #include +#include #include "smpi_keyvals.hpp" #include "smpi_group.hpp" #include "smpi_topo.hpp" @@ -28,6 +29,8 @@ class Comm : public F2C, public Keyval{ int is_blocked_; // are ranks allocated on the same smp node contiguous ? int is_smp_comm_; // set to 0 in case this is already an intra-comm or a leader-comm to avoid recursivity std::list rma_wins_; // attached windows for synchronization. + std::string name_; + MPI_Info info_; public: static std::unordered_map keyvals_; @@ -36,11 +39,15 @@ public: Comm() = default; Comm(MPI_Group group, MPI_Topology topo, int smp = 0); int dup(MPI_Comm* newcomm); + int dup_with_info(MPI_Info info, MPI_Comm* newcomm); MPI_Group group(); MPI_Topology topo() { return topo_; } int size(); int rank(); void get_name(char* name, int* len); + void set_name(const char* name); + MPI_Info info(); + void set_info( MPI_Info info); void set_leaders_comm(MPI_Comm leaders); void set_intra_comm(MPI_Comm leaders) { intra_comm_ = leaders; }; int* get_non_uniform_map();