source: XIOS/dev/branch_openmp/extern/ep_dev/ep_lib_intercomm.hpp @ 1515

Last change on this file since 1515 was 1499, checked in by yushan, 6 years ago

debugging for memory leaks

File size: 2.4 KB
Line 
1#ifndef EP_LIB_INTERCOMM_HPP_INCLUDED
2#define EP_LIB_INTERCOMM_HPP_INCLUDED
3
4namespace ep_lib
5{
6
7  typedef void* MPI_Datatype;
8  typedef void* MPI_Op;
9
10 
11  int MPI_Comm_dup_intercomm(MPI_Comm comm, MPI_Comm *newcomm);
12
13  int MPI_Comm_free_intercomm(MPI_Comm* comm);
14
15  int MPI_Barrier_intercomm(MPI_Comm comm);
16
17  int Message_Check_intercomm(MPI_Comm comm);
18
19  int MPI_Isend_intercomm(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request);
20  int MPI_Issend_intercomm(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request);
21
22
23  int MPI_Iprobe_intercomm(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status);
24  int MPI_Iprobe_any_source(int tag, MPI_Comm comm, int *flag, MPI_Status *status);
25  int MPI_Improbe_intercomm(int source, int tag, MPI_Comm comm, int *flag, MPI_Message *message, MPI_Status *status);
26  int MPI_Improbe_any_source(int tag, MPI_Comm comm, int *flag, MPI_Message *message, MPI_Status *status);
27
28  int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm);
29
30  int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm *newintercomm);
31
32  int MPI_Intercomm_create_kernel(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm *newintercomm);
33 
34  // #ifdef _intelmpi
35  // int MPI_Intercomm_create_from_world(MPI_Comm local_comm, int local_leader, int peer_comm_ptr, int mpi_remote_leader, int tag, MPI_Comm *newintercomm);
36  // #elif _openmpi
37  // int MPI_Intercomm_create_from_world(MPI_Comm local_comm, int local_leader, void* peer_comm_ptr, int mpi_remote_leader, int tag, MPI_Comm *newintercomm);
38  // #endif
39
40  int MPI_Intercomm_create_from_world(MPI_Comm local_comm, int local_leader, void* peer_comm_ptr, int mpi_remote_leader, int tag, MPI_Comm *newintercomm);
41 
42  int MPI_Intercomm_create_unique_leader(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm *newintercomm);
43
44  int MPI_Intercomm_merge(MPI_Comm intercomm, bool high, MPI_Comm *newintracomm);
45
46  int MPI_Intercomm_merge_unique_leader(MPI_Comm intercomm, bool high, MPI_Comm *newintracomm);
47
48  int MPI_Comm_remote_size(MPI_Comm comm, int *size);
49
50  int MPI_Comm_test_inter(MPI_Comm comm, int *flag);
51
52  int test_sendrecv(MPI_Comm comm);
53
54}
55
56
57#endif // EP_LIB_INTERCOMM_HPP_INCLUDED
Note: See TracBrowser for help on using the repository browser.