source: XIOS/dev/branch_openmp/extern/ep_dev/ep_size.cpp

Last change on this file was 1527, checked in by yushan, 3 years ago

save dev

File size: 908 bytes
Line 
1#include "ep_lib.hpp"
2#include <mpi.h>
3#include "ep_declaration.hpp"
4#include "ep_mpi.hpp"
5
6namespace ep_lib
7{
8
9  int MPI_Comm_size(MPI_Comm comm, int* size)
10  {
11    if(comm->is_ep)
12    {
13      Debug("MPI_Comm_size with EP");
14      return *size = comm->ep_comm_ptr->size_rank_info[0].second;
15    }
16
17    return MPI_Comm_size_mpi(comm, size);
18  }
19
20  int MPI_Comm_remote_size(MPI_Comm comm, int *size)
21  {
22    if(comm->is_ep)
23    {
24      return *size = comm->is_intercomm? comm->inter_rank_map->size() : 0;
25    }
26    return MPI_Comm_remote_size_mpi(comm, size);
27  }
28
29
30  int MPI_Comm_size_mpi(MPI_Comm comm, int* size)
31  {
32    Debug("MPI_Comm_size with MPI");
33    return ::MPI_Comm_size(to_mpi_comm(comm->mpi_comm), size);
34  }
35
36  int MPI_Comm_remote_size_mpi(MPI_Comm comm, int *size)
37  {
38    Debug("MPI_Comm_remote_size with MPI");
39    return ::MPI_Comm_remote_size(to_mpi_comm(comm->mpi_comm), size);
40  }
41
42}
43
44
Note: See TracBrowser for help on using the repository browser.