- static int already_called = 0;
- if (not already_called) {
- already_called = 1;
- std::vector<simgrid::s4u::Host*> list = simgrid::s4u::Engine::get_instance()->get_all_hosts();
- for (auto const& host : list) {
- host->extension_set(new simgrid::smpi::Host(host));
- }
- }
-
- 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);
-// FIXME : using MPI_Attr_put with MPI_UNIVERSE_SIZE is forbidden and we make it a no-op (which triggers a warning as MPI_ERR_ARG is returned).
-// Directly calling Comm::attr_put breaks for now, as MPI_UNIVERSE_SIZE,is <0
-// instance.comm_world->attr_put<simgrid::smpi::Comm>(MPI_UNIVERSE_SIZE, reinterpret_cast<void*>(instance.size));
-
- process_count+=num_processes;