Blame man/man3/MPI_Ineighbor_alltoallw.3

Packit 0848f5
.TH MPI_Ineighbor_alltoallw 3 "11/10/2017" " " "MPI"
Packit 0848f5
.SH NAME
Packit 0848f5
MPI_Ineighbor_alltoallw \-  Nonblocking version of MPI_Neighbor_alltoallw. 
Packit 0848f5
.SH SYNOPSIS
Packit 0848f5
.nf
Packit 0848f5
int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request)
Packit 0848f5
.fi
Packit 0848f5
.SH INPUT PARAMETERS
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B sendbuf 
Packit 0848f5
- starting address of the send buffer (choice)
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B sendcounts 
Packit 0848f5
- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B sdispls 
Packit 0848f5
- integer array (of length outdegree).  Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers)
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B sendtypes 
Packit 0848f5
- array of datatypes (of length outdegree).  Entry j specifies the type of data to send to neighbor j (array of handles)
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B recvcounts 
Packit 0848f5
- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B rdispls 
Packit 0848f5
- integer array (of length indegree).  Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers).
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B recvtypes 
Packit 0848f5
- array of datatypes (of length indegree).  Entry i specifies the type of data received from neighbor i (array of handles).
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B comm 
Packit 0848f5
- communicator with topology structure (handle)
Packit 0848f5
.PD 1
Packit 0848f5
Packit 0848f5
.SH OUTPUT PARAMETERS
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B recvbuf 
Packit 0848f5
- starting address of the receive buffer (choice)
Packit 0848f5
.PD 1
Packit 0848f5
.PD 0
Packit 0848f5
.TP
Packit 0848f5
.B request 
Packit 0848f5
- communication request (handle)
Packit 0848f5
.PD 1
Packit 0848f5
Packit 0848f5
.SH THREAD AND INTERRUPT SAFETY
Packit 0848f5
Packit 0848f5
This routine is thread-safe.  This means that this routine may be
Packit 0848f5
safely used by multiple threads without the need for any user-provided
Packit 0848f5
thread locks.  However, the routine is not interrupt safe.  Typically,
Packit 0848f5
this is due to the use of memory allocation routines such as 
Packit 0848f5
.I malloc
Packit 0848f5
or other non-MPICH runtime routines that are themselves not interrupt-safe.
Packit 0848f5
Packit 0848f5
.SH NOTES FOR FORTRAN
Packit 0848f5
All MPI routines in Fortran (except for 
Packit 0848f5
.I MPI_WTIME
Packit 0848f5
and 
Packit 0848f5
.I MPI_WTICK
Packit 0848f5
) have
Packit 0848f5
an additional argument 
Packit 0848f5
.I ierr
Packit 0848f5
at the end of the argument list.  
Packit 0848f5
.I ierr
Packit 0848f5
is an integer and has the same meaning as the return value of the routine
Packit 0848f5
in C.  In Fortran, MPI routines are subroutines, and are invoked with the
Packit 0848f5
.I call
Packit 0848f5
statement.
Packit 0848f5
Packit 0848f5
All MPI objects (e.g., 
Packit 0848f5
.I MPI_Datatype
Packit 0848f5
, 
Packit 0848f5
.I MPI_Comm
Packit 0848f5
) are of type 
Packit 0848f5
.I INTEGER
Packit 0848f5
in Fortran.
Packit 0848f5
Packit 0848f5
.SH ERRORS
Packit 0848f5
Packit 0848f5
All MPI routines (except 
Packit 0848f5
.I MPI_Wtime
Packit 0848f5
and 
Packit 0848f5
.I MPI_Wtick
Packit 0848f5
) return an error value;
Packit 0848f5
C routines as the value of the function and Fortran routines in the last
Packit 0848f5
argument.  Before the value is returned, the current MPI error handler is
Packit 0848f5
called.  By default, this error handler aborts the MPI job.  The error handler
Packit 0848f5
may be changed with 
Packit 0848f5
.I MPI_Comm_set_errhandler
Packit 0848f5
(for communicators),
Packit 0848f5
.I MPI_File_set_errhandler
Packit 0848f5
(for files), and 
Packit 0848f5
.I MPI_Win_set_errhandler
Packit 0848f5
(for
Packit 0848f5
RMA windows).  The MPI-1 routine 
Packit 0848f5
.I MPI_Errhandler_set
Packit 0848f5
may be used but
Packit 0848f5
its use is deprecated.  The predefined error handler
Packit 0848f5
.I MPI_ERRORS_RETURN
Packit 0848f5
may be used to cause error values to be returned.
Packit 0848f5
Note that MPI does 
Packit 0848f5
.B not
Packit 0848f5
guarentee that an MPI program can continue past
Packit 0848f5
an error; however, MPI implementations will attempt to continue whenever
Packit 0848f5
possible.
Packit 0848f5