Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MPI_Alltoallv(3)		       MPI			MPI_Alltoallv(3)

NAME
     MPI_Alltoallv  -	Sends  data  from all to all processes; each process may
     send a different amount of data and provide displacements for the input and
     output data.

SYNOPSIS
     int MPI_Alltoallv(const void *sendbuf, const int sendcounts[],
     const int sdispls[], MPI_Datatype sendtype, void *recvbuf,
     const int recvcounts[], const int rdispls[],
     MPI_Datatype recvtype, MPI_Comm comm)

     int MPI_Alltoallv_c(const void *sendbuf, const MPI_Count sendcounts[],
     const MPI_Aint sdispls[], MPI_Datatype sendtype,
     void *recvbuf, const MPI_Count recvcounts[],
     const MPI_Aint rdispls[], MPI_Datatype recvtype,
     MPI_Comm comm)

INPUT PARAMETERS
     sendbuf
	    - starting address of send buffer (choice)
     sendcounts
	    - non-negative integer array (of length group size)  specifying  the
	    number of elements to send to each rank (non-negative integer)
     sdispls
	    -  integer	array (of length group size). Entry j specifies the dis-
	    placement (relative to sendbuf) from which to take the outgoing data
	    destined for process j (integer)
     sendtype
	    - data type of send buffer elements (handle)
     recvcounts
	    - non-negative integer array (of length group size)  specifying  the
	    number of elements that can be received from each rank (non-negative
	    integer)
     rdispls
	    -  integer	array (of length group size). Entry i specifies the dis-
	    placement (relative to recvbuf) at which to place the incoming  data
	    from process i (integer)
     recvtype
	    - data type of receive buffer elements (handle)
     comm   - communicator (handle)

OUTPUT PARAMETERS
     recvbuf
	    - address of receive buffer (choice)

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 malloc or other non-MPICH
     runtime routines that are themselves not interrupt-safe.

NOTES FOR FORTRAN
     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 inte-
     ger  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 state-
     ment.

     All MPI objects (e.g., MPI_Datatype , MPI_Comm ) are  of  type  INTEGER  in
     Fortran.

ERRORS
     All MPI routines (except MPI_Wtime and MPI_Wtick ) return an error value; C
     routines  as the value of the function and Fortran routines in the last ar-
     gument.  Before the value is returned, the current  MPI  error  handler  is
     called.  By default, this error handler aborts the MPI job.  The error han-
     dler  may	be  changed  with  MPI_Comm_set_errhandler  (for communicators),
     MPI_File_set_errhandler (for files), and  MPI_Win_set_errhandler  (for  RMA
     windows).	 The MPI-1 routine MPI_Errhandler_set may be used but its use is
     deprecated.  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;  however,  MPI  implementations
     will attempt to continue whenever possible.

     MPI_SUCCESS
	    - No error; MPI routine completed successfully.
     MPI_ERR_BUFFER
	    -  Invalid	buffer	pointer.  Usually a null buffer where one is not
	    valid.
     MPI_ERR_COMM
	    - Invalid communicator.  A common error is to use a null  communica-
	    tor in a call (not even allowed in MPI_Comm_rank ).
     MPI_ERR_COUNT
	    -  Invalid	count argument.  Count arguments must be non-negative; a
	    count of zero is often valid.
     MPI_ERR_TYPE
	    - Invalid datatype argument.  Additionally, this error can occur  if
	    an uncommitted MPI_Datatype (see MPI_Type_commit ) is used in a com-
	    munication call.
     MPI_ERR_OTHER
	    -  Other  error;  use MPI_Error_string to get more information about
	    this error code.

				    4/10/2026			MPI_Alltoallv(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=MPI_Alltoallv&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help