Multi-ApplicationOnlineProfiling  2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
VMPI_wrappers.c
Go to the documentation of this file.
1 /* ############################ MALP License ############################## */
2 /* # Fri Jan 18 14:00:00 CET 2013 # */
3 /* # Copyright or (C) or Copr. Commissariat a l'Energie Atomique # */
4 /* # # */
5 /* # This software is governed by the CeCILL-C license under French law # */
6 /* # and abiding by the rules of distribution of free software. You can # */
7 /* # use, modify and/ or redistribute the software under the terms of # */
8 /* # the CeCILL-C license as circulated by CEA, CNRS and INRIA at the # */
9 /* # following URL http://www.cecill.info. # */
10 /* # # */
11 /* # The fact that you are presently reading this means that you have # */
12 /* # had knowledge of the CeCILL-C license and that you accept its # */
13 /* # terms. # */
14 /* # # */
15 /* # Authors: # */
16 /* # - BESNARD Jean-Baptiste jean-baptiste.besnard@cea.fr # */
17 /* # # */
18 /* ######################################################################## */
19 #include <VMPI.h>
20 #include "VMPI_Wrap.h"
21 
22 #include <mpi.h>
23 #include <stdio.h>
24 #include <stdlib.h>
25 
26 
27 /* We have a special case for Init and Finalize to init and release the Virtualization interface */
28 
29 int MPI_Init(int * argc, char *** argv)
30 {
31  int ret;
32 
33  ret = PMPI_Init(argc , argv );
34 
35  /* run VMPI init */
36  VMPI_Init(argc, argv);
37 
38  return ret;
39 }
40 
41 
42 
43 
44 int MPI_Init_thread(int * argc ,char * * * argv ,int required ,int * provided)
45 {
46  int ret;
47 
48  /* run MPI init */
49  if( (ret = PMPI_Init_thread(argc, argv, required, provided)) != MPI_SUCCESS )
50  return -1;
51 
52  /* run VMPI init */
53  VMPI_Init(argc, argv);
54 
55  return ret;
56 }
57 
59 {
60  int ret;
61 
62  /* Cleanup VMPI */
63  VMPI_Release();
64 
65  ret = PMPI_Finalize();
66 
67  return ret;
68 
69 }
70 
71 /* Lets wrap all MPI functions except those we already defined */
72 
73 int MPI_Abort( MPI_Comm comm, int errorcode )
74 {
75  MACRO_MPI_Comm (comm)
76 
77  int ret = PMPI_Abort( comm, errorcode );
78  return ret;
79 }
80 int MPI_Accumulate( void * origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win )
81 {
82 
83 
84  int ret = PMPI_Accumulate( origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, op, win );
85  return ret;
86 }
87 int MPI_Add_error_class( int * errorclass )
88 {
89 
90 
91  int ret = PMPI_Add_error_class( errorclass );
92  return ret;
93 }
94 int MPI_Add_error_code( int errorclass, int * errorcode )
95 {
96 
97 
98  int ret = PMPI_Add_error_code( errorclass, errorcode );
99  return ret;
100 }
101 int MPI_Add_error_string( int errorcode, char * string )
102 {
103 
104 
105  int ret = PMPI_Add_error_string( errorcode, string );
106  return ret;
107 }
108 int MPI_Address( void * location, MPI_Aint * address )
109 {
110 
111 
112  int ret = PMPI_Address( location, address );
113  return ret;
114 }
115 int MPI_Allgather( void * sendbuf, int sendcount, MPI_Datatype sendtype, void * recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm )
116 {
117  MACRO_MPI_Comm (comm)
118 
119  int ret = PMPI_Allgather( sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm );
120  return ret;
121 }
122 int MPI_Allgatherv( void * sendbuf, int sendcount, MPI_Datatype sendtype, void * recvbuf, int * recvcounts, int * displs, MPI_Datatype recvtype, MPI_Comm comm )
123 {
124  MACRO_MPI_Comm (comm)
125 
126  int ret = PMPI_Allgatherv( sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm );
127  return ret;
128 }
129 int MPI_Alloc_mem( MPI_Aint size, MPI_Info info, void * baseptr )
130 {
131 
132 
133  int ret = PMPI_Alloc_mem( size, info, baseptr );
134  return ret;
135 }
136 int MPI_Allreduce( void * sendbuf, void * recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm )
137 {
138  MACRO_MPI_Comm (comm)
139 
140  int ret = PMPI_Allreduce( sendbuf, recvbuf, count, datatype, op, comm );
141  return ret;
142 }
143 int MPI_Alltoall( void * sendbuf, int sendcount, MPI_Datatype sendtype, void * recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm )
144 {
145  MACRO_MPI_Comm (comm)
146 
147  int ret = PMPI_Alltoall( sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm );
148  return ret;
149 }
150 int MPI_Alltoallv( void * sendbuf, int * sendcounts, int * sdispls, MPI_Datatype sendtype, void * recvbuf, int * recvcounts, int * rdispls, MPI_Datatype recvtype, MPI_Comm comm )
151 {
152  MACRO_MPI_Comm (comm)
153 
154  int ret = PMPI_Alltoallv( sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm );
155  return ret;
156 }
157 int MPI_Alltoallw( void * sendbuf, int * sendcounts, int * sdispls, MPI_Datatype * sendtypes, void * recvbuf, int * recvcounts, int * rdispls, MPI_Datatype * recvtypes, MPI_Comm comm )
158 {
159  MACRO_MPI_Comm (comm)
160 
161  int ret = PMPI_Alltoallw( sendbuf, sendcounts, sdispls, sendtypes, recvbuf, recvcounts, rdispls, recvtypes, comm );
162  return ret;
163 }
164 int MPI_Attr_delete( MPI_Comm comm, int keyval )
165 {
166  MACRO_MPI_Comm (comm)
167 
168  int ret = PMPI_Attr_delete( comm, keyval );
169  return ret;
170 }
171 int MPI_Attr_get( MPI_Comm comm, int keyval, void * attribute_val, int * flag )
172 {
173  MACRO_MPI_Comm (comm)
174 
175  int ret = PMPI_Attr_get( comm, keyval, attribute_val, flag );
176  return ret;
177 }
178 int MPI_Attr_put( MPI_Comm comm, int keyval, void * attribute_val )
179 {
180  MACRO_MPI_Comm (comm)
181 
182  int ret = PMPI_Attr_put( comm, keyval, attribute_val );
183  return ret;
184 }
185 int MPI_Barrier( MPI_Comm comm )
186 {
187  MACRO_MPI_Comm (comm)
188 
189  int ret = PMPI_Barrier( comm );
190  return ret;
191 }
192 int MPI_Bcast( void * buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm )
193 {
194  MACRO_MPI_Comm (comm)
195 
196  int ret = PMPI_Bcast( buffer, count, datatype, root, comm );
197  return ret;
198 }
199 int MPI_Bsend( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm )
200 {
201  MACRO_MPI_Comm (comm)
202 
203  int ret = PMPI_Bsend( buf, count, datatype, dest, tag, comm );
204  return ret;
205 }
206 int MPI_Bsend_init( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request * request )
207 {
208  MACRO_MPI_Comm (comm)
209 
210  int ret = PMPI_Bsend_init( buf, count, datatype, dest, tag, comm, request );
211  return ret;
212 }
213 int MPI_Buffer_attach( void * buffer, int size )
214 {
215 
216 
217  int ret = PMPI_Buffer_attach( buffer, size );
218  return ret;
219 }
220 int MPI_Buffer_detach( void * buffer, int * size )
221 {
222 
223 
224  int ret = PMPI_Buffer_detach( buffer, size );
225  return ret;
226 }
227 int MPI_Cancel( MPI_Request * request )
228 {
229 
230 
231  int ret = PMPI_Cancel( request );
232  return ret;
233 }
234 int MPI_Cart_coords( MPI_Comm comm, int rank, int maxdims, int * coords )
235 {
236  MACRO_MPI_Comm (comm)
237 
238  int ret = PMPI_Cart_coords( comm, rank, maxdims, coords );
239  return ret;
240 }
241 int MPI_Cart_create( MPI_Comm old_comm, int ndims, int * dims, int * periods, int reorder, MPI_Comm * comm_cart )
242 {
243  MACRO_MPI_Comm (old_comm)
244 
245  int ret = PMPI_Cart_create( old_comm, ndims, dims, periods, reorder, comm_cart );
246  return ret;
247 }
248 int MPI_Cart_get( MPI_Comm comm, int maxdims, int * dims, int * periods, int * coords )
249 {
250  MACRO_MPI_Comm (comm)
251 
252  int ret = PMPI_Cart_get( comm, maxdims, dims, periods, coords );
253  return ret;
254 }
255 int MPI_Cart_map( MPI_Comm comm, int ndims, int * dims, int * periods, int * newrank )
256 {
257  MACRO_MPI_Comm (comm)
258 
259  int ret = PMPI_Cart_map( comm, ndims, dims, periods, newrank );
260  return ret;
261 }
262 int MPI_Cart_rank( MPI_Comm comm, int * coords, int * rank )
263 {
264  MACRO_MPI_Comm (comm)
265 
266  int ret = PMPI_Cart_rank( comm, coords, rank );
267  return ret;
268 }
269 int MPI_Cart_shift( MPI_Comm comm, int direction, int disp, int * rank_source, int * rank_dest )
270 {
271  MACRO_MPI_Comm (comm)
272 
273  int ret = PMPI_Cart_shift( comm, direction, disp, rank_source, rank_dest );
274  return ret;
275 }
276 int MPI_Cart_sub( MPI_Comm comm, int * remain_dims, MPI_Comm * new_comm )
277 {
278  MACRO_MPI_Comm (comm)
279 
280  int ret = PMPI_Cart_sub( comm, remain_dims, new_comm );
281  return ret;
282 }
283 int MPI_Cartdim_get( MPI_Comm comm, int * ndims )
284 {
285  MACRO_MPI_Comm (comm)
286 
287  int ret = PMPI_Cartdim_get( comm, ndims );
288  return ret;
289 }
290 int MPI_Close_port( char * port_name )
291 {
292 
293 
294  int ret = PMPI_Close_port( port_name );
295  return ret;
296 }
297 int MPI_Comm_accept( char * port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm * newcomm )
298 {
299  MACRO_MPI_Comm (comm)
300 
301  int ret = PMPI_Comm_accept( port_name, info, root, comm, newcomm );
302  return ret;
303 }
304 int MPI_Comm_c2f( MPI_Comm comm )
305 {
306  MACRO_MPI_Comm (comm)
307 
308  int ret = PMPI_Comm_c2f( comm );
309  return ret;
310 }
311 int MPI_Comm_call_errhandler( MPI_Comm comm, int errorcode )
312 {
313  MACRO_MPI_Comm (comm)
314 
315  int ret = PMPI_Comm_call_errhandler( comm, errorcode );
316  return ret;
317 }
318 int MPI_Comm_compare( MPI_Comm comm1, MPI_Comm comm2, int * result )
319 {
320  MACRO_MPI_Comm (comm1) MACRO_MPI_Comm (comm2)
321 
322  int ret = PMPI_Comm_compare( comm1, comm2, result );
323  return ret;
324 }
325 int MPI_Comm_connect( char * port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm * newcomm )
326 {
327  MACRO_MPI_Comm (comm)
328 
329  int ret = PMPI_Comm_connect( port_name, info, root, comm, newcomm );
330  return ret;
331 }
332 int MPI_Comm_create_errhandler( MPI_Comm_errhandler_function * function, MPI_Errhandler * errhandler )
333 {
334 
335 
336  int ret = PMPI_Comm_create_errhandler( function, errhandler );
337  return ret;
338 }
339 int MPI_Comm_create_keyval( MPI_Comm_copy_attr_function * comm_copy_attr_fn, MPI_Comm_delete_attr_function * comm_delete_attr_fn, int * comm_keyval, void * extra_state )
340 {
341 
342 
343  int ret = PMPI_Comm_create_keyval( comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state );
344  return ret;
345 }
346 int MPI_Comm_create( MPI_Comm comm, MPI_Group group, MPI_Comm * newcomm )
347 {
348  MACRO_MPI_Comm (comm)
349 
350  int ret = PMPI_Comm_create( comm, group, newcomm );
351  return ret;
352 }
353 int MPI_Comm_delete_attr( MPI_Comm comm, int comm_keyval )
354 {
355  MACRO_MPI_Comm (comm)
356 
357  int ret = PMPI_Comm_delete_attr( comm, comm_keyval );
358  return ret;
359 }
360 int MPI_Comm_disconnect( MPI_Comm * comm )
361 {
362 
363 
364  int ret = PMPI_Comm_disconnect( comm );
365  return ret;
366 }
367 int MPI_Comm_dup( MPI_Comm comm, MPI_Comm * newcomm )
368 {
369  MACRO_MPI_Comm (comm)
370 
371  int ret = PMPI_Comm_dup( comm, newcomm );
372  return ret;
373 }
374 int MPI_Comm_free_keyval( int * comm_keyval )
375 {
376 
377 
378  int ret = PMPI_Comm_free_keyval( comm_keyval );
379  return ret;
380 }
381 int MPI_Comm_free( MPI_Comm * comm )
382 {
383 
384 
385  int ret = PMPI_Comm_free( comm );
386  return ret;
387 }
388 int MPI_Comm_get_attr( MPI_Comm comm, int comm_keyval, void * attribute_val, int * flag )
389 {
390  MACRO_MPI_Comm (comm)
391 
392  int ret = PMPI_Comm_get_attr( comm, comm_keyval, attribute_val, flag );
393  return ret;
394 }
395 int MPI_Comm_get_errhandler( MPI_Comm comm, MPI_Errhandler * erhandler )
396 {
397  MACRO_MPI_Comm (comm)
398 
399  int ret = PMPI_Comm_get_errhandler( comm, erhandler );
400  return ret;
401 }
402 int MPI_Comm_get_name( MPI_Comm comm, char * comm_name, int * resultlen )
403 {
404  MACRO_MPI_Comm (comm)
405 
406  int ret = PMPI_Comm_get_name( comm, comm_name, resultlen );
407  return ret;
408 }
409 int MPI_Comm_get_parent( MPI_Comm * parent )
410 {
411 
412 
413  int ret = PMPI_Comm_get_parent( parent );
414  return ret;
415 }
416 int MPI_Comm_group( MPI_Comm comm, MPI_Group * group )
417 {
418  MACRO_MPI_Comm (comm)
419 
420  int ret = PMPI_Comm_group( comm, group );
421  return ret;
422 }
423 int MPI_Comm_join( int fd, MPI_Comm * intercomm )
424 {
425 
426 
427  int ret = PMPI_Comm_join( fd, intercomm );
428  return ret;
429 }
430 int MPI_Comm_rank( MPI_Comm comm, int * rank )
431 {
432  MACRO_MPI_Comm (comm)
433 
434  int ret = PMPI_Comm_rank( comm, rank );
435  return ret;
436 }
437 int MPI_Comm_remote_group( MPI_Comm comm, MPI_Group * group )
438 {
439  MACRO_MPI_Comm (comm)
440 
441  int ret = PMPI_Comm_remote_group( comm, group );
442  return ret;
443 }
444 int MPI_Comm_remote_size( MPI_Comm comm, int * size )
445 {
446  MACRO_MPI_Comm (comm)
447 
448  int ret = PMPI_Comm_remote_size( comm, size );
449  return ret;
450 }
451 int MPI_Comm_set_attr( MPI_Comm comm, int comm_keyval, void * attribute_val )
452 {
453  MACRO_MPI_Comm (comm)
454 
455  int ret = PMPI_Comm_set_attr( comm, comm_keyval, attribute_val );
456  return ret;
457 }
458 int MPI_Comm_set_errhandler( MPI_Comm comm, MPI_Errhandler errhandler )
459 {
460  MACRO_MPI_Comm (comm)
461 
462  int ret = PMPI_Comm_set_errhandler( comm, errhandler );
463  return ret;
464 }
465 int MPI_Comm_set_name( MPI_Comm comm, char * comm_name )
466 {
467  MACRO_MPI_Comm (comm)
468 
469  int ret = PMPI_Comm_set_name( comm, comm_name );
470  return ret;
471 }
472 int MPI_Comm_size( MPI_Comm comm, int * size )
473 {
474  MACRO_MPI_Comm (comm)
475 
476  int ret = PMPI_Comm_size( comm, size );
477  return ret;
478 }
479 int MPI_Comm_spawn( char * command, char ** argv, int maxprocs, MPI_Info info, int root, MPI_Comm comm, MPI_Comm * intercomm, int * array_of_errcodes )
480 {
481  MACRO_MPI_Comm (comm)
482 
483  int ret = PMPI_Comm_spawn( command, argv, maxprocs, info, root, comm, intercomm, array_of_errcodes );
484  return ret;
485 }
486 int MPI_Comm_spawn_multiple( int count, char ** array_of_commands, char *** array_of_argv, int * array_of_maxprocs, MPI_Info * array_of_info, int root, MPI_Comm comm, MPI_Comm * intercomm, int * array_of_errcodes )
487 {
488  MACRO_MPI_Comm (comm)
489 
490  int ret = PMPI_Comm_spawn_multiple( count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, root, comm, intercomm, array_of_errcodes );
491  return ret;
492 }
493 int MPI_Comm_split( MPI_Comm comm, int color, int key, MPI_Comm * newcomm )
494 {
495  MACRO_MPI_Comm (comm)
496 
497  int ret = PMPI_Comm_split( comm, color, key, newcomm );
498  return ret;
499 }
500 int MPI_Comm_test_inter( MPI_Comm comm, int * flag )
501 {
502  MACRO_MPI_Comm (comm)
503 
504  int ret = PMPI_Comm_test_inter( comm, flag );
505  return ret;
506 }
507 int MPI_Dims_create( int nnodes, int ndims, int * dims )
508 {
509 
510 
511  int ret = PMPI_Dims_create( nnodes, ndims, dims );
512  return ret;
513 }
514 int MPI_Errhandler_c2f( MPI_Errhandler errhandler )
515 {
516 
517 
518  int ret = PMPI_Errhandler_c2f( errhandler );
519  return ret;
520 }
521 int MPI_Errhandler_create( MPI_Handler_function * function, MPI_Errhandler * errhandler )
522 {
523 
524 
525  int ret = PMPI_Errhandler_create( function, errhandler );
526  return ret;
527 }
528 int MPI_Errhandler_free( MPI_Errhandler * errhandler )
529 {
530 
531 
532  int ret = PMPI_Errhandler_free( errhandler );
533  return ret;
534 }
535 int MPI_Errhandler_get( MPI_Comm comm, MPI_Errhandler * errhandler )
536 {
537  MACRO_MPI_Comm (comm)
538 
539  int ret = PMPI_Errhandler_get( comm, errhandler );
540  return ret;
541 }
542 int MPI_Errhandler_set( MPI_Comm comm, MPI_Errhandler errhandler )
543 {
544  MACRO_MPI_Comm (comm)
545 
546  int ret = PMPI_Errhandler_set( comm, errhandler );
547  return ret;
548 }
549 int MPI_Error_class( int errorcode, int * errorclass )
550 {
551 
552 
553  int ret = PMPI_Error_class( errorcode, errorclass );
554  return ret;
555 }
556 int MPI_Error_string( int errorcode, char * string, int * resultlen )
557 {
558 
559 
560  int ret = PMPI_Error_string( errorcode, string, resultlen );
561  return ret;
562 }
563 int MPI_Exscan( void * sendbuf, void * recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm )
564 {
565  MACRO_MPI_Comm (comm)
566 
567  int ret = PMPI_Exscan( sendbuf, recvbuf, count, datatype, op, comm );
568  return ret;
569 }
570 int MPI_File_c2f( MPI_File file )
571 {
572 
573 
574  int ret = PMPI_File_c2f( file );
575  return ret;
576 }
577 int MPI_File_call_errhandler( MPI_File fh, int errorcode )
578 {
579 
580 
581  int ret = PMPI_File_call_errhandler( fh, errorcode );
582  return ret;
583 }
584 int MPI_File_create_errhandler( MPI_File_errhandler_function * function, MPI_Errhandler * errhandler )
585 {
586 
587 
588  int ret = PMPI_File_create_errhandler( function, errhandler );
589  return ret;
590 }
591 int MPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler )
592 {
593 
594 
595  int ret = PMPI_File_set_errhandler( file, errhandler );
596  return ret;
597 }
598 int MPI_File_get_errhandler( MPI_File file, MPI_Errhandler * errhandler )
599 {
600 
601 
602  int ret = PMPI_File_get_errhandler( file, errhandler );
603  return ret;
604 }
605 int MPI_File_open( MPI_Comm comm, char * filename, int amode, MPI_Info info, MPI_File * fh )
606 {
607  MACRO_MPI_Comm (comm)
608 
609  int ret = PMPI_File_open( comm, filename, amode, info, fh );
610  return ret;
611 }
612 int MPI_File_close( MPI_File * fh )
613 {
614 
615 
616  int ret = PMPI_File_close( fh );
617  return ret;
618 }
619 int MPI_File_delete( char * filename, MPI_Info info )
620 {
621 
622 
623  int ret = PMPI_File_delete( filename, info );
624  return ret;
625 }
626 int MPI_File_set_size( MPI_File fh, MPI_Offset size )
627 {
628 
629 
630  int ret = PMPI_File_set_size( fh, size );
631  return ret;
632 }
633 int MPI_File_preallocate( MPI_File fh, MPI_Offset size )
634 {
635 
636 
637  int ret = PMPI_File_preallocate( fh, size );
638  return ret;
639 }
640 int MPI_File_get_size( MPI_File fh, MPI_Offset * size )
641 {
642 
643 
644  int ret = PMPI_File_get_size( fh, size );
645  return ret;
646 }
647 int MPI_File_get_group( MPI_File fh, MPI_Group * group )
648 {
649 
650 
651  int ret = PMPI_File_get_group( fh, group );
652  return ret;
653 }
654 int MPI_File_get_amode( MPI_File fh, int * amode )
655 {
656 
657 
658  int ret = PMPI_File_get_amode( fh, amode );
659  return ret;
660 }
661 int MPI_File_set_info( MPI_File fh, MPI_Info info )
662 {
663 
664 
665  int ret = PMPI_File_set_info( fh, info );
666  return ret;
667 }
668 int MPI_File_get_info( MPI_File fh, MPI_Info * info_used )
669 {
670 
671 
672  int ret = PMPI_File_get_info( fh, info_used );
673  return ret;
674 }
675 int MPI_File_set_view( MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, char * datarep, MPI_Info info )
676 {
677 
678 
679  int ret = PMPI_File_set_view( fh, disp, etype, filetype, datarep, info );
680  return ret;
681 }
682 int MPI_File_get_view( MPI_File fh, MPI_Offset * disp, MPI_Datatype * etype, MPI_Datatype * filetype, char * datarep )
683 {
684 
685 
686  int ret = PMPI_File_get_view( fh, disp, etype, filetype, datarep );
687  return ret;
688 }
689 int MPI_File_read_at( MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
690 {
691 
692 
693  int ret = PMPI_File_read_at( fh, offset, buf, count, datatype, status );
694  return ret;
695 }
696 int MPI_File_read_at_all( MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
697 {
698 
699 
700  int ret = PMPI_File_read_at_all( fh, offset, buf, count, datatype, status );
701  return ret;
702 }
703 int MPI_File_write_at( MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
704 {
705 
706 
707  int ret = PMPI_File_write_at( fh, offset, buf, count, datatype, status );
708  return ret;
709 }
710 int MPI_File_write_at_all( MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
711 {
712 
713 
714  int ret = PMPI_File_write_at_all( fh, offset, buf, count, datatype, status );
715  return ret;
716 }
717 int MPI_File_iread_at( MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype, MPI_Request * request )
718 {
719 
720 
721  int ret = PMPI_File_iread_at( fh, offset, buf, count, datatype, request );
722  return ret;
723 }
724 int MPI_File_iwrite_at( MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype, MPI_Request * request )
725 {
726 
727 
728  int ret = PMPI_File_iwrite_at( fh, offset, buf, count, datatype, request );
729  return ret;
730 }
731 int MPI_File_read( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
732 {
733 
734 
735  int ret = PMPI_File_read( fh, buf, count, datatype, status );
736  return ret;
737 }
738 int MPI_File_read_all( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
739 {
740 
741 
742  int ret = PMPI_File_read_all( fh, buf, count, datatype, status );
743  return ret;
744 }
745 int MPI_File_write( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
746 {
747 
748 
749  int ret = PMPI_File_write( fh, buf, count, datatype, status );
750  return ret;
751 }
752 int MPI_File_write_all( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
753 {
754 
755 
756  int ret = PMPI_File_write_all( fh, buf, count, datatype, status );
757  return ret;
758 }
759 int MPI_File_iread( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Request * request )
760 {
761 
762 
763  int ret = PMPI_File_iread( fh, buf, count, datatype, request );
764  return ret;
765 }
766 int MPI_File_iwrite( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Request * request )
767 {
768 
769 
770  int ret = PMPI_File_iwrite( fh, buf, count, datatype, request );
771  return ret;
772 }
773 int MPI_File_seek( MPI_File fh, MPI_Offset offset, int whence )
774 {
775 
776 
777  int ret = PMPI_File_seek( fh, offset, whence );
778  return ret;
779 }
780 int MPI_File_get_position( MPI_File fh, MPI_Offset * offset )
781 {
782 
783 
784  int ret = PMPI_File_get_position( fh, offset );
785  return ret;
786 }
787 int MPI_File_get_byte_offset( MPI_File fh, MPI_Offset offset, MPI_Offset * disp )
788 {
789 
790 
791  int ret = PMPI_File_get_byte_offset( fh, offset, disp );
792  return ret;
793 }
794 int MPI_File_read_shared( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
795 {
796 
797 
798  int ret = PMPI_File_read_shared( fh, buf, count, datatype, status );
799  return ret;
800 }
801 int MPI_File_write_shared( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
802 {
803 
804 
805  int ret = PMPI_File_write_shared( fh, buf, count, datatype, status );
806  return ret;
807 }
808 int MPI_File_iread_shared( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Request * request )
809 {
810 
811 
812  int ret = PMPI_File_iread_shared( fh, buf, count, datatype, request );
813  return ret;
814 }
815 int MPI_File_iwrite_shared( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Request * request )
816 {
817 
818 
819  int ret = PMPI_File_iwrite_shared( fh, buf, count, datatype, request );
820  return ret;
821 }
822 int MPI_File_read_ordered( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
823 {
824 
825 
826  int ret = PMPI_File_read_ordered( fh, buf, count, datatype, status );
827  return ret;
828 }
829 int MPI_File_write_ordered( MPI_File fh, void * buf, int count, MPI_Datatype datatype, MPI_Status * status )
830 {
831 
832 
833  int ret = PMPI_File_write_ordered( fh, buf, count, datatype, status );
834  return ret;
835 }
836 int MPI_File_seek_shared( MPI_File fh, MPI_Offset offset, int whence )
837 {
838 
839 
840  int ret = PMPI_File_seek_shared( fh, offset, whence );
841  return ret;
842 }
843 int MPI_File_get_position_shared( MPI_File fh, MPI_Offset * offset )
844 {
845 
846 
847  int ret = PMPI_File_get_position_shared( fh, offset );
848  return ret;
849 }
850 int MPI_File_read_at_all_begin( MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype )
851 {
852 
853 
854  int ret = PMPI_File_read_at_all_begin( fh, offset, buf, count, datatype );
855  return ret;
856 }
857 int MPI_File_read_at_all_end( MPI_File fh, void * buf, MPI_Status * status )
858 {
859 
860 
861  int ret = PMPI_File_read_at_all_end( fh, buf, status );
862  return ret;
863 }
864 int MPI_File_write_at_all_begin( MPI_File fh, MPI_Offset offset, void * buf, int count, MPI_Datatype datatype )
865 {
866 
867 
868  int ret = PMPI_File_write_at_all_begin( fh, offset, buf, count, datatype );
869  return ret;
870 }
871 int MPI_File_write_at_all_end( MPI_File fh, void * buf, MPI_Status * status )
872 {
873 
874 
875  int ret = PMPI_File_write_at_all_end( fh, buf, status );
876  return ret;
877 }
878 int MPI_File_read_all_begin( MPI_File fh, void * buf, int count, MPI_Datatype datatype )
879 {
880 
881 
882  int ret = PMPI_File_read_all_begin( fh, buf, count, datatype );
883  return ret;
884 }
885 int MPI_File_read_all_end( MPI_File fh, void * buf, MPI_Status * status )
886 {
887 
888 
889  int ret = PMPI_File_read_all_end( fh, buf, status );
890  return ret;
891 }
892 int MPI_File_write_all_begin( MPI_File fh, void * buf, int count, MPI_Datatype datatype )
893 {
894 
895 
896  int ret = PMPI_File_write_all_begin( fh, buf, count, datatype );
897  return ret;
898 }
899 int MPI_File_write_all_end( MPI_File fh, void * buf, MPI_Status * status )
900 {
901 
902 
903  int ret = PMPI_File_write_all_end( fh, buf, status );
904  return ret;
905 }
906 int MPI_File_read_ordered_begin( MPI_File fh, void * buf, int count, MPI_Datatype datatype )
907 {
908 
909 
910  int ret = PMPI_File_read_ordered_begin( fh, buf, count, datatype );
911  return ret;
912 }
913 int MPI_File_read_ordered_end( MPI_File fh, void * buf, MPI_Status * status )
914 {
915 
916 
917  int ret = PMPI_File_read_ordered_end( fh, buf, status );
918  return ret;
919 }
920 int MPI_File_write_ordered_begin( MPI_File fh, void * buf, int count, MPI_Datatype datatype )
921 {
922 
923 
924  int ret = PMPI_File_write_ordered_begin( fh, buf, count, datatype );
925  return ret;
926 }
927 int MPI_File_write_ordered_end( MPI_File fh, void * buf, MPI_Status * status )
928 {
929 
930 
931  int ret = PMPI_File_write_ordered_end( fh, buf, status );
932  return ret;
933 }
934 int MPI_File_get_type_extent( MPI_File fh, MPI_Datatype datatype, MPI_Aint * extent )
935 {
936 
937 
938  int ret = PMPI_File_get_type_extent( fh, datatype, extent );
939  return ret;
940 }
941 int MPI_File_set_atomicity( MPI_File fh, int flag )
942 {
943 
944 
945  int ret = PMPI_File_set_atomicity( fh, flag );
946  return ret;
947 }
948 int MPI_File_get_atomicity( MPI_File fh, int * flag )
949 {
950 
951 
952  int ret = PMPI_File_get_atomicity( fh, flag );
953  return ret;
954 }
955 int MPI_File_sync( MPI_File fh )
956 {
957 
958 
959  int ret = PMPI_File_sync( fh );
960  return ret;
961 }
962 int MPI_Finalized( int * flag )
963 {
964 
965 
966  int ret = PMPI_Finalized( flag );
967  return ret;
968 }
969 int MPI_Free_mem( void * base )
970 {
971 
972 
973  int ret = PMPI_Free_mem( base );
974  return ret;
975 }
976 int MPI_Gather( void * sendbuf, int sendcount, MPI_Datatype sendtype, void * recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm )
977 {
978  MACRO_MPI_Comm (comm)
979 
980  int ret = PMPI_Gather( sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm );
981  return ret;
982 }
983 int MPI_Gatherv( void * sendbuf, int sendcount, MPI_Datatype sendtype, void * recvbuf, int * recvcounts, int * displs, MPI_Datatype recvtype, int root, MPI_Comm comm )
984 {
985  MACRO_MPI_Comm (comm)
986 
987  int ret = PMPI_Gatherv( sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm );
988  return ret;
989 }
990 int MPI_Get_address( void * location, MPI_Aint * address )
991 {
992 
993 
994  int ret = PMPI_Get_address( location, address );
995  return ret;
996 }
997 int MPI_Get_count( MPI_Status * status, MPI_Datatype datatype, int * count )
998 {
999 
1000 
1001  int ret = PMPI_Get_count( status, datatype, count );
1002  return ret;
1003 }
1004 int MPI_Get_elements( MPI_Status * status, MPI_Datatype datatype, int * count )
1005 {
1006 
1007 
1008  int ret = PMPI_Get_elements( status, datatype, count );
1009  return ret;
1010 }
1011 int MPI_Get( void * origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win )
1012 {
1013 
1014 
1015  int ret = PMPI_Get( origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win );
1016  return ret;
1017 }
1018 int MPI_Get_processor_name( char * name, int * resultlen )
1019 {
1020 
1021 
1022  int ret = PMPI_Get_processor_name( name, resultlen );
1023  return ret;
1024 }
1025 int MPI_Get_version( int * version, int * subversion )
1026 {
1027 
1028 
1029  int ret = PMPI_Get_version( version, subversion );
1030  return ret;
1031 }
1032 int MPI_Graph_create( MPI_Comm comm_old, int nnodes, int * index, int * edges, int reorder, MPI_Comm * comm_graph )
1033 {
1034  MACRO_MPI_Comm (comm_old)
1035 
1036  int ret = PMPI_Graph_create( comm_old, nnodes, index, edges, reorder, comm_graph );
1037  return ret;
1038 }
1039 int MPI_Graph_get( MPI_Comm comm, int maxindex, int maxedges, int * index, int * edges )
1040 {
1041  MACRO_MPI_Comm (comm)
1042 
1043  int ret = PMPI_Graph_get( comm, maxindex, maxedges, index, edges );
1044  return ret;
1045 }
1046 int MPI_Graph_map( MPI_Comm comm, int nnodes, int * index, int * edges, int * newrank )
1047 {
1048  MACRO_MPI_Comm (comm)
1049 
1050  int ret = PMPI_Graph_map( comm, nnodes, index, edges, newrank );
1051  return ret;
1052 }
1053 int MPI_Graph_neighbors_count( MPI_Comm comm, int rank, int * nneighbors )
1054 {
1055  MACRO_MPI_Comm (comm)
1056 
1057  int ret = PMPI_Graph_neighbors_count( comm, rank, nneighbors );
1058  return ret;
1059 }
1060 int MPI_Graph_neighbors( MPI_Comm comm, int rank, int maxneighbors, int * neighbors )
1061 {
1062  MACRO_MPI_Comm (comm)
1063 
1064  int ret = PMPI_Graph_neighbors( comm, rank, maxneighbors, neighbors );
1065  return ret;
1066 }
1067 int MPI_Graphdims_get( MPI_Comm comm, int * nnodes, int * nedges )
1068 {
1069  MACRO_MPI_Comm (comm)
1070 
1071  int ret = PMPI_Graphdims_get( comm, nnodes, nedges );
1072  return ret;
1073 }
1074 int MPI_Grequest_complete( MPI_Request request )
1075 {
1076 
1077 
1078  int ret = PMPI_Grequest_complete( request );
1079  return ret;
1080 }
1081 int MPI_Grequest_start( MPI_Grequest_query_function * query_fn, MPI_Grequest_free_function * free_fn, MPI_Grequest_cancel_function * cancel_fn, void * extra_state, MPI_Request * request )
1082 {
1083 
1084 
1085  int ret = PMPI_Grequest_start( query_fn, free_fn, cancel_fn, extra_state, request );
1086  return ret;
1087 }
1088 int MPI_Group_c2f( MPI_Group group )
1089 {
1090 
1091 
1092  int ret = PMPI_Group_c2f( group );
1093  return ret;
1094 }
1095 int MPI_Group_compare( MPI_Group group1, MPI_Group group2, int * result )
1096 {
1097 
1098 
1099  int ret = PMPI_Group_compare( group1, group2, result );
1100  return ret;
1101 }
1102 int MPI_Group_difference( MPI_Group group1, MPI_Group group2, MPI_Group * newgroup )
1103 {
1104 
1105 
1106  int ret = PMPI_Group_difference( group1, group2, newgroup );
1107  return ret;
1108 }
1109 int MPI_Group_excl( MPI_Group group, int n, int * ranks, MPI_Group * newgroup )
1110 {
1111 
1112 
1113  int ret = PMPI_Group_excl( group, n, ranks, newgroup );
1114  return ret;
1115 }
1116 int MPI_Group_free( MPI_Group * group )
1117 {
1118 
1119 
1120  int ret = PMPI_Group_free( group );
1121  return ret;
1122 }
1123 int MPI_Group_incl( MPI_Group group, int n, int * ranks, MPI_Group * newgroup )
1124 {
1125 
1126 
1127  int ret = PMPI_Group_incl( group, n, ranks, newgroup );
1128  return ret;
1129 }
1130 int MPI_Group_intersection( MPI_Group group1, MPI_Group group2, MPI_Group * newgroup )
1131 {
1132 
1133 
1134  int ret = PMPI_Group_intersection( group1, group2, newgroup );
1135  return ret;
1136 }
1137 int MPI_Group_range_excl( MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup )
1138 {
1139 
1140 
1141  int ret = PMPI_Group_range_excl( group, n, ranges, newgroup );
1142  return ret;
1143 }
1144 int MPI_Group_range_incl( MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup )
1145 {
1146 
1147 
1148  int ret = PMPI_Group_range_incl( group, n, ranges, newgroup );
1149  return ret;
1150 }
1151 int MPI_Group_rank( MPI_Group group, int * rank )
1152 {
1153 
1154 
1155  int ret = PMPI_Group_rank( group, rank );
1156  return ret;
1157 }
1158 int MPI_Group_size( MPI_Group group, int * size )
1159 {
1160 
1161 
1162  int ret = PMPI_Group_size( group, size );
1163  return ret;
1164 }
1165 int MPI_Group_translate_ranks( MPI_Group group1, int n, int * ranks1, MPI_Group group2, int * ranks2 )
1166 {
1167 
1168 
1169  int ret = PMPI_Group_translate_ranks( group1, n, ranks1, group2, ranks2 );
1170  return ret;
1171 }
1172 int MPI_Group_union( MPI_Group group1, MPI_Group group2, MPI_Group * newgroup )
1173 {
1174 
1175 
1176  int ret = PMPI_Group_union( group1, group2, newgroup );
1177  return ret;
1178 }
1179 int MPI_Ibsend( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request * request )
1180 {
1181  MACRO_MPI_Comm (comm)
1182 
1183  int ret = PMPI_Ibsend( buf, count, datatype, dest, tag, comm, request );
1184  return ret;
1185 }
1186 int MPI_Info_c2f( MPI_Info info )
1187 {
1188 
1189 
1190  int ret = PMPI_Info_c2f( info );
1191  return ret;
1192 }
1193 int MPI_Info_create( MPI_Info * info )
1194 {
1195 
1196 
1197  int ret = PMPI_Info_create( info );
1198  return ret;
1199 }
1200 int MPI_Info_delete( MPI_Info info, char * key )
1201 {
1202 
1203 
1204  int ret = PMPI_Info_delete( info, key );
1205  return ret;
1206 }
1207 int MPI_Info_dup( MPI_Info info, MPI_Info * newinfo )
1208 {
1209 
1210 
1211  int ret = PMPI_Info_dup( info, newinfo );
1212  return ret;
1213 }
1214 int MPI_Info_free( MPI_Info * info )
1215 {
1216 
1217 
1218  int ret = PMPI_Info_free( info );
1219  return ret;
1220 }
1221 int MPI_Info_get( MPI_Info info, char * key, int valuelen, char * value, int * flag )
1222 {
1223 
1224 
1225  int ret = PMPI_Info_get( info, key, valuelen, value, flag );
1226  return ret;
1227 }
1228 int MPI_Info_get_nkeys( MPI_Info info, int * nkeys )
1229 {
1230 
1231 
1232  int ret = PMPI_Info_get_nkeys( info, nkeys );
1233  return ret;
1234 }
1235 int MPI_Info_get_nthkey( MPI_Info info, int n, char * key )
1236 {
1237 
1238 
1239  int ret = PMPI_Info_get_nthkey( info, n, key );
1240  return ret;
1241 }
1242 int MPI_Info_get_valuelen( MPI_Info info, char * key, int * valuelen, int * flag )
1243 {
1244 
1245 
1246  int ret = PMPI_Info_get_valuelen( info, key, valuelen, flag );
1247  return ret;
1248 }
1249 int MPI_Info_set( MPI_Info info, char * key, char * value )
1250 {
1251 
1252 
1253  int ret = PMPI_Info_set( info, key, value );
1254  return ret;
1255 }
1256 int MPI_Initialized( int * flag )
1257 {
1258 
1259 
1260  int ret = PMPI_Initialized( flag );
1261  return ret;
1262 }
1263 int MPI_Intercomm_create( MPI_Comm local_comm, int local_leader, MPI_Comm bridge_comm, int remote_leader, int tag, MPI_Comm * newintercomm )
1264 {
1265  MACRO_MPI_Comm (local_comm) MACRO_MPI_Comm (bridge_comm)
1266 
1267  int ret = PMPI_Intercomm_create( local_comm, local_leader, bridge_comm, remote_leader, tag, newintercomm );
1268  return ret;
1269 }
1270 int MPI_Intercomm_merge( MPI_Comm intercomm, int high, MPI_Comm * newintercomm )
1271 {
1272  MACRO_MPI_Comm (intercomm)
1273 
1274  int ret = PMPI_Intercomm_merge( intercomm, high, newintercomm );
1275  return ret;
1276 }
1277 int MPI_Iprobe( int source, int tag, MPI_Comm comm, int * flag, MPI_Status * status )
1278 {
1279  MACRO_MPI_Comm (comm)
1280 
1281  int ret = PMPI_Iprobe( source, tag, comm, flag, status );
1282  return ret;
1283 }
1284 int MPI_Irecv( void * buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request * request )
1285 {
1286  MACRO_MPI_Comm (comm)
1287 
1288  int ret = PMPI_Irecv( buf, count, datatype, source, tag, comm, request );
1289  return ret;
1290 }
1291 int MPI_Irsend( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request * request )
1292 {
1293  MACRO_MPI_Comm (comm)
1294 
1295  int ret = PMPI_Irsend( buf, count, datatype, dest, tag, comm, request );
1296  return ret;
1297 }
1298 int MPI_Isend( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request * request )
1299 {
1300  MACRO_MPI_Comm (comm)
1301 
1302  int ret = PMPI_Isend( buf, count, datatype, dest, tag, comm, request );
1303  return ret;
1304 }
1305 int MPI_Issend( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request * request )
1306 {
1307  MACRO_MPI_Comm (comm)
1308 
1309  int ret = PMPI_Issend( buf, count, datatype, dest, tag, comm, request );
1310  return ret;
1311 }
1312 int MPI_Is_thread_main( int * flag )
1313 {
1314 
1315 
1316  int ret = PMPI_Is_thread_main( flag );
1317  return ret;
1318 }
1319 int MPI_Keyval_create( MPI_Copy_function * copy_fn, MPI_Delete_function * delete_fn, int * keyval, void * extra_state )
1320 {
1321 
1322 
1323  int ret = PMPI_Keyval_create( copy_fn, delete_fn, keyval, extra_state );
1324  return ret;
1325 }
1326 int MPI_Keyval_free( int * keyval )
1327 {
1328 
1329 
1330  int ret = PMPI_Keyval_free( keyval );
1331  return ret;
1332 }
1333 int MPI_Lookup_name( char * service_name, MPI_Info info, char * port_name )
1334 {
1335 
1336 
1337  int ret = PMPI_Lookup_name( service_name, info, port_name );
1338  return ret;
1339 }
1340 int MPI_Op_c2f( MPI_Op op )
1341 {
1342 
1343 
1344  int ret = PMPI_Op_c2f( op );
1345  return ret;
1346 }
1347 int MPI_Op_commutative( MPI_Op op, int * commute )
1348 {
1349 
1350 
1351  int ret = PMPI_Op_commutative( op, commute );
1352  return ret;
1353 }
1354 int MPI_Op_create( MPI_User_function * function, int commute, MPI_Op * op )
1355 {
1356 
1357 
1358  int ret = PMPI_Op_create( function, commute, op );
1359  return ret;
1360 }
1361 int MPI_Open_port( MPI_Info info, char * port_name )
1362 {
1363 
1364 
1365  int ret = PMPI_Open_port( info, port_name );
1366  return ret;
1367 }
1368 int MPI_Op_free( MPI_Op * op )
1369 {
1370 
1371 
1372  int ret = PMPI_Op_free( op );
1373  return ret;
1374 }
1375 int MPI_Pack_external( char * datarep, void * inbuf, int incount, MPI_Datatype datatype, void * outbuf, MPI_Aint outsize, MPI_Aint * position )
1376 {
1377 
1378 
1379  int ret = PMPI_Pack_external( datarep, inbuf, incount, datatype, outbuf, outsize, position );
1380  return ret;
1381 }
1382 int MPI_Pack_external_size( char * datarep, int incount, MPI_Datatype datatype, MPI_Aint * size )
1383 {
1384 
1385 
1386  int ret = PMPI_Pack_external_size( datarep, incount, datatype, size );
1387  return ret;
1388 }
1389 int MPI_Pack( void * inbuf, int incount, MPI_Datatype datatype, void * outbuf, int outsize, int * position, MPI_Comm comm )
1390 {
1391  MACRO_MPI_Comm (comm)
1392 
1393  int ret = PMPI_Pack( inbuf, incount, datatype, outbuf, outsize, position, comm );
1394  return ret;
1395 }
1396 int MPI_Pack_size( int incount, MPI_Datatype datatype, MPI_Comm comm, int * size )
1397 {
1398  MACRO_MPI_Comm (comm)
1399 
1400  int ret = PMPI_Pack_size( incount, datatype, comm, size );
1401  return ret;
1402 }
1403 int MPI_Probe( int source, int tag, MPI_Comm comm, MPI_Status * status )
1404 {
1405  MACRO_MPI_Comm (comm)
1406 
1407  int ret = PMPI_Probe( source, tag, comm, status );
1408  return ret;
1409 }
1410 int MPI_Publish_name( char * service_name, MPI_Info info, char * port_name )
1411 {
1412 
1413 
1414  int ret = PMPI_Publish_name( service_name, info, port_name );
1415  return ret;
1416 }
1417 int MPI_Put( void * origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win )
1418 {
1419 
1420 
1421  int ret = PMPI_Put( origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, target_datatype, win );
1422  return ret;
1423 }
1424 int MPI_Query_thread( int * provided )
1425 {
1426 
1427 
1428  int ret = PMPI_Query_thread( provided );
1429  return ret;
1430 }
1431 int MPI_Recv_init( void * buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request * request )
1432 {
1433  MACRO_MPI_Comm (comm)
1434 
1435  int ret = PMPI_Recv_init( buf, count, datatype, source, tag, comm, request );
1436  return ret;
1437 }
1438 int MPI_Recv( void * buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status * status )
1439 {
1440  MACRO_MPI_Comm (comm)
1441 
1442  int ret = PMPI_Recv( buf, count, datatype, source, tag, comm, status );
1443  return ret;
1444 }
1445 int MPI_Reduce( void * sendbuf, void * recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm )
1446 {
1447  MACRO_MPI_Comm (comm)
1448 
1449  int ret = PMPI_Reduce( sendbuf, recvbuf, count, datatype, op, root, comm );
1450  return ret;
1451 }
1452 int MPI_Reduce_local( void * inbuf, void * inoutbuf, int count, MPI_Datatype datatype, MPI_Op op )
1453 {
1454 
1455 
1456  int ret = PMPI_Reduce_local( inbuf, inoutbuf, count, datatype, op );
1457  return ret;
1458 }
1459 int MPI_Reduce_scatter( void * sendbuf, void * recvbuf, int * recvcounts, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm )
1460 {
1461  MACRO_MPI_Comm (comm)
1462 
1463  int ret = PMPI_Reduce_scatter( sendbuf, recvbuf, recvcounts, datatype, op, comm );
1464  return ret;
1465 }
1466 int MPI_Register_datarep( char * datarep, MPI_Datarep_conversion_function * read_conversion_fn, MPI_Datarep_conversion_function * write_conversion_fn, MPI_Datarep_extent_function * dtype_file_extent_fn, void * extra_state )
1467 {
1468 
1469 
1470  int ret = PMPI_Register_datarep( datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state );
1471  return ret;
1472 }
1473 int MPI_Request_c2f( MPI_Request request )
1474 {
1475 
1476 
1477  int ret = PMPI_Request_c2f( request );
1478  return ret;
1479 }
1480 int MPI_Request_free( MPI_Request * request )
1481 {
1482 
1483 
1484  int ret = PMPI_Request_free( request );
1485  return ret;
1486 }
1487 int MPI_Request_get_status( MPI_Request request, int * flag, MPI_Status * status )
1488 {
1489 
1490 
1491  int ret = PMPI_Request_get_status( request, flag, status );
1492  return ret;
1493 }
1494 int MPI_Rsend( void * ibuf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm )
1495 {
1496  MACRO_MPI_Comm (comm)
1497 
1498  int ret = PMPI_Rsend( ibuf, count, datatype, dest, tag, comm );
1499  return ret;
1500 }
1501 int MPI_Rsend_init( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request * request )
1502 {
1503  MACRO_MPI_Comm (comm)
1504 
1505  int ret = PMPI_Rsend_init( buf, count, datatype, dest, tag, comm, request );
1506  return ret;
1507 }
1508 int MPI_Scan( void * sendbuf, void * recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm )
1509 {
1510  MACRO_MPI_Comm (comm)
1511 
1512  int ret = PMPI_Scan( sendbuf, recvbuf, count, datatype, op, comm );
1513  return ret;
1514 }
1515 int MPI_Scatter( void * sendbuf, int sendcount, MPI_Datatype sendtype, void * recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm )
1516 {
1517  MACRO_MPI_Comm (comm)
1518 
1519  int ret = PMPI_Scatter( sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm );
1520  return ret;
1521 }
1522 int MPI_Scatterv( void * sendbuf, int * sendcounts, int * displs, MPI_Datatype sendtype, void * recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm )
1523 {
1524  MACRO_MPI_Comm (comm)
1525 
1526  int ret = PMPI_Scatterv( sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm );
1527  return ret;
1528 }
1529 int MPI_Send_init( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request * request )
1530 {
1531  MACRO_MPI_Comm (comm)
1532 
1533  int ret = PMPI_Send_init( buf, count, datatype, dest, tag, comm, request );
1534  return ret;
1535 }
1536 int MPI_Send( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm )
1537 {
1538  MACRO_MPI_Comm (comm)
1539 
1540  int ret = PMPI_Send( buf, count, datatype, dest, tag, comm );
1541  return ret;
1542 }
1543 int MPI_Sendrecv( void * sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void * recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status * status )
1544 {
1545  MACRO_MPI_Comm (comm)
1546 
1547  int ret = PMPI_Sendrecv( sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status );
1548  return ret;
1549 }
1550 int MPI_Sendrecv_replace( void * buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status * status )
1551 {
1552  MACRO_MPI_Comm (comm)
1553 
1554  int ret = PMPI_Sendrecv_replace( buf, count, datatype, dest, sendtag, source, recvtag, comm, status );
1555  return ret;
1556 }
1557 int MPI_Ssend_init( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request * request )
1558 {
1559  MACRO_MPI_Comm (comm)
1560 
1561  int ret = PMPI_Ssend_init( buf, count, datatype, dest, tag, comm, request );
1562  return ret;
1563 }
1564 int MPI_Ssend( void * buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm )
1565 {
1566  MACRO_MPI_Comm (comm)
1567 
1568  int ret = PMPI_Ssend( buf, count, datatype, dest, tag, comm );
1569  return ret;
1570 }
1571 int MPI_Start( MPI_Request * request )
1572 {
1573 
1574 
1575  int ret = PMPI_Start( request );
1576  return ret;
1577 }
1578 int MPI_Startall( int count, MPI_Request * array_of_requests )
1579 {
1580 
1581 
1582  int ret = PMPI_Startall( count, array_of_requests );
1583  return ret;
1584 }
1585 int MPI_Status_c2f( MPI_Status * c_status, int * f_status )
1586 {
1587 
1588 
1589  int ret = PMPI_Status_c2f( c_status, f_status );
1590  return ret;
1591 }
1592 int MPI_Status_f2c( int * f_status, MPI_Status * c_status )
1593 {
1594 
1595 
1596  int ret = PMPI_Status_f2c( f_status, c_status );
1597  return ret;
1598 }
1599 int MPI_Status_set_cancelled( MPI_Status * status, int flag )
1600 {
1601 
1602 
1603  int ret = PMPI_Status_set_cancelled( status, flag );
1604  return ret;
1605 }
1606 int MPI_Status_set_elements( MPI_Status * status, MPI_Datatype datatype, int count )
1607 {
1608 
1609 
1610  int ret = PMPI_Status_set_elements( status, datatype, count );
1611  return ret;
1612 }
1613 int MPI_Testall( int count, MPI_Request array_of_requests[], int * flag, MPI_Status array_of_statuses[] )
1614 {
1615 
1616 
1617  int ret = PMPI_Testall( count, array_of_requests, flag, array_of_statuses );
1618  return ret;
1619 }
1620 int MPI_Testany( int count, MPI_Request array_of_requests[], int * index, int * flag, MPI_Status * status )
1621 {
1622 
1623 
1624  int ret = PMPI_Testany( count, array_of_requests, index, flag, status );
1625  return ret;
1626 }
1627 int MPI_Test( MPI_Request * request, int * flag, MPI_Status * status )
1628 {
1629 
1630 
1631  int ret = PMPI_Test( request, flag, status );
1632  return ret;
1633 }
1634 int MPI_Test_cancelled( MPI_Status * status, int * flag )
1635 {
1636 
1637 
1638  int ret = PMPI_Test_cancelled( status, flag );
1639  return ret;
1640 }
1641 int MPI_Testsome( int incount, MPI_Request array_of_requests[], int * outcount, int array_of_indices[], MPI_Status array_of_statuses[] )
1642 {
1643 
1644 
1645  int ret = PMPI_Testsome( incount, array_of_requests, outcount, array_of_indices, array_of_statuses );
1646  return ret;
1647 }
1648 int MPI_Topo_test( MPI_Comm comm, int * status )
1649 {
1650  MACRO_MPI_Comm (comm)
1651 
1652  int ret = PMPI_Topo_test( comm, status );
1653  return ret;
1654 }
1655 int MPI_Type_c2f( MPI_Datatype datatype )
1656 {
1657 
1658 
1659  int ret = PMPI_Type_c2f( datatype );
1660  return ret;
1661 }
1662 int MPI_Type_commit( MPI_Datatype * type )
1663 {
1664 
1665 
1666  int ret = PMPI_Type_commit( type );
1667  return ret;
1668 }
1669 int MPI_Type_contiguous( int count, MPI_Datatype oldtype, MPI_Datatype * newtype )
1670 {
1671 
1672 
1673  int ret = PMPI_Type_contiguous( count, oldtype, newtype );
1674  return ret;
1675 }
1676 int MPI_Type_create_darray( int size, int rank, int ndims, int gsize_array[], int distrib_array[], int darg_array[], int psize_array[], int order, MPI_Datatype oldtype, MPI_Datatype * newtype )
1677 {
1678 
1679 
1680  int ret = PMPI_Type_create_darray( size, rank, ndims, gsize_array, distrib_array, darg_array, psize_array, order, oldtype, newtype );
1681  return ret;
1682 }
1683 int MPI_Type_create_f90_complex( int p, int r, MPI_Datatype * newtype )
1684 {
1685 
1686 
1687  int ret = PMPI_Type_create_f90_complex( p, r, newtype );
1688  return ret;
1689 }
1690 int MPI_Type_create_f90_integer( int r, MPI_Datatype * newtype )
1691 {
1692 
1693 
1694  int ret = PMPI_Type_create_f90_integer( r, newtype );
1695  return ret;
1696 }
1697 int MPI_Type_create_f90_real( int p, int r, MPI_Datatype * newtype )
1698 {
1699 
1700 
1701  int ret = PMPI_Type_create_f90_real( p, r, newtype );
1702  return ret;
1703 }
1704 int MPI_Type_create_hindexed( int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype * newtype )
1705 {
1706 
1707 
1708  int ret = PMPI_Type_create_hindexed( count, array_of_blocklengths, array_of_displacements, oldtype, newtype );
1709  return ret;
1710 }
1711 int MPI_Type_create_hvector( int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype )
1712 {
1713 
1714 
1715  int ret = PMPI_Type_create_hvector( count, blocklength, stride, oldtype, newtype );
1716  return ret;
1717 }
1718 int MPI_Type_create_keyval( MPI_Type_copy_attr_function * type_copy_attr_fn, MPI_Type_delete_attr_function * type_delete_attr_fn, int * type_keyval, void * extra_state )
1719 {
1720 
1721 
1722  int ret = PMPI_Type_create_keyval( type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state );
1723  return ret;
1724 }
1725 int MPI_Type_create_indexed_block( int count, int blocklength, int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype * newtype )
1726 {
1727 
1728 
1729  int ret = PMPI_Type_create_indexed_block( count, blocklength, array_of_displacements, oldtype, newtype );
1730  return ret;
1731 }
1732 int MPI_Type_create_struct( int count, int array_of_block_lengths[], MPI_Aint array_of_displacements[], MPI_Datatype array_of_types[], MPI_Datatype * newtype )
1733 {
1734 
1735 
1736  int ret = PMPI_Type_create_struct( count, array_of_block_lengths, array_of_displacements, array_of_types, newtype );
1737  return ret;
1738 }
1739 int MPI_Type_create_subarray( int ndims, int size_array[], int subsize_array[], int start_array[], int order, MPI_Datatype oldtype, MPI_Datatype * newtype )
1740 {
1741 
1742 
1743  int ret = PMPI_Type_create_subarray( ndims, size_array, subsize_array, start_array, order, oldtype, newtype );
1744  return ret;
1745 }
1746 int MPI_Type_create_resized( MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype * newtype )
1747 {
1748 
1749 
1750  int ret = PMPI_Type_create_resized( oldtype, lb, extent, newtype );
1751  return ret;
1752 }
1753 int MPI_Type_delete_attr( MPI_Datatype type, int type_keyval )
1754 {
1755 
1756 
1757  int ret = PMPI_Type_delete_attr( type, type_keyval );
1758  return ret;
1759 }
1760 int MPI_Type_dup( MPI_Datatype type, MPI_Datatype * newtype )
1761 {
1762 
1763 
1764  int ret = PMPI_Type_dup( type, newtype );
1765  return ret;
1766 }
1767 int MPI_Type_extent( MPI_Datatype type, MPI_Aint * extent )
1768 {
1769 
1770 
1771  int ret = PMPI_Type_extent( type, extent );
1772  return ret;
1773 }
1774 int MPI_Type_free( MPI_Datatype * type )
1775 {
1776 
1777 
1778  int ret = PMPI_Type_free( type );
1779  return ret;
1780 }
1781 int MPI_Type_free_keyval( int * type_keyval )
1782 {
1783 
1784 
1785  int ret = PMPI_Type_free_keyval( type_keyval );
1786  return ret;
1787 }
1788 int MPI_Type_get_attr( MPI_Datatype type, int type_keyval, void * attribute_val, int * flag )
1789 {
1790 
1791 
1792  int ret = PMPI_Type_get_attr( type, type_keyval, attribute_val, flag );
1793  return ret;
1794 }
1795 int MPI_Type_get_contents( MPI_Datatype mtype, int max_integers, int max_addresses, int max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[] )
1796 {
1797 
1798 
1799  int ret = PMPI_Type_get_contents( mtype, max_integers, max_addresses, max_datatypes, array_of_integers, array_of_addresses, array_of_datatypes );
1800  return ret;
1801 }
1802 int MPI_Type_get_envelope( MPI_Datatype type, int * num_integers, int * num_addresses, int * num_datatypes, int * combiner )
1803 {
1804 
1805 
1806  int ret = PMPI_Type_get_envelope( type, num_integers, num_addresses, num_datatypes, combiner );
1807  return ret;
1808 }
1809 int MPI_Type_get_extent( MPI_Datatype type, MPI_Aint * lb, MPI_Aint * extent )
1810 {
1811 
1812 
1813  int ret = PMPI_Type_get_extent( type, lb, extent );
1814  return ret;
1815 }
1816 int MPI_Type_get_name( MPI_Datatype type, char * type_name, int * resultlen )
1817 {
1818 
1819 
1820  int ret = PMPI_Type_get_name( type, type_name, resultlen );
1821  return ret;
1822 }
1823 int MPI_Type_get_true_extent( MPI_Datatype datatype, MPI_Aint * true_lb, MPI_Aint * true_extent )
1824 {
1825 
1826 
1827  int ret = PMPI_Type_get_true_extent( datatype, true_lb, true_extent );
1828  return ret;
1829 }
1830 int MPI_Type_hindexed( int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype * newtype )
1831 {
1832 
1833 
1834  int ret = PMPI_Type_hindexed( count, array_of_blocklengths, array_of_displacements, oldtype, newtype );
1835  return ret;
1836 }
1837 int MPI_Type_hvector( int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype )
1838 {
1839 
1840 
1841  int ret = PMPI_Type_hvector( count, blocklength, stride, oldtype, newtype );
1842  return ret;
1843 }
1844 int MPI_Type_indexed( int count, int array_of_blocklengths[], int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype * newtype )
1845 {
1846 
1847 
1848  int ret = PMPI_Type_indexed( count, array_of_blocklengths, array_of_displacements, oldtype, newtype );
1849  return ret;
1850 }
1851 int MPI_Type_lb( MPI_Datatype type, MPI_Aint * lb )
1852 {
1853 
1854 
1855  int ret = PMPI_Type_lb( type, lb );
1856  return ret;
1857 }
1858 int MPI_Type_match_size( int typeclass, int size, MPI_Datatype * type )
1859 {
1860 
1861 
1862  int ret = PMPI_Type_match_size( typeclass, size, type );
1863  return ret;
1864 }
1865 int MPI_Type_set_attr( MPI_Datatype type, int type_keyval, void * attr_val )
1866 {
1867 
1868 
1869  int ret = PMPI_Type_set_attr( type, type_keyval, attr_val );
1870  return ret;
1871 }
1872 int MPI_Type_set_name( MPI_Datatype type, char * type_name )
1873 {
1874 
1875 
1876  int ret = PMPI_Type_set_name( type, type_name );
1877  return ret;
1878 }
1879 int MPI_Type_size( MPI_Datatype type, int * size )
1880 {
1881 
1882 
1883  int ret = PMPI_Type_size( type, size );
1884  return ret;
1885 }
1886 int MPI_Type_struct( int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype array_of_types[], MPI_Datatype * newtype )
1887 {
1888 
1889 
1890  int ret = PMPI_Type_struct( count, array_of_blocklengths, array_of_displacements, array_of_types, newtype );
1891  return ret;
1892 }
1893 int MPI_Type_ub( MPI_Datatype mtype, MPI_Aint * ub )
1894 {
1895 
1896 
1897  int ret = PMPI_Type_ub( mtype, ub );
1898  return ret;
1899 }
1900 int MPI_Type_vector( int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype * newtype )
1901 {
1902 
1903 
1904  int ret = PMPI_Type_vector( count, blocklength, stride, oldtype, newtype );
1905  return ret;
1906 }
1907 int MPI_Unpack( void * inbuf, int insize, int * position, void * outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm )
1908 {
1909  MACRO_MPI_Comm (comm)
1910 
1911  int ret = PMPI_Unpack( inbuf, insize, position, outbuf, outcount, datatype, comm );
1912  return ret;
1913 }
1914 int MPI_Unpublish_name( char * service_name, MPI_Info info, char * port_name )
1915 {
1916 
1917 
1918  int ret = PMPI_Unpublish_name( service_name, info, port_name );
1919  return ret;
1920 }
1921 int MPI_Unpack_external( char * datarep, void * inbuf, MPI_Aint insize, MPI_Aint * position, void * outbuf, int outcount, MPI_Datatype datatype )
1922 {
1923 
1924 
1925  int ret = PMPI_Unpack_external( datarep, inbuf, insize, position, outbuf, outcount, datatype );
1926  return ret;
1927 }
1928 int MPI_Waitall( int count, MPI_Request * array_of_requests, MPI_Status * array_of_statuses )
1929 {
1930 
1931 
1932  int ret = PMPI_Waitall( count, array_of_requests, array_of_statuses );
1933  return ret;
1934 }
1935 int MPI_Waitany( int count, MPI_Request * array_of_requests, int * index, MPI_Status * status )
1936 {
1937 
1938 
1939  int ret = PMPI_Waitany( count, array_of_requests, index, status );
1940  return ret;
1941 }
1942 int MPI_Wait( MPI_Request * request, MPI_Status * status )
1943 {
1944 
1945 
1946  int ret = PMPI_Wait( request, status );
1947  return ret;
1948 }
1949 int MPI_Waitsome( int incount, MPI_Request * array_of_requests, int * outcount, int * array_of_indices, MPI_Status * array_of_statuses )
1950 {
1951 
1952 
1953  int ret = PMPI_Waitsome( incount, array_of_requests, outcount, array_of_indices, array_of_statuses );
1954  return ret;
1955 }
1956 int MPI_Win_c2f( MPI_Win win )
1957 {
1958 
1959 
1960  int ret = PMPI_Win_c2f( win );
1961  return ret;
1962 }
1963 int MPI_Win_call_errhandler( MPI_Win win, int errorcode )
1964 {
1965 
1966 
1967  int ret = PMPI_Win_call_errhandler( win, errorcode );
1968  return ret;
1969 }
1970 int MPI_Win_complete( MPI_Win win )
1971 {
1972 
1973 
1974  int ret = PMPI_Win_complete( win );
1975  return ret;
1976 }
1977 int MPI_Win_create( void * base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win * win )
1978 {
1979  MACRO_MPI_Comm (comm)
1980 
1981  int ret = PMPI_Win_create( base, size, disp_unit, info, comm, win );
1982  return ret;
1983 }
1984 int MPI_Win_create_errhandler( MPI_Win_errhandler_function * function, MPI_Errhandler * errhandler )
1985 {
1986 
1987 
1988  int ret = PMPI_Win_create_errhandler( function, errhandler );
1989  return ret;
1990 }
1991 int MPI_Win_create_keyval( MPI_Win_copy_attr_function * win_copy_attr_fn, MPI_Win_delete_attr_function * win_delete_attr_fn, int * win_keyval, void * extra_state )
1992 {
1993 
1994 
1995  int ret = PMPI_Win_create_keyval( win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state );
1996  return ret;
1997 }
1998 int MPI_Win_delete_attr( MPI_Win win, int win_keyval )
1999 {
2000 
2001 
2002  int ret = PMPI_Win_delete_attr( win, win_keyval );
2003  return ret;
2004 }
2005 int MPI_Win_fence( int assert, MPI_Win win )
2006 {
2007 
2008 
2009  int ret = PMPI_Win_fence( assert, win );
2010  return ret;
2011 }
2012 int MPI_Win_free( MPI_Win * win )
2013 {
2014 
2015 
2016  int ret = PMPI_Win_free( win );
2017  return ret;
2018 }
2019 int MPI_Win_free_keyval( int * win_keyval )
2020 {
2021 
2022 
2023  int ret = PMPI_Win_free_keyval( win_keyval );
2024  return ret;
2025 }
2026 int MPI_Win_get_attr( MPI_Win win, int win_keyval, void * attribute_val, int * flag )
2027 {
2028 
2029 
2030  int ret = PMPI_Win_get_attr( win, win_keyval, attribute_val, flag );
2031  return ret;
2032 }
2033 int MPI_Win_get_errhandler( MPI_Win win, MPI_Errhandler * errhandler )
2034 {
2035 
2036 
2037  int ret = PMPI_Win_get_errhandler( win, errhandler );
2038  return ret;
2039 }
2040 int MPI_Win_get_group( MPI_Win win, MPI_Group * group )
2041 {
2042 
2043 
2044  int ret = PMPI_Win_get_group( win, group );
2045  return ret;
2046 }
2047 int MPI_Win_get_name( MPI_Win win, char * win_name, int * resultlen )
2048 {
2049 
2050 
2051  int ret = PMPI_Win_get_name( win, win_name, resultlen );
2052  return ret;
2053 }
2054 int MPI_Win_lock( int lock_type, int rank, int assert, MPI_Win win )
2055 {
2056 
2057 
2058  int ret = PMPI_Win_lock( lock_type, rank, assert, win );
2059  return ret;
2060 }
2061 int MPI_Win_post( MPI_Group group, int assert, MPI_Win win )
2062 {
2063 
2064 
2065  int ret = PMPI_Win_post( group, assert, win );
2066  return ret;
2067 }
2068 int MPI_Win_set_attr( MPI_Win win, int win_keyval, void * attribute_val )
2069 {
2070 
2071 
2072  int ret = PMPI_Win_set_attr( win, win_keyval, attribute_val );
2073  return ret;
2074 }
2075 int MPI_Win_set_errhandler( MPI_Win win, MPI_Errhandler errhandler )
2076 {
2077 
2078 
2079  int ret = PMPI_Win_set_errhandler( win, errhandler );
2080  return ret;
2081 }
2082 int MPI_Win_set_name( MPI_Win win, char * win_name )
2083 {
2084 
2085 
2086  int ret = PMPI_Win_set_name( win, win_name );
2087  return ret;
2088 }
2089 int MPI_Win_start( MPI_Group group, int assert, MPI_Win win )
2090 {
2091 
2092 
2093  int ret = PMPI_Win_start( group, assert, win );
2094  return ret;
2095 }
2096 int MPI_Win_test( MPI_Win win, int * flag )
2097 {
2098 
2099 
2100  int ret = PMPI_Win_test( win, flag );
2101  return ret;
2102 }
2103 int MPI_Win_unlock( int rank, MPI_Win win )
2104 {
2105 
2106 
2107  int ret = PMPI_Win_unlock( rank, win );
2108  return ret;
2109 }
2110 int MPI_Win_wait( MPI_Win win )
2111 {
2112 
2113 
2114  int ret = PMPI_Win_wait( win );
2115  return ret;
2116 }
2117 double MPI_Wtick( )
2118 {
2119 
2120 
2121  double ret = PMPI_Wtick( );
2122  return ret;
2123 }
2124 double MPI_Wtime( )
2125 {
2126 
2127 
2128  double ret = PMPI_Wtime( );
2129  return ret;
2130 }
2131 
2132 
int MPI_Type_struct(int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype array_of_types[], MPI_Datatype *newtype)
int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
int MPI_Type_get_contents(MPI_Datatype mtype, int max_integers, int max_addresses, int max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[])
int MPI_Error_class(int errorcode, int *errorclass)
int MPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype)
int MPI_Cart_map(MPI_Comm comm, int ndims, int *dims, int *periods, int *newrank)
int MPI_Comm_c2f(MPI_Comm comm)
double MPI_Wtick()
int MPI_Type_create_struct(int count, int array_of_block_lengths[], MPI_Aint array_of_displacements[], MPI_Datatype array_of_types[], MPI_Datatype *newtype)
int MPI_Buffer_attach(void *buffer, int size)
int MPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub)
int MPI_Bsend_init(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Info_delete(MPI_Info info, char *key)
int MPI_File_read_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Win_post(MPI_Group group, int assert, MPI_Win win)
int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen)
int MPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Waitany(int count, MPI_Request *array_of_requests, int *index, MPI_Status *status)
int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Win_wait(MPI_Win win)
int MPI_Type_indexed(int count, int array_of_blocklengths[], int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Win_set_name(MPI_Win win, char *win_name)
int MPI_File_open(MPI_Comm comm, char *filename, int amode, MPI_Info info, MPI_File *fh)
int MPI_Get_processor_name(char *name, int *resultlen)
int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int *index, int *edges)
int MPI_Cart_get(MPI_Comm comm, int maxdims, int *dims, int *periods, int *coords)
int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int VMPI_Release()
Releases VMPI.
Definition: VMPI.c:840
int MPI_Pack_external_size(char *datarep, int incount, MPI_Datatype datatype, MPI_Aint *size)
int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Bsend(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, int array_of_indices[], MPI_Status array_of_statuses[])
int MPI_Info_get_nkeys(MPI_Info info, int *nkeys)
int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type)
int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, MPI_Comm_delete_attr_function *comm_delete_attr_fn, int *comm_keyval, void *extra_state)
int MPI_Win_unlock(int rank, MPI_Win win)
int MPI_Add_error_code(int errorclass, int *errorcode)
Definition: VMPI_wrappers.c:94
int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status)
int MPI_Cart_create(MPI_Comm old_comm, int ndims, int *dims, int *periods, int reorder, MPI_Comm *comm_cart)
int MPI_Win_test(MPI_Win win, int *flag)
int MPI_Comm_connect(char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm)
int MPI_File_c2f(MPI_File file)
int MPI_Group_incl(MPI_Group group, int n, int *ranks, MPI_Group *newgroup)
int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count)
int MPI_Pack_external(char *datarep, void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position)
int MPI_Type_create_f90_integer(int r, MPI_Datatype *newtype)
int MPI_Comm_size(MPI_Comm comm, int *size)
int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
int MPI_Wait(MPI_Request *request, MPI_Status *status)
int MPI_Startall(int count, MPI_Request *array_of_requests)
int MPI_File_get_info(MPI_File fh, MPI_Info *info_used)
int MPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler)
int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win)
int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint *extent)
int MPI_Type_free(MPI_Datatype *type)
int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype *newtype)
int MPI_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status)
int MPI_Info_get(MPI_Info info, char *key, int valuelen, char *value, int *flag)
int MPI_Type_create_darray(int size, int rank, int ndims, int gsize_array[], int distrib_array[], int darg_array[], int psize_array[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Reduce_local(void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op)
int MPI_Attr_delete(MPI_Comm comm, int keyval)
int MPI_File_write_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
int MPI_Comm_free_keyval(int *comm_keyval)
int MPI_Get_version(int *version, int *subversion)
int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler)
int MPI_Comm_get_parent(MPI_Comm *parent)
int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status)
int MPI_File_write_all_end(MPI_File fh, void *buf, MPI_Status *status)
int MPI_Type_delete_attr(MPI_Datatype type, int type_keyval)
int MPI_Type_get_attr(MPI_Datatype type, int type_keyval, void *attribute_val, int *flag)
int MPI_Group_rank(MPI_Group group, int *rank)
int MPI_Win_complete(MPI_Win win)
int MPI_Info_free(MPI_Info *info)
int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val)
int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)
int MPI_Grequest_complete(MPI_Request request)
int MPI_Get_elements(MPI_Status *status, MPI_Datatype datatype, int *count)
int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler)
int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Info_set(MPI_Info info, char *key, char *value)
int MPI_Topo_test(MPI_Comm comm, int *status)
int MPI_Query_thread(int *provided)
int MPI_Waitsome(int incount, MPI_Request *array_of_requests, int *outcount, int *array_of_indices, MPI_Status *array_of_statuses)
int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges)
int MPI_Close_port(char *port_name)
int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
int MPI_Type_create_hindexed(int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
int MPI_File_close(MPI_File *fh)
int MPI_Add_error_class(int *errorclass)
Definition: VMPI_wrappers.c:87
int MPI_Win_get_group(MPI_Win win, MPI_Group *group)
int MPI_Comm_group(MPI_Comm comm, MPI_Group *group)
int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win)
int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm bridge_comm, int remote_leader, int tag, MPI_Comm *newintercomm)
int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup)
int MPI_Info_get_valuelen(MPI_Info info, char *key, int *valuelen, int *flag)
int MPI_Comm_rank(MPI_Comm comm, int *rank)
int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag)
int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int *neighbors)
int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count)
int MPI_File_preallocate(MPI_File fh, MPI_Offset size)
int MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_File_get_position(MPI_File fh, MPI_Offset *offset)
int MPI_Request_c2f(MPI_Request request)
int MPI_Comm_disconnect(MPI_Comm *comm)
int MPI_Group_size(MPI_Group group, int *size)
int MPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, int *keyval, void *extra_state)
int MPI_Keyval_free(int *keyval)
int MPI_Win_c2f(MPI_Win win)
int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *intercomm, int *array_of_errcodes)
int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype)
int MPI_File_read_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler)
int MPI_File_iwrite(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)
int MPI_File_get_group(MPI_File fh, MPI_Group *group)
int MPI_Rsend_init(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Open_port(MPI_Info info, char *port_name)
int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag)
int MPI_Start(MPI_Request *request)
int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status)
int MPI_Pack(void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, int outsize, int *position, MPI_Comm comm)
int MPI_Scan(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_File_call_errhandler(MPI_File fh, int errorcode)
int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep)
int MPI_Unpublish_name(char *service_name, MPI_Info info, char *port_name)
int MPI_Info_get_nthkey(MPI_Info info, int n, char *key)
int MPI_Initialized(int *flag)
int MPI_File_iread_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)
int MPI_Ssend_init(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Type_get_name(MPI_Datatype type, char *type_name, int *resultlen)
int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, MPI_Type_delete_attr_function *type_delete_attr_fn, int *type_keyval, void *extra_state)
int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size)
int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result)
int MPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype)
int MPI_Accumulate(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win)
Definition: VMPI_wrappers.c:80
int MPI_Init_thread(int *argc, char ***argv, int required, int *provided)
Definition: VMPI_wrappers.c:44
int MPI_Errhandler_c2f(MPI_Errhandler errhandler)
int MPI_Finalize()
Definition: VMPI_wrappers.c:58
int MPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm *newintercomm)
int MPI_File_write(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest)
int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm)
int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence)
int MPI_Register_datarep(char *datarep, MPI_Datarep_conversion_function *read_conversion_fn, MPI_Datarep_conversion_function *write_conversion_fn, MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state)
int MPI_Comm_test_inter(MPI_Comm comm, int *flag)
int MPI_Lookup_name(char *service_name, MPI_Info info, char *port_name)
int MPI_Alltoallv(void *sendbuf, int *sendcounts, int *sdispls, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *rdispls, MPI_Datatype recvtype, MPI_Comm comm)
int MPI_File_delete(char *filename, MPI_Info info)
int MPI_Abort(MPI_Comm comm, int errorcode)
Definition: VMPI_wrappers.c:73
int MPI_Buffer_detach(void *buffer, int *size)
int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, MPI_Win_delete_attr_function *win_delete_attr_fn, int *win_keyval, void *extra_state)
int MPI_Type_create_subarray(int ndims, int size_array[], int subsize_array[], int start_array[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Waitall(int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses)
int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
int MPI_Alltoallw(void *sendbuf, int *sendcounts, int *sdispls, MPI_Datatype *sendtypes, void *recvbuf, int *recvcounts, int *rdispls, MPI_Datatype *recvtypes, MPI_Comm comm)
int MPI_Add_error_string(int errorcode, char *string)
int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype)
int MPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, MPI_Comm comm)
int MPI_Op_commutative(MPI_Op op, int *commute)
int MPI_Dims_create(int nnodes, int ndims, int *dims)
int MPI_File_write_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status)
int MPI_Errhandler_free(MPI_Errhandler *errhandler)
int MPI_Publish_name(char *service_name, MPI_Info info, char *port_name)
int MPI_Cartdim_get(MPI_Comm comm, int *ndims)
int MPI_File_write_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
int MPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Graph_create(MPI_Comm comm_old, int nnodes, int *index, int *edges, int reorder, MPI_Comm *comm_graph)
int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent)
int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status)
int MPI_Comm_free(MPI_Comm *comm)
double MPI_Wtime()
int MPI_Info_c2f(MPI_Info info)
int MPI_Win_fence(int assert, MPI_Win win)
int MPI_Type_lb(MPI_Datatype type, MPI_Aint *lb)
int MPI_Type_create_indexed_block(int count, int blocklength, int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
#define MACRO_MPI_Comm(_c)
Macro used to wrap the MPI communicator.
Definition: VMPI_Wrap.h:32
int MPI_File_get_amode(MPI_File fh, int *amode)
int MPI_Is_thread_main(int *flag)
int MPI_Win_start(MPI_Group group, int assert, MPI_Win win)
int MPI_Comm_join(int fd, MPI_Comm *intercomm)
int MPI_Test_cancelled(MPI_Status *status, int *flag)
int MPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb, MPI_Aint *extent)
int MPI_Status_set_cancelled(MPI_Status *status, int flag)
int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval)
int MPI_Irsend(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val)
int MPI_Unpack(void *inbuf, int insize, int *position, void *outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm)
int MPI_Allreduce(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen)
int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler)
int MPI_Status_c2f(MPI_Status *c_status, int *f_status)
int MPI_Type_set_name(MPI_Datatype type, char *type_name)
int MPI_Status_f2c(int *f_status, MPI_Status *c_status)
int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)
int MPI_Type_size(MPI_Datatype type, int *size)
int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode)
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function, MPI_Errhandler *errhandler)
int MPI_File_set_atomicity(MPI_File fh, int flag)
int MPI_Cart_sub(MPI_Comm comm, int *remain_dims, MPI_Comm *new_comm)
int MPI_Comm_set_name(MPI_Comm comm, char *comm_name)
int MPI_Op_free(MPI_Op *op)
int MPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Get_address(void *location, MPI_Aint *address)
int MPI_Reduce(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
int MPI_Issend(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Testany(int count, MPI_Request array_of_requests[], int *index, int *flag, MPI_Status *status)
int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup)
int MPI_Type_get_envelope(MPI_Datatype type, int *num_integers, int *num_addresses, int *num_datatypes, int *combiner)
int MPI_Send_init(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset *disp)
int MPI_File_write_ordered_end(MPI_File fh, void *buf, MPI_Status *status)
int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Finalized(int *flag)
int MPI_Group_c2f(MPI_Group group)
int MPI_Type_set_attr(MPI_Datatype type, int type_keyval, void *attr_val)
int MPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op)
int MPI_File_create_errhandler(MPI_File_errhandler_function *function, MPI_Errhandler *errhandler)
int MPI_Type_hindexed(int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Info_create(MPI_Info *info)
int MPI_Request_free(MPI_Request *request)
int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status)
int MPI_File_write_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, void *extra_state, MPI_Request *request)
int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler)
int MPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
int MPI_Win_create_errhandler(MPI_Win_errhandler_function *function, MPI_Errhandler *errhandler)
int MPI_File_get_size(MPI_File fh, MPI_Offset *size)
int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)
int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
int MPI_Comm_spawn_multiple(int count, char **array_of_commands, char ***array_of_argv, int *array_of_maxprocs, MPI_Info *array_of_info, int root, MPI_Comm comm, MPI_Comm *intercomm, int *array_of_errcodes)
int MPI_Cart_rank(MPI_Comm comm, int *coords, int *rank)
int MPI_Win_call_errhandler(MPI_Win win, int errorcode)
int MPI_Sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
int MPI_Type_commit(MPI_Datatype *type)
int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset)
int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype)
int MPI_Address(void *location, MPI_Aint *address)
int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group)
int MPI_Type_c2f(MPI_Datatype datatype)
int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int *coords)
int MPI_Group_free(MPI_Group *group)
int MPI_Comm_accept(char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm)
int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Cancel(MPI_Request *request)
int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr)
int MPI_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win)
int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo)
int MPI_Comm_remote_size(MPI_Comm comm, int *size)
int MPI_Unpack_external(char *datarep, void *inbuf, MPI_Aint insize, MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype)
int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, char *datarep, MPI_Info info)
int MPI_Rsend(void *ibuf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Graph_map(MPI_Comm comm, int nnodes, int *index, int *edges, int *newrank)
int MPI_Ibsend(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Group_excl(MPI_Group group, int n, int *ranks, MPI_Group *newgroup)
int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm)
int MPI_File_sync(MPI_File fh)
int MPI_Group_translate_ranks(MPI_Group group1, int n, int *ranks1, MPI_Group group2, int *ranks2)
int VMPI_Init(int *argc, char ***argv)
Initializes VMPI.
Definition: VMPI.c:758
int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm)
int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence)
int MPI_Error_string(int errorcode, char *string, int *resultlen)
int MPI_File_set_size(MPI_File fh, MPI_Offset size)
int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors)
int MPI_Scatterv(void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Win_free(MPI_Win *win)
int MPI_Win_free_keyval(int *win_keyval)
int MPI_Free_mem(void *base)
int MPI_File_write_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
int MPI_Op_c2f(MPI_Op op)
int MPI_Init(int *argc, char ***argv)
Definition: VMPI_wrappers.c:29
int MPI_Exscan(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)
int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status)
int MPI_File_iwrite_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)
int MPI_Type_extent(MPI_Datatype type, MPI_Aint *extent)
int MPI_File_set_info(MPI_File fh, MPI_Info info)
int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, MPI_Status array_of_statuses[])
int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler)
int MPI_Alltoall(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
int MPI_File_get_atomicity(MPI_File fh, int *flag)
int MPI_Win_delete_attr(MPI_Win win, int win_keyval)
int MPI_Barrier(MPI_Comm comm)
int MPI_Ssend(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Put(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win)
int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result)
int MPI_Type_free_keyval(int *type_keyval)