Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
"new ruby host method"
[simgrid.git] / src / smpi / smpi_comm.c
1 #include "private.h"
2
3 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_comm, smpi,
4                                 "Logging specific to SMPI (comm)");
5
6 typedef struct s_smpi_mpi_communicator {
7   MPI_Group group;
8 } s_smpi_mpi_communicator_t;
9
10 MPI_Comm smpi_comm_new(MPI_Group group) {
11   MPI_Comm comm;
12
13   comm = xbt_new(s_smpi_mpi_communicator_t, 1);
14   comm->group = group;
15   smpi_group_use(comm->group);
16   return comm;
17 }
18
19 void smpi_comm_destroy(MPI_Comm comm) {
20   smpi_group_destroy(comm->group);
21   xbt_free(comm);
22 }
23
24 MPI_Group smpi_comm_group(MPI_Comm comm) {
25   return comm->group;
26 }
27
28 int smpi_comm_size(MPI_Comm comm) {
29   return smpi_group_size(smpi_comm_group(comm));
30 }
31
32 int smpi_comm_rank(MPI_Comm comm) {
33   return smpi_group_rank(smpi_comm_group(comm), smpi_process_index());
34 }