mac mpi
This commit is contained in:
135
macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3
Normal file
135
macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3
Normal file
@@ -0,0 +1,135 @@
|
||||
.TH MPI_Comm_split 3 "6/5/2019" " " "MPI"
|
||||
.SH NAME
|
||||
MPI_Comm_split \- Creates new communicators based on colors and keys
|
||||
.SH SYNOPSIS
|
||||
.nf
|
||||
int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm * newcomm)
|
||||
.fi
|
||||
.SH INPUT PARAMETERS
|
||||
.PD 0
|
||||
.TP
|
||||
.B comm
|
||||
- communicator (handle)
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B color
|
||||
- control of subset assignment (nonnegative integer). Processes
|
||||
with the same color are in the same new communicator
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B key
|
||||
- control of rank assignment (integer)
|
||||
.PD 1
|
||||
|
||||
.SH OUTPUT PARAMETERS
|
||||
.PD 0
|
||||
.TP
|
||||
.B newcomm
|
||||
- new communicator (handle)
|
||||
.PD 1
|
||||
|
||||
.SH NOTES
|
||||
The
|
||||
.I color
|
||||
must be non-negative or
|
||||
.I MPI_UNDEFINED
|
||||
\&.
|
||||
|
||||
|
||||
.SH THREAD AND INTERRUPT SAFETY
|
||||
|
||||
This routine is thread-safe. This means that this routine may be
|
||||
safely used by multiple threads without the need for any user-provided
|
||||
thread locks. However, the routine is not interrupt safe. Typically,
|
||||
this is due to the use of memory allocation routines such as
|
||||
.I malloc
|
||||
or other non-MPICH runtime routines that are themselves not interrupt-safe.
|
||||
|
||||
.SH NOTES FOR FORTRAN
|
||||
All MPI routines in Fortran (except for
|
||||
.I MPI_WTIME
|
||||
and
|
||||
.I MPI_WTICK
|
||||
) have
|
||||
an additional argument
|
||||
.I ierr
|
||||
at the end of the argument list.
|
||||
.I 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
|
||||
.I call
|
||||
statement.
|
||||
|
||||
All MPI objects (e.g.,
|
||||
.I MPI_Datatype
|
||||
,
|
||||
.I MPI_Comm
|
||||
) are of type
|
||||
.I INTEGER
|
||||
in Fortran.
|
||||
|
||||
.SH ALGORITHM
|
||||
.nf
|
||||
1. Use MPI_Allgather to get the color and key from each process
|
||||
2. Count the number of processes with the same color; create a
|
||||
communicator with that many processes. If this process has
|
||||
.I MPI_UNDEFINED
|
||||
as the color, create a process with a single member.
|
||||
3. Use key to order the ranks
|
||||
.fi
|
||||
|
||||
|
||||
.SH ERRORS
|
||||
|
||||
All MPI routines (except
|
||||
.I MPI_Wtime
|
||||
and
|
||||
.I MPI_Wtick
|
||||
) return an error value;
|
||||
C routines as the value of the function and Fortran routines in the last
|
||||
argument. Before the value is returned, the current MPI error handler is
|
||||
called. By default, this error handler aborts the MPI job. The error handler
|
||||
may be changed with
|
||||
.I MPI_Comm_set_errhandler
|
||||
(for communicators),
|
||||
.I MPI_File_set_errhandler
|
||||
(for files), and
|
||||
.I MPI_Win_set_errhandler
|
||||
(for
|
||||
RMA windows). The MPI-1 routine
|
||||
.I MPI_Errhandler_set
|
||||
may be used but
|
||||
its use is deprecated. The predefined error handler
|
||||
.I MPI_ERRORS_RETURN
|
||||
may be used to cause error values to be returned.
|
||||
Note that MPI does
|
||||
.B not
|
||||
guarentee that an MPI program can continue past
|
||||
an error; however, MPI implementations will attempt to continue whenever
|
||||
possible.
|
||||
|
||||
.PD 0
|
||||
.TP
|
||||
.B MPI_SUCCESS
|
||||
- No error; MPI routine completed successfully.
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B MPI_ERR_COMM
|
||||
- Invalid communicator. A common error is to use a null
|
||||
communicator in a call (not even allowed in
|
||||
.I MPI_Comm_rank
|
||||
).
|
||||
.PD 1
|
||||
.PD 0
|
||||
.TP
|
||||
.B MPI_ERR_INTERN
|
||||
- This error is returned when some part of the MPICH
|
||||
implementation is unable to acquire memory.
|
||||
.PD 1
|
||||
|
||||
.SH SEE ALSO
|
||||
MPI_Comm_free
|
||||
.br
|
||||
Reference in New Issue
Block a user