MPI_SCATTERV(3)MPI_SCATTERV(3)NAMEMPI_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.
Page 1
MPI_SCATTERV(3)MPI_SCATTERV(3)
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.
Page 2