MPI_Scatterv(3)
MPI_Scatterv - Scatters a buffer in parts to all tasks in a group
As shipped in IRIX 6.5.30. 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.