MPI_GATHERV(3)MPI_GATHERV(3)NAMEMPI_Gatherv - Gathers values into specified locations from all processes
in a group
SYNOPSIS
C:
#include <mpi.h>
int MPI_Gatherv ( sendbuf, sendcount, sendtype, recvbuf,
recvcounts, displs, recvtype, root, comm )
void *sendbuf;
int sendcount;
MPI_Datatype sendtype;
void *recvbuf;
int *recvcounts;
int *displs;
MPI_Datatype recvtype;
int root;
MPI_Comm comm;
C++:
#include <mpi.h>
void Intracomm::Gatherv(
const void* sendbuf,
int sendcount,
const Datatype& sendtype,
void* recvbuf,
const int recvcounts[],
const int displs[],
const Datatype& recvtype,
int root) const
Fortran:
INCLUDE "mpif.h" (or USE MPI)
<type> SENDBUF(*), RECVBUF(*)
INTEGER sendcount, sendtype, recvcounts(*), displs(*),
recvtype, root, comm, ierror
CALL MPI_GATHERV(sendbuf, sendcount, sendtype,
recvbuf, recvcounts(*), displs(*), recvtype, root, comm, ierror)
Page 1
MPI_GATHERV(3)MPI_GATHERV(3)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_Gatherv routine gathers values into specified locations from all
processes in a group. This routine accepts the following parameters:
sendbuf Specifies the starting address of the send buffer
(choice). You may also pass in the argument MPI_IN_PLACE
for the value of sendbuf at the root. In such a case,
sendcount and sendtype are ignored, and the contribution
of the root to the gathered vector is assumed to already
be in the correct place in the receive buffer.
sendcount Specifies the number of elements in the send buffer
(integer).
sendtype Specifies the data type of send buffer elements (handle).
recvcounts Specifies an integer array (of length group size,
specified in comm) containing the number of elements that
are received from each process (significant only at root).
displs Specifies an integer array (of length group size,
specified in comm). Entry i specifies the displacement
relative to recvbuf at which to place the incoming data
from process i (significant only at root).
recvtype Specifies the data type of the receive buffer elements
(handle; significant only at root).
root Specifies the rank of the receiving process (integer).
comm Specifies the communicator (handle).
recvbuf Returns the address of the receive buffer (choice;
significant only at root).
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