1 | #ifndef EP_LIB_INTERCOMM_HPP_INCLUDED |
---|
2 | #define EP_LIB_INTERCOMM_HPP_INCLUDED |
---|
3 | |
---|
4 | namespace 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 |
---|