7.11.1. Inclusive Scan
Up: Scan
Next: Exclusive Scan
Previous: Scan
MPI_SCAN(sendbuf, recvbuf, count, datatype, op, comm) |
IN sendbuf | starting address of send buffer (choice) |
OUT recvbuf | starting address of receive buffer (choice) |
IN count | number of elements in input buffer (non-negative integer) |
IN datatype | datatype of elements of input buffer (handle) |
IN op | operation (handle) |
IN comm | communicator (handle) |
C binding
int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Scan_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
Fortran 2008 binding
MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm, ierror)
TYPE(*), DIMENSION(..), INTENT(IN) :: sendbuf
TYPE(*), DIMENSION(..) :: recvbuf
INTEGER, INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm, ierror) !(_c)
TYPE(*), DIMENSION(..), INTENT(IN) :: sendbuf
TYPE(*), DIMENSION(..) :: recvbuf
INTEGER(KIND=MPI_COUNT_KIND), INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Op), INTENT(IN) :: op
TYPE(MPI_Comm), INTENT(IN) :: comm
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
Fortran binding
MPI_SCAN(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, COMM, IERROR
If comm is an intra-communicator,
MPI_SCAN is used to perform a prefix reduction
on data distributed across the group.
The operation returns, in the receive buffer of the MPI process with rank
i, the
reduction of the values in the send buffers of MPI processes with ranks
0,...,i (inclusive). The routine is called by all
group members using the same arguments for count, datatype,
op and comm,
except that for user-defined operations, the same rules apply as for
MPI_REDUCE. The type of operations supported, their semantics,
and the constraints on send and receive buffers are as for
MPI_REDUCE.
The ``in place'' option for intra-communicators is specified by passing
MPI_IN_PLACE
in the sendbuf argument. In this case, the input data is
taken from the receive buffer, and replaced by the output data.
This operation is invalid for inter-communicators.
Up: Scan
Next: Exclusive Scan
Previous: Scan
Return to MPI-4.1 Standard Index
Return to MPI Forum Home Page
(Unofficial) MPI-4.1 of November 2, 2023
HTML Generated on November 19, 2023