MPI_Scatterv(3)

MPI_Scatterv - Scatters a buffer in parts to all tasks in a group

Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.22.

NAME
     MPI_Scatterv - Scatters a buffer in parts to all tasks in a group

SYNOPSIS
     C:

          #include <mpi.h>

          int MPI_Scatterv ( sendbuf, sendcounts, displs, sendtype,
          recvbuf, recvcount, recvtype, root, comm )
          void             *sendbuf;
          int              *sendcounts;
          int              *displs;
          MPI_Datatype      sendtype;
          void             *recvbuf;
          int               recvcount;
          MPI_Datatype      recvtype;
          int               root;
          MPI_Comm          comm;


     C++:

          #include <mpi.h>

          void Intracomm::Scatterv(
          const void*       sendbuf,
          const int         sendcounts[],
          const int         displs[],
          const Datatype&   sendtype,
          void*             recvbuf,
          int               recvcount,
          const Datatype&   recvtype,
          int               root) const


     Fortran:

          INCLUDE "mpif.h" (or USE MPI)

          <type> SENDBUF(*), RECVBUF(*)
          INTEGER sendcounts(*), displs(*), sendtype, recvcount,
          recvtype, root, comm, ierror

          CALL MPI_SCATTERV(sendbuf, sendcounts(*), displs(*), sendtype,
          recvbuf,recvcount, recvtype, root, 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.
     The MPI_IN_PLACE option as defined in the MPI 2.0 standard is also
     supported in this implementation.

DESCRIPTION
     The MPI_Scatterv routine scatters a buffer in parts to all tasks in a
     group.  This routine accepts the following parameters:

     sendbuf        Specifies the address of the send buffer (choice,
                    significant only at root).

     sendcounts     Specifies the integer array (of length group size,
                    specified in comm) that indicates the number of elements
                    to send to each processor.

     displs         Specifies the integer array (of length group size,
                    specified in comm).  Entry i specifies the displacement
                    (relative to sendbuf) from which to take the outgoing data
                    to process i.

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

     recvcount      Specifies the number of elements in the receive buffer
                    (integer).

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

     root           Specifies the rank of the sending process (integer).

     comm           Specifies the communicator (handle).

     recvbuf        Returns the address of the receive buffer (choice).  You
                    may also pass in the argument MPI_IN_PLACE for the value
                    of recvbuf at the root. In such a case, recvcount and
                    rectype are ignored, and the root sends no data to itself.
                    The scattered vector is still assumed to contain n
                    segments, where n is the group size; the root-th segment,
                    which root should not send to itself, is not moved.

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