MPI_ALLGATHER(3)MPI_ALLGATHER(3)NAMEMPI_Allgather - Gathers data from all tasks and distributes it
SYNOPSIS
C:
#include <mpi.h>
int MPI_Allgather ( sendbuf, sendcount, sendtype,
recvbuf, recvcount, recvtype, comm)
void *sendbuf;
int sendcount;
MPI_Datatype sendtype;
void *recvbuf;
int recvcount;
MPI_Datatype recvtype;
MPI_Comm comm;
C++:
#include <mpi.h>
void Intracomm::Allgather(
const void* sendbuf,
int sendcount,
const Datatype& sendtype,
void* recvbuf,
int recvcount,
const Datatype& recvtype) const
Fortran:
INCLUDE "mpif.h" (or USE MPI)
<type> SENDBUF(*), RECVBUF(*)
INTEGER sendcount, sendtype, recvcount, recvtype,
comm, ierror
CALL MPI_ALLGATHER(sendbuf, sendcount, sendtype,
recvbuf, recvcount, 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.
Page 1
MPI_ALLGATHER(3)MPI_ALLGATHER(3)
The MPI_IN_PLACE option as defined in the MPI 2.0 standard is also
supported in this implementation.
DESCRIPTION
The MPI_Allgather routine gathers data from all tasks and distributes it
to all. 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 all processes. This causes
sendcount and sendtype to be ignored, and the input data
of each process is assumed to be in the area where that
process would receive its own contribution to the receive
buffer. Please note that using the MPI_IN_PLACE option in
Fortran causes the receive buffer to become a send-and-
receive buffer, so a binding that includes INTENT must be
marked as INOUT, not OUT.
sendcount Specifies the number of elements in the send buffer
(integer)
sendtype Specifies the data type of the send buffer elements
(handle)
recvcount Specifies the number of elements received from any process
(integer)
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.
Page 2