1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
3 * (C) 2001 by Argonne National Laboratory.
4 * See COPYRIGHT in top-level directory.
6 /* This file replaces all MPI function names with their PMPI equivalents.
7 PMPI versions are used by default so that the user can profile
8 application code without interference from MPI functions used by
12 #ifndef USE_MPI_VERSIONS
15 #define MPI_Abort PMPI_Abort
17 #define MPI_Address PMPI_Address
19 #define MPI_Allgather PMPI_Allgather
21 #define MPI_Allgatherv PMPI_Allgatherv
23 #define MPI_Allreduce PMPI_Allreduce
25 #define MPI_Alltoall PMPI_Alltoall
27 #define MPI_Alltoallv PMPI_Alltoallv
29 #define MPI_Alltoallw PMPI_Alltoallw
30 #undef MPI_Attr_delete
31 #define MPI_Attr_delete PMPI_Attr_delete
33 #define MPI_Attr_get PMPI_Attr_get
35 #define MPI_Attr_put PMPI_Attr_put
37 #define MPI_Barrier PMPI_Barrier
39 #define MPI_Bcast PMPI_Bcast
41 #define MPI_Bsend PMPI_Bsend
43 #define MPI_Bsend_init PMPI_Bsend_init
44 #undef MPI_Buffer_attach
45 #define MPI_Buffer_attach PMPI_Buffer_attach
46 #undef MPI_Buffer_detach
47 #define MPI_Buffer_detach PMPI_Buffer_detach
49 #define MPI_Cancel PMPI_Cancel
50 #undef MPI_Cart_coords
51 #define MPI_Cart_coords PMPI_Cart_coords
52 #undef MPI_Cart_create
53 #define MPI_Cart_create PMPI_Cart_create
55 #define MPI_Cart_get PMPI_Cart_get
57 #define MPI_Cart_map PMPI_Cart_map
59 #define MPI_Cart_rank PMPI_Cart_rank
61 #define MPI_Cart_shift PMPI_Cart_shift
63 #define MPI_Cart_sub PMPI_Cart_sub
64 #undef MPI_Cartdim_get
65 #define MPI_Cartdim_get PMPI_Cartdim_get
66 #undef MPI_Comm_call_errhandler
67 #define MPI_Comm_call_errhandler PMPI_Comm_call_errhandler
68 #undef MPI_Comm_compare
69 #define MPI_Comm_compare PMPI_Comm_compare
70 #undef MPI_Comm_create
71 #define MPI_Comm_create PMPI_Comm_create
73 #define MPI_Comm_dup PMPI_Comm_dup
75 #define MPI_Comm_free PMPI_Comm_free
77 #define MPI_Comm_group PMPI_Comm_group
79 #define MPI_Comm_rank PMPI_Comm_rank
80 #undef MPI_Comm_remote_group
81 #define MPI_Comm_remote_group PMPI_Comm_remote_group
82 #undef MPI_Comm_remote_size
83 #define MPI_Comm_remote_size PMPI_Comm_remote_size
85 #define MPI_Comm_size PMPI_Comm_size
87 #define MPI_Comm_split PMPI_Comm_split
88 #undef MPI_Comm_test_inter
89 #define MPI_Comm_test_inter PMPI_Comm_test_inter
90 #undef MPI_Dims_create
91 #define MPI_Dims_create PMPI_Dims_create
92 #undef MPI_Errhandler_create
93 #define MPI_Errhandler_create PMPI_Errhandler_create
94 #undef MPI_Errhandler_free
95 #define MPI_Errhandler_free PMPI_Errhandler_free
96 #undef MPI_Errhandler_get
97 #define MPI_Errhandler_get PMPI_Errhandler_get
98 #undef MPI_Errhandler_set
99 #define MPI_Errhandler_set PMPI_Errhandler_set
100 #undef MPI_Error_class
101 #define MPI_Error_class PMPI_Error_class
102 #undef MPI_Error_string
103 #define MPI_Error_string PMPI_Error_string
105 #define MPI_Finalize PMPI_Finalize
107 #define MPI_Gather PMPI_Gather
109 #define MPI_Gatherv PMPI_Gatherv
111 #define MPI_Get_count PMPI_Get_count
112 #undef MPI_Get_elements
113 #define MPI_Get_elements PMPI_Get_elements
114 #undef MPI_Get_processor_name
115 #define MPI_Get_processor_name PMPI_Get_processor_name
116 #undef MPI_Get_version
117 #define MPI_Get_version PMPI_Get_version
118 #undef MPI_Graph_create
119 #define MPI_Graph_create PMPI_Graph_create
121 #define MPI_Graph_get PMPI_Graph_get
123 #define MPI_Graph_map PMPI_Graph_map
124 #undef MPI_Graph_neighbors
125 #define MPI_Graph_neighbors PMPI_Graph_neighbors
126 #undef MPI_Graph_neighbors_count
127 #define MPI_Graph_neighbors_count PMPI_Graph_neighbors_count
128 #undef MPI_Graphdims_get
129 #define MPI_Graphdims_get PMPI_Graphdims_get
130 #undef MPI_Group_compare
131 #define MPI_Group_compare PMPI_Group_compare
132 #undef MPI_Group_difference
133 #define MPI_Group_difference PMPI_Group_difference
134 #undef MPI_Group_excl
135 #define MPI_Group_excl PMPI_Group_excl
136 #undef MPI_Group_free
137 #define MPI_Group_free PMPI_Group_free
138 #undef MPI_Group_incl
139 #define MPI_Group_incl PMPI_Group_incl
140 #undef MPI_Group_intersection
141 #define MPI_Group_intersection PMPI_Group_intersection
142 #undef MPI_Group_range_excl
143 #define MPI_Group_range_excl PMPI_Group_range_excl
144 #undef MPI_Group_range_incl
145 #define MPI_Group_range_incl PMPI_Group_range_incl
146 #undef MPI_Group_rank
147 #define MPI_Group_rank PMPI_Group_rank
148 #undef MPI_Group_size
149 #define MPI_Group_size PMPI_Group_size
150 #undef MPI_Group_translate_ranks
151 #define MPI_Group_translate_ranks PMPI_Group_translate_ranks
152 #undef MPI_Group_union
153 #define MPI_Group_union PMPI_Group_union
155 #define MPI_Ibsend PMPI_Ibsend
157 #define MPI_Init PMPI_Init
158 #undef MPI_Initialized
159 #define MPI_Initialized PMPI_Initialized
160 #undef MPI_Intercomm_create
161 #define MPI_Intercomm_create PMPI_Intercomm_create
162 #undef MPI_Intercomm_merge
163 #define MPI_Intercomm_merge PMPI_Intercomm_merge
165 #define MPI_Iprobe PMPI_Iprobe
167 #define MPI_Irecv PMPI_Irecv
169 #define MPI_Irsend PMPI_Irsend
171 #define MPI_Isend PMPI_Isend
173 #define MPI_Issend PMPI_Issend
174 #undef MPI_Keyval_create
175 #define MPI_Keyval_create PMPI_Keyval_create
176 #undef MPI_Keyval_free
177 #define MPI_Keyval_free PMPI_Keyval_free
179 #define MPI_Name_get PMPI_Name_get
181 #define MPI_Name_put PMPI_Name_put
183 #define MPI_Op_create PMPI_Op_create
185 #define MPI_Op_free PMPI_Op_free
187 #define MPI_Pack PMPI_Pack
189 #define MPI_Pack_size PMPI_Pack_size
191 #define MPI_Pcontrol PMPI_Pcontrol
193 #define MPI_Probe PMPI_Probe
195 #define MPI_Recv PMPI_Recv
197 #define MPI_Recv_init PMPI_Recv_init
199 #define MPI_Reduce PMPI_Reduce
200 #undef MPI_Reduce_scatter
201 #define MPI_Reduce_scatter PMPI_Reduce_scatter
202 #undef MPI_Request_c2f
203 #define MPI_Request_c2f PMPI_Request_c2f
204 #undef MPI_Request_free
205 #define MPI_Request_free PMPI_Request_free
207 #define MPI_Rsend PMPI_Rsend
208 #undef MPI_Rsend_init
209 #define MPI_Rsend_init PMPI_Rsend_init
211 #define MPI_Scan PMPI_Scan
213 #define MPI_Scatter PMPI_Scatter
215 #define MPI_Scatterv PMPI_Scatterv
217 #define MPI_Send PMPI_Send
219 #define MPI_Send_init PMPI_Send_init
221 #define MPI_Sendrecv PMPI_Sendrecv
222 #undef MPI_Sendrecv_replace
223 #define MPI_Sendrecv_replace PMPI_Sendrecv_replace
225 #define MPI_Ssend PMPI_Ssend
226 #undef MPI_Ssend_init
227 #define MPI_Ssend_init PMPI_Ssend_init
229 #define MPI_Start PMPI_Start
231 #define MPI_Startall PMPI_Startall
233 #define MPI_Test PMPI_Test
234 #undef MPI_Test_cancelled
235 #define MPI_Test_cancelled PMPI_Test_cancelled
237 #define MPI_Testall PMPI_Testall
239 #define MPI_Testany PMPI_Testany
241 #define MPI_Testsome PMPI_Testsome
242 #undef MPI_Topo_status
243 #define MPI_Topo_status PMPI_Topo_status
245 #define MPI_Topo_test PMPI_Topo_test
246 #undef MPI_Type_commit
247 #define MPI_Type_commit PMPI_Type_commit
248 #undef MPI_Type_contiguous
249 #define MPI_Type_contiguous PMPI_Type_contiguous
250 #undef MPI_Type_count
251 #define MPI_Type_count PMPI_Type_count
252 /* #define MPI_Type_create_darray PMPI_Type_create_darray */
253 #undef MPI_Type_create_indexed_block
254 #define MPI_Type_create_indexed_block PMPI_Type_create_indexed_block
255 /* #define MPI_Type_create_subarray PMPI_Type_create_subarray */
256 #undef MPI_Type_extent
257 #define MPI_Type_extent PMPI_Type_extent
259 #define MPI_Type_free PMPI_Type_free
260 #undef MPI_Type_get_contents
261 #define MPI_Type_get_contents PMPI_Type_get_contents
262 #undef MPI_Type_get_envelope
263 #define MPI_Type_get_envelope PMPI_Type_get_envelope
264 #undef MPI_Type_get_true_extent
265 #define MPI_Type_get_true_extent PMPI_Type_get_true_extent
266 #undef MPI_Type_hindexed
267 #define MPI_Type_hindexed PMPI_Type_hindexed
268 #undef MPI_Type_hvector
269 #define MPI_Type_hvector PMPI_Type_hvector
270 #undef MPI_Type_indexed
271 #define MPI_Type_indexed PMPI_Type_indexed
273 #define MPI_Type_lb PMPI_Type_lb
275 #define MPI_Type_size PMPI_Type_size
276 #undef MPI_Type_struct
277 #define MPI_Type_struct PMPI_Type_struct
279 #define MPI_Type_ub PMPI_Type_ub
280 #undef MPI_Type_vector
281 #define MPI_Type_vector PMPI_Type_vector
283 #define MPI_Unpack PMPI_Unpack
285 #define MPI_Wait PMPI_Wait
287 #define MPI_Waitall PMPI_Waitall
289 #define MPI_Waitany PMPI_Waitany
291 #define MPI_Waitsome PMPI_Waitsome
293 #define MPI_Wtick PMPI_Wtick
295 #define MPI_Wtime PMPI_Wtime
297 /* commented out because these could be macros themselves, as in MPICH
299 #define MPI_Type_c2f PMPI_Type_c2f
301 #define MPI_Type_f2c PMPI_Type_f2c
303 #define MPI_Comm_c2f PMPI_Comm_c2f
305 #define MPI_Comm_f2c PMPI_Comm_f2c
307 #define MPI_Group_c2f PMPI_Group_c2f
309 #define MPI_Group_f2c PMPI_Group_f2c
311 #define MPI_Op_c2f PMPI_Op_c2f
313 #define MPI_Op_f2c PMPI_Op_f2c
314 #undef MPI_Request_c2f
315 #define MPI_Request_c2f PMPI_Request_c2f
316 #undef MPI_Request_f2c
317 #define MPI_Request_f2c PMPI_Request_f2c
319 #define MPI_Win_c2f PMPI_Win_c2f
321 #define MPI_Win_f2c PMPI_Win_f2c
323 #undef MPI_Status_c2f
324 #define MPI_Status_c2f PMPI_Status_c2f
325 #undef MPI_Status_f2c
326 #define MPI_Status_f2c PMPI_Status_f2c
328 #undef MPI_Status_set_elements
329 #define MPI_Status_set_elements PMPI_Status_set_elements
331 #ifndef HAVE_MPI_INFO_SRC /* everywhere except in info source directory */
332 #undef MPI_Info_create
333 #define MPI_Info_create PMPI_Info_create
335 #define MPI_Info_set PMPI_Info_set
336 #undef MPI_Info_delete
337 #define MPI_Info_delete PMPI_Info_delete
339 #define MPI_Info_get PMPI_Info_get
340 #undef MPI_Info_get_valuelen
341 #define MPI_Info_get_valuelen PMPI_Info_get_valuelen
342 #undef MPI_Info_get_nkeys
343 #define MPI_Info_get_nkeys PMPI_Info_get_nkeys
344 #undef MPI_Info_get_nthkey
345 #define MPI_Info_get_nthkey PMPI_Info_get_nthkey
347 #define MPI_Info_dup PMPI_Info_dup
349 #define MPI_Info_free PMPI_Info_free
350 /* #undef MPI_Info_c2f
351 #define MPI_Info_c2f PMPI_Info_c2f
353 #define MPI_Info_f2c PMPI_Info_f2c
356 #undef MPI_Grequest_start
357 #define MPI_Grequest_start PMPI_Grequest_start
358 #undef MPI_Grequest_complete
359 #define MPI_Grequest_complete PMPI_Grequest_complete
360 #undef MPI_Status_set_cancelled
361 #define MPI_Status_set_cancelled PMPI_Status_set_cancelled
363 #undef MPIX_Grequest_class_create
364 #define MPIX_Grequest_class_create PMPIX_Grequest_class_create
365 #undef MPIX_Grequest_class_allocate
366 #define MPIX_Grequest_class_allocate PMPIX_Grequest_class_allocate
368 #ifdef MPIO_FORTRAN_SRC /* only in MPI-IO Fortran source directory */
370 #define MPI_File_c2f PMPI_File_c2f
372 #define MPI_File_f2c PMPI_File_f2c
375 #undef MPI_Type_get_attr
376 #define MPI_Type_get_attr PMPI_Type_get_attr
377 #undef MPI_Type_set_attr
378 #define MPI_Type_set_attr PMPI_Type_set_attr
379 #undef MPI_Comm_set_attr
380 #define MPI_Comm_set_attr PMPI_Comm_set_attr
381 #undef MPI_Type_create_keyval
382 #define MPI_Type_create_keyval PMPI_Type_create_keyval