MPI_REDUCE_SCATTER(3)MPI_REDUCE_SCATTER(3)NAMEMPI_Reduce_scatter - Combines values and scatters the results
SYNOPSIS
C:
#include <mpi.h>
int MPI_Reduce_scatter ( sendbuf, recvbuf, recvcounts,
datatype, op, comm )
void *sendbuf;
void *recvbuf;
int *recvcounts;
MPI_Datatype datatype;
MPI_Op op;
MPI_Comm comm;
C++:
#include <mpi.h>
void Intracomm::Reduce_scatter(
const void* sendbuf,
void* recvbuf,
int recvcounts[],
const Datatype& datatype,
const Op& op) const
Fortran:
INCLUDE "mpif.h" (or USE MPI)
<type> SENDBUF(*), RECVBUF(*)
INTEGER recvcounts(*), datatype, op, comm, ierror
CALL MPI_REDUCE_SCATTER(sendbuf, recvbuf, recvcounts(*), datatype, op, 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_Reduce_scatter routine combines values and scatters the results.
This routine accepts the following parameters:
Page 1
MPI_REDUCE_SCATTER(3)MPI_REDUCE_SCATTER(3)
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. In this case,
the input data is taken from the top of the receive
buffer. Note that the area occupied by the input data may
be either longer or shorter than that filled by the output
data, and that Fortran bindings for recvbuf that include
INTENT should mark it as INOUT, not OUT.
recvcounts Specifies the integer array that specifies the number of
elements in the result that is distributed to each
process. The array must be identical on all calling
processes.
datatype Specifies the data type of elements of the input buffer
(handle)
op Specifies the operation (handle)
comm Specifies the communicator (handle)
recvbuf Returns the starting 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