The communicator containing the process that initiates the inter-communication (handle).
.TP 1i
local_leader
Rank of local group leader in local_comm (integer).
.TP 1i
peer_comm
"Peer" communicator; significant only at the local_leader (handle).
.TP 1i
remote_leader
Rank of remote group leader in peer_comm; significant only at the local_leader (integer).
.TP 1i
tag
Message tag used to identify new intercommunicator (integer).
.SH OUTPUT PARAMETERS
.ft R
.TP 1i
newintercomm
Created intercommunicator (handle).
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
This call creates an intercommunicator. It is collective over the union of the local and remote groups. Processes should provide identical local_comm and local_leader arguments within each group. Wildcards are not permitted for remote_leader, local_leader, and tag.
.sp
This call uses point-to-point communication with communicator peer_comm,
and with tag tag between the leaders. Thus, care must be taken that there be no pending communication on peer_comm that could interfere with this communication.
If multiple MPI_Intercomm_creates are being made, they should use different tags (more precisely, they should ensure that the local and remote leaders are using different tags for each MPI_intercomm_create).
.SH NOTES
We recommend using a dedicated peer communicator, such as a duplicate of MPI_COMM_WORLD, to avoid trouble with peer communicators.
.sp
The MPI 1.1 Standard contains two mutually exclusive comments on the
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, 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 with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN 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.