NAME
MMPPIICCoommmmdduupp - Duplicates an existing communicator with all its
cached information. SSYYNNTTAAXX CC SSyynnttaaxx#include
int MPICommdup(MPIComm comm, MPIComm *newcomm) FFoorrttrraann SSyynnttaaxx INCLUDE 'mpif.h'MPICOMMDUP(COMM, NEWCOMM, IERROR)
INTEGER COMM, NEWCOMM, IERROR
CC++++ SSyynnttaaxx#include
Intracomm Intracomm::Dup() const Intercomm Intercomm::Dup() const IINNPPUUTT PPAARRAAMMEETTEERR comm Communicator (handle). OOUUTTPPUUTT PPAARRAAMMEETTEERRSS newcomm Copy of comm (handle).IERROR Fortran only: Error status (integer).
DESCRIPTION
MPICommdup duplicates the existing communicator comm with associated key values. For each key value, the respective copy callback functiondetermines the attribute value associated with this key in the new com-
municator; one particular action that a copy callback may take is to delete the attribute from the new communicator. Returns in newcomm a new communicator with the same group, any copied cached information,but a new context (see Section 5.7.1 of the MPI-1 Standard, "Function-
ality"). NNOOTTEESSThis operation is used to provide a parallel library call with a dupli-
cate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies(see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call
is valid even if there are pending point-to-point communications
involving the communicator comm. A typical call might involve an MPICommdup at the beginning of the parallel call, and an MPICommfree of that duplicated communicator at the end of the call. Other models of communicator management are also possible.This call applies to both intra- and intercommunicators.
EERRRROORRSS Almost all MPI routines return an error value; C routines as the valueof the function and Fortran routines in the last argument. C++ func-
tions do not return errors. If the default error handler is set toMPI::ERRORSTHROWEXCEPTIONS, then on error the C++ exception mechanism
will be used to throw an MPI:Exception object. Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed withMPICommseterrhandler; the predefined error handler MPIERRORSRETURN
may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. Open MPI 1.2 September 2006 MPICommdup(3OpenMPI)