MPI_Alltoallv(3)

MPI_Alltoallv - Sends data from all processes to all processes, with a displacement

As shipped in IRIX 6.5.22. Added in IRIX 6.5.19.

NAME
     MPI_Alltoallv - Sends data from all processes to all processes, with a
     displacement

SYNOPSIS
     C:

          #include <mpi.h>

          int MPI_Alltoallv ( sendbuf, sendcnts, sdispls, sendtype,
          recvbuf, recvcnts, rdispls, recvtype, comm )
          void             *sendbuf;
          int              *sendcnts;
          int              *sdispls;
          MPI_Datatype      sendtype;
          void             *recvbuf;
          Cint              *recvcnts;
          int              *rdispls;
          MPI_Datatype      recvtype;
          MPI_Comm          comm;


     C++:

          #include <mpi.h>

          void Intracomm::Alltoallv(
          const void*       sendbuf,
          const int         sendcounts[],
          const int         sdispls[],
          const Datatype&   sendtype,
          void*             recvbuf,
          const int         recvcounts[],
          const int         rdispls[],
          const Datatype&   recvtype) const


     Fortran:

          INCLUDE "mpif.h" (or USE MPI)

          <type> SENDBUF(*), RECVBUF(*)
          INTEGER sendcounts(*), sdispls(*), sendtype,
          recvcounts(*), rdispls(*), recvtype, comm,
          ierror

          CALL MPI_ALLTOALLV(sendbuf, sendcounts(*), sdispls(*),
          sendtype, recvbuf, recvcounts(*), rdispls(*),
          recvtype, comm, ierror)
STANDARDS
     This release implements the MPI 1.2 standard, as documented by the MPI
     Forum in the spring 1997 release of MPI:  A Message Passing Interface
     Standard.

DESCRIPTION
     The MPI_Alltoallv routine sends data from all processes to all processes,
     with a displacement.  This routine accepts the following parameters:

     sendbuf        Specifies the starting address of the send buffer
                    (choice).

     sendcnts       Specifies an integer array equal to the group size,
                    specified in comm, indicating the number of elements to
                    send to each processor.

     sdispls        Specifies an integer array equal to the group size,
                    specified in comm.  Entry j specifies the displacement
                    (relative to sendbuf) from which to take the outgoing data
                    destined for process j.

     sendtype       Specifies the data type of the send buffer elements
                    (handle).

     recvcnts       Specifies the maximum number of elements that can be
                    received from each processor.

     rdispls        Specifies an integer array equal to the group size,
                    specified in comm.  Entry i specifies the displacement
                    (relative to recvbuf) at which to place the incoming data
                    from process i.

     recvtype       Specifies the data type of the receive buffer elements
                    (handle).

     comm           Specifies the communicator (handle).

     recvbuf        Returns the address of the receive buffer (choice).

     ierror         Specifies the return code value for successful completion,
                    which is in MPI_SUCCESS.  MPI_SUCCESS is defined in the
                    mpif.h file.