X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ecd5f7562caf1d443bf22788fa5f4fac408776ec..38cc0d89b17367770fa9a0e1ac3284d6b7a4fd3e:/src/smpi/internals/smpi_deployment.cpp diff --git a/src/smpi/internals/smpi_deployment.cpp b/src/smpi/internals/smpi_deployment.cpp index d5ef6a582b..85de568017 100644 --- a/src/smpi/internals/smpi_deployment.cpp +++ b/src/smpi/internals/smpi_deployment.cpp @@ -7,6 +7,7 @@ #include "SmpiHost.hpp" #include "private.hpp" #include "simgrid/msg.h" /* barrier */ +#include "simgrid/s4u/Engine.hpp" #include "smpi_comm.hpp" #include @@ -35,9 +36,6 @@ public: }; } } -namespace s4u { -extern std::map host_list; -} } using simgrid::smpi::app::Instance; @@ -63,8 +61,9 @@ void SMPI_app_instance_register(const char *name, xbt_main_func_t code, int num_ static int already_called = 0; if (not already_called) { already_called = 1; - for (auto const& item : simgrid::s4u::host_list) { - simgrid::s4u::Host* host = item.second; + std::vector list; + simgrid::s4u::Engine::getInstance()->getHostList(&list); + for (auto const& host : list) { host->extension_set(new simgrid::smpi::SmpiHost(host)); } } @@ -79,7 +78,6 @@ void SMPI_app_instance_register(const char *name, xbt_main_func_t code, int num_ smpi_instances.insert(std::pair(name, instance)); } -//get the index of the process in the process_data array void smpi_deployment_register_process(const char* instance_id, int rank, int index) { if (smpi_instances.empty()) { // no instance registered, we probably used smpirun. @@ -94,7 +92,6 @@ void smpi_deployment_register_process(const char* instance_id, int rank, int ind instance.comm_world->group()->set_mapping(index, rank); } -//get the index of the process in the process_data array MPI_Comm* smpi_deployment_comm_world(const char* instance_id) { if (smpi_instances.empty()) { // no instance registered, we probably used smpirun.