1 | #include "ep_lib.hpp" |
---|
2 | #include <mpi.h> |
---|
3 | |
---|
4 | |
---|
5 | using namespace std; |
---|
6 | |
---|
7 | ::MPI_Comm MPI_COMM_WORLD_STD = MPI_COMM_WORLD; |
---|
8 | //#undef MPI_COMM_WORLD |
---|
9 | |
---|
10 | |
---|
11 | ::MPI_Comm MPI_COMM_NULL_STD = MPI_COMM_NULL; |
---|
12 | //#undef MPI_COMM_NULL |
---|
13 | |
---|
14 | |
---|
15 | ::MPI_Datatype MPI_INT_STD = MPI_INT; |
---|
16 | ::MPI_Datatype MPI_FLOAT_STD = MPI_FLOAT; |
---|
17 | ::MPI_Datatype MPI_DOUBLE_STD = MPI_DOUBLE; |
---|
18 | ::MPI_Datatype MPI_LONG_STD = MPI_LONG; |
---|
19 | ::MPI_Datatype MPI_CHAR_STD = MPI_CHAR; |
---|
20 | ::MPI_Datatype MPI_UNSIGNED_LONG_STD = MPI_UNSIGNED_LONG; |
---|
21 | ::MPI_Datatype MPI_UNSIGNED_CHAR_STD = MPI_UNSIGNED_CHAR; |
---|
22 | |
---|
23 | #undef MPI_INT |
---|
24 | #undef MPI_FLOAT |
---|
25 | #undef MPI_DOUBLE |
---|
26 | #undef MPI_LONG |
---|
27 | #undef MPI_CHAR |
---|
28 | #undef MPI_UNSIGNED_LONG |
---|
29 | #undef MPI_UNSIGNED_CHAR |
---|
30 | |
---|
31 | |
---|
32 | //ep_lib::MPI_Datatype MPI_INT = MPI_INT_STD; |
---|
33 | //ep_lib::MPI_Datatype MPI_FLOAT = MPI_FLOAT_STD; |
---|
34 | //ep_lib::MPI_Datatype MPI_DOUBLE = MPI_DOUBLE_STD; |
---|
35 | //ep_lib::MPI_Datatype MPI_LONG = MPI_LONG_STD; |
---|
36 | //ep_lib::MPI_Datatype MPI_CHAR = MPI_CHAR_STD; |
---|
37 | //ep_lib::MPI_Datatype MPI_UNSIGNED_LONG = MPI_UNSIGNED_LONG_STD; |
---|
38 | |
---|
39 | |
---|
40 | |
---|
41 | |
---|
42 | ::MPI_Op MPI_SUM_STD = MPI_SUM; |
---|
43 | ::MPI_Op MPI_MAX_STD = MPI_MAX; |
---|
44 | ::MPI_Op MPI_MIN_STD = MPI_MIN; |
---|
45 | |
---|
46 | #undef MPI_SUM |
---|
47 | #undef MPI_MAX |
---|
48 | #undef MPI_MIN |
---|
49 | |
---|
50 | //ep_lib::MPI_Op MPI_SUM = MPI_SUM_STD; |
---|
51 | //ep_lib::MPI_Op MPI_MAX = MPI_MAX_STD; |
---|
52 | //ep_lib::MPI_Op MPI_MIN = MPI_MIN_STD; |
---|
53 | |
---|
54 | // ep_lib::MPI_Comm::MPI_Comm(const MPI_Comm & comm) |
---|
55 | // { |
---|
56 | // printf("calling MPI_Comm copy constructor\n"); |
---|
57 | // is_ep = comm.is_ep; |
---|
58 | // is_intercomm = comm.is_intercomm; |
---|
59 | |
---|
60 | // int my_rank = comm.ep_comm_ptr->size_rank_info[1].first; |
---|
61 | // int num_ep = comm.ep_comm_ptr->size_rank_info[1].second; |
---|
62 | |
---|
63 | |
---|
64 | // if(0 == my_rank) |
---|
65 | // { |
---|
66 | // MPI_Info info; |
---|
67 | // MPI_Comm *out_comm; |
---|
68 | // ::MPI_Comm mpi_dup; |
---|
69 | |
---|
70 | // ::MPI_Comm in_comm = static_cast< ::MPI_Comm>(comm.mpi_comm); |
---|
71 | |
---|
72 | // ::MPI_Comm_dup(in_comm, &mpi_dup); |
---|
73 | |
---|
74 | // MPI_Comm_create_endpoints(mpi_dup, num_ep, info, out_comm); |
---|
75 | // comm.ep_comm_ptr->comm_list->mem_bridge = out_comm; |
---|
76 | // } |
---|
77 | |
---|
78 | // MPI_Barrier(comm); |
---|
79 | |
---|
80 | // *this = (comm.ep_comm_ptr->comm_list->mem_bridge[my_rank]); |
---|
81 | // // // my_buffer = NULL; |
---|
82 | // // // ep_barrier = NULL; |
---|
83 | // // // rank_map = NULL; |
---|
84 | // // // ep_comm_ptr = NULL; |
---|
85 | // // // mem_bridge = NULL; |
---|
86 | // // // mpi_bridge = NULL; |
---|
87 | // // // mpi_comm = comm; |
---|
88 | // } |
---|
89 | |
---|
90 | |
---|
91 | |
---|
92 | |
---|
93 | |
---|
94 | |
---|
95 | |
---|
96 | |
---|
97 | |
---|
98 | |
---|