X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e14efade5dfa8df13c1b66a0d35af2d269784d11..97435b3140b71a95c89175a8d8fa67a9441c8f52:/src/smpi/internals/smpi_deployment.cpp diff --git a/src/smpi/internals/smpi_deployment.cpp b/src/smpi/internals/smpi_deployment.cpp index 6c1c75c2f9..ccf7148c0e 100644 --- a/src/smpi/internals/smpi_deployment.cpp +++ b/src/smpi/internals/smpi_deployment.cpp @@ -6,7 +6,6 @@ #include "smpi_host.hpp" #include "private.hpp" -#include "simgrid/msg.h" /* barrier */ #include "simgrid/s4u/Engine.hpp" #include "smpi_comm.hpp" #include @@ -18,7 +17,7 @@ namespace app { class Instance { public: Instance(const std::string name, int max_no_processes, int process_count, MPI_Comm comm, - msg_bar_t finalization_barrier) + simgrid::s4u::Barrier* finalization_barrier) : name(name) , size(max_no_processes) , present_processes(0) @@ -30,7 +29,7 @@ public: int size; int present_processes; MPI_Comm comm_world; - msg_bar_t finalization_barrier; + simgrid::s4u::Barrier* finalization_barrier; }; } } @@ -63,7 +62,8 @@ void SMPI_app_instance_register(const char *name, xbt_main_func_t code, int num_ } } - Instance instance(std::string(name), num_processes, process_count, MPI_COMM_NULL, MSG_barrier_init(num_processes)); + Instance instance(std::string(name), num_processes, process_count, MPI_COMM_NULL, + new simgrid::s4u::Barrier(num_processes)); MPI_Group group = new simgrid::smpi::Group(instance.size); instance.comm_world = new simgrid::smpi::Comm(group, nullptr); MPI_Attr_put(instance.comm_world, MPI_UNIVERSE_SIZE, reinterpret_cast(instance.size)); @@ -90,7 +90,7 @@ MPI_Comm* smpi_deployment_comm_world(const std::string instance_id) return &instance.comm_world; } -msg_bar_t smpi_deployment_finalization_barrier(const std::string instance_id) +simgrid::s4u::Barrier* smpi_deployment_finalization_barrier(const std::string instance_id) { if (smpi_instances.empty()) { // no instance registered, we probably used smpirun. return nullptr; @@ -102,7 +102,7 @@ msg_bar_t smpi_deployment_finalization_barrier(const std::string instance_id) void smpi_deployment_cleanup_instances(){ for (auto const& item : smpi_instances) { Instance instance = item.second; - MSG_barrier_destroy(instance.finalization_barrier); + delete instance.finalization_barrier; simgrid::smpi::Comm::destroy(instance.comm_world); } smpi_instances.clear();