Built-in mpi function to simple-mindedly copy communicator attributes.
#include <mpi.h> int MPI_COMM_DUP_FN(MPI_Comm comm, int key, void *extra, void *attrin, void *attrout, int *flag)
comm
- communicator (handle)
key
- key value (integer)
extra
- extra state
attrin
- in value for attribute
attrout
- out value for attribute
flag
- 1 if attribute copied successfully, 0 otherwise (logical)
This function blindly byte-copies attributes on communicators. It is the default atrribute-copying function for communicators. This function will always return MPI_SUCCESS , and flag will always be set to 1.
The actual copy is performed by the code
*((void **) attrout) = attrin;
If this simple assignment is not sufficient for your attributes, you will need to reassign the attribute-copying function on relevant keyvals on communicators with the MPI_Comm_keyval_create function.
All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK ) have an additional argument ierr at the end of the argument list. ierr is an integer and has the same meaning as the return value of the routine in C. In Fortran, MPI routines are subroutines, and are invoked with the call statement.
All MPI objects (e.g., MPI_Datatype , MPI_Comm ) are of type INTEGER in Fortran.
MPI_Comm_keyval_create
For more information, please see the official MPI Forum web site, which contains the text of both the MPI-1 and MPI-2 standards. These documents contain detailed information about each MPI function (most of which is not duplicated in these man pages).
http://www.mpi-forum.org/
The LAM Team would like the thank the MPICH Team for the handy program to generate man pages ("doctext" from ftp://ftp.mcs.anl.gov/pub/sowing/sowing.tar.gz ), the initial formatting, and some initial text for most of the MPI-1 man pages.
dupfn.c