- smpi_group_set_mapping(smpi_comm_group(instance->comm_world), index, rank);
- *bar = instance->finalization_barrier;
- *comm = &instance->comm_world;
- return;
+ 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==nullptr){//no instance registered, we probably used smpirun.
+ return nullptr;
+ }
+ s_smpi_mpi_instance_t* instance =
+ static_cast<s_smpi_mpi_instance_t*>(xbt_dict_get_or_null(smpi_instances, instance_id));
+ xbt_assert(instance, "Error, unknown instance %s", instance_id);
+ return &instance->comm_world;
+}
+
+msg_bar_t smpi_deployment_finalization_barrier(const char* instance_id)
+{
+ if(smpi_instances==nullptr){//no instance registered, we probably used smpirun.
+ return nullptr;
+ }
+ s_smpi_mpi_instance_t* instance =
+ static_cast<s_smpi_mpi_instance_t*>(xbt_dict_get_or_null(smpi_instances, instance_id));
+ xbt_assert(instance, "Error, unknown instance %s", instance_id);
+ return instance->finalization_barrier;