declarations for MPI collectives More...
Go to the source code of this file.
Functions: Collective communications | |
typedef void | MPI_User_function(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype) |
User combination function for reduction. More... | |
typedef void | MPI_User_function_c(void *invec, void *inoutvec, MPI_Count *len, MPI_Datatype *datatype) |
int | MPI_Barrier (MPI_Comm comm) |
Blocks the caller until all group members have called the routine. More... | |
int | MPI_Ibarrier (MPI_Comm comm, MPI_Request *request) |
int | MPI_Bcast (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) |
Broadcasts a message from the process with rank root to all processes of the group, itself included. More... | |
int | MPI_Bcast_c (void *buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm) |
int | MPI_Ibcast (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Request *request) |
int | MPI_Ibcast_c (void *buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Request *request) |
int | MPI_Gather (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
Each process sends the contents of its send buffer to the root process. More... | |
int | MPI_Gather_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | MPI_Igather (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) |
int | MPI_Igather_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) |
int | MPI_Gatherv (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm) |
Extends the functionality of MPI_Gather() by allowing a varying count of data. More... | |
int | MPI_Gatherv_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint displs[], MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | MPI_Allgather (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) |
Extends the functionality of MPI_Gather(), except all processes receive the result. More... | |
int | MPI_Allgather_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm) |
int | MPI_Iallgather (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) |
int | MPI_Iallgather_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) |
int | MPI_Allgatherv (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm) |
Extends the functionality of MPI_Gatherv(), except all processes receive the result. More... | |
int | MPI_Allgatherv_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint displs[], MPI_Datatype recvtype, MPI_Comm comm) |
int | MPI_Scatter (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
Inverse operation of MPI_Gather() More... | |
int | MPI_Scatter_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | MPI_Scatterv (const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | MPI_Scatterv_c (const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint displs[], MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) |
int | MPI_Alltoall (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvType, MPI_Comm comm) |
Extension of MPI_Allgather() to the case where each process sends distinct data to each of the receivers. More... | |
int | MPI_Alltoall_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvType, MPI_Comm comm) |
int | MPI_Ialltoall (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvType, MPI_Comm comm, MPI_Request *request) |
int | MPI_Ialltoall_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvType, MPI_Comm comm, MPI_Request *request) |
int | MPI_Alltoallv (const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvType, MPI_Comm comm) |
Adds flexibility to MPI_Alltoall() in that the location of data for the send is specified by sdispls and the location of the placement of the data on the receive side is specified by rdispls. More... | |
int | MPI_Alltoallv_c (const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[], MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint rdispls[], MPI_Datatype recvType, MPI_Comm comm) |
int | MPI_Ialltoallv (const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) |
int | MPI_Ialltoallv_c (const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[], MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) |
int | MPI_Op_create (MPI_User_function *function, int commute, MPI_Op *op) |
Binds a user-defined global operation to an op handle that can subsequently used in a global reduction operation. More... | |
int | MPI_Op_create_c (MPI_User_function_c *function, int commute, MPI_Op *op) |
int | MPI_Op_free (MPI_Op *op) |
Marks a user-defined reduction operation for deallocation. More... | |
int | MPI_Reduce (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) |
Combines the elements provided in the input buffer of each process in the group, using the operation op, and returns the combined value in the output buffer of the process with rank root. More... | |
int | MPI_Reduce_c (const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) |
int | MPI_Reduce_local (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op) |
int | MPI_Reduce_local_c (const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op) |
int | MPI_Ireduce (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request) |
int | MPI_Ireduce_c (const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request) |
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) |
int | MPI_Allreduce (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) |
Combines the elements provided in the input buffer of each process in the group, using the operation op, and returns the combined value in the output buffer of each process in the group. More... | |
int | MPI_Allreduce_c (const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) |
int | MPI_Iallreduce (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) |
int | MPI_Iallreduce_c (const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) |
int | MPI_Reduce_scatter (const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) |
First does an element-wise reduction on vector of elements in the send buffer defined by sendbuf, count and datatype. More... | |
int | MPI_Reduce_scatter_c (const void *sendbuf, void *recvbuf, const MPI_Count recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) |
declarations for MPI collectives
Definition in file nm_mpi_collective.h.
typedef void MPI_User_function(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype) |
User combination function for reduction.
Definition at line 33 of file nm_mpi_collective.h.
typedef void MPI_User_function_c(void *invec, void *inoutvec, MPI_Count *len, MPI_Datatype *datatype) |
Definition at line 35 of file nm_mpi_collective.h.
int MPI_Allgather | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
int | recvcount, | ||
MPI_Datatype | recvtype, | ||
MPI_Comm | comm | ||
) |
Extends the functionality of MPI_Gather(), except all processes receive the result.
sendbuf | starting address of send buffer |
sendcount | number of elements in send buffer |
sendtype | data type of send buffer elements |
recvbuf | address of receive buffer |
recvcount | number of elements received from any process |
recvtype | data type of receive buffer elements |
comm | communicator |
int MPI_Allgather_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
MPI_Count | recvcount, | ||
MPI_Datatype | recvtype, | ||
MPI_Comm | comm | ||
) |
int MPI_Allgatherv | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
const int | recvcounts[], | ||
const int | displs[], | ||
MPI_Datatype | recvtype, | ||
MPI_Comm | comm | ||
) |
Extends the functionality of MPI_Gatherv(), except all processes receive the result.
sendbuf | starting address of send buffer |
sendcount | number of elements in send buffer |
sendtype | data type of send buffer elements |
recvbuf | address of receive buffer |
recvcounts | integer array |
displs | integer array |
recvtype | data type of receive buffer elements |
comm | communicator |
int MPI_Allgatherv_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
const MPI_Count | recvcounts[], | ||
const MPI_Aint | displs[], | ||
MPI_Datatype | recvtype, | ||
MPI_Comm | comm | ||
) |
int MPI_Allreduce | ( | const void * | sendbuf, |
void * | recvbuf, | ||
int | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
MPI_Comm | comm | ||
) |
Combines the elements provided in the input buffer of each process in the group, using the operation op, and returns the combined value in the output buffer of each process in the group.
sendbuf | starting address of send buffer |
recvbuf | starting address of receive buffer |
count | number of elements in send buffer |
datatype | data type of elements of send buffer |
op | operation |
comm | communicator |
int MPI_Allreduce_c | ( | const void * | sendbuf, |
void * | recvbuf, | ||
MPI_Count | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
MPI_Comm | comm | ||
) |
int MPI_Alltoall | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
int | recvcount, | ||
MPI_Datatype | recvType, | ||
MPI_Comm | comm | ||
) |
Extension of MPI_Allgather() to the case where each process sends distinct data to each of the receivers.
The jth block sent from process i is received by process j and is placed in the ith block of recvbuf.
sendbuf | starting address of send buffer |
sendcount | number of elements sent to each process |
sendtype | data type of send buffer elements |
recvbuf | address of receive buffer |
recvcount | number of elements received from any process |
recvType | data type of receive buffer elements |
comm | communicator |
int MPI_Alltoall_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
MPI_Count | recvcount, | ||
MPI_Datatype | recvType, | ||
MPI_Comm | comm | ||
) |
int MPI_Alltoallv | ( | const void * | sendbuf, |
const int | sendcounts[], | ||
const int | sdispls[], | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
const int | recvcounts[], | ||
const int | rdispls[], | ||
MPI_Datatype | recvType, | ||
MPI_Comm | comm | ||
) |
Adds flexibility to MPI_Alltoall() in that the location of data for the send is specified by sdispls and the location of the placement of the data on the receive side is specified by rdispls.
sendbuf | starting address of send buffer |
sendcount | integer array equal to the group size specifying the number of elements to send to each processor |
sdispls | integer array of length group size. Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j |
sendtype | data type of send buffer elements |
recvbuf | address of receive buffer |
recvcount | integer array equal to the group size specifying the number of elements that can be received from each processor |
recvdispls | integer array |
recvType | data type of receive buffer elements |
comm | communicator |
int MPI_Alltoallv_c | ( | const void * | sendbuf, |
const MPI_Count | sendcounts[], | ||
const MPI_Aint | sdispls[], | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
const MPI_Count | recvcounts[], | ||
const MPI_Aint | rdispls[], | ||
MPI_Datatype | recvType, | ||
MPI_Comm | comm | ||
) |
int MPI_Barrier | ( | MPI_Comm | comm | ) |
Blocks the caller until all group members have called the routine.
comm | communicator |
int MPI_Bcast | ( | void * | buffer, |
int | count, | ||
MPI_Datatype | datatype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
Broadcasts a message from the process with rank root to all processes of the group, itself included.
buffer | starting address of buffer |
count | number of entries in buffer |
datatype | data type of buffer |
root | rank of broadcast root |
comm | communicator |
int MPI_Bcast_c | ( | void * | buffer, |
MPI_Count | count, | ||
MPI_Datatype | datatype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
int MPI_Gather | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
int | recvcount, | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
Each process sends the contents of its send buffer to the root process.
sendbuf | starting address of send buffer |
sendcount | number of elements in send buffer |
sendtype | data type of send buffer elements |
recvbuf | address of receive buffer |
recvcount | number of elements for any single receive |
recvtype | data type of recv buffer elements |
root | rank of receiving process |
comm | communicator |
int MPI_Gather_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
MPI_Count | recvcount, | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
int MPI_Gatherv | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
const int | recvcounts[], | ||
const int | displs[], | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
Extends the functionality of MPI_Gather() by allowing a varying count of data.
sendbuf | starting address of send buffer |
sendcount | number of elements in send buffer |
sendtype | data type of send buffer elements |
recvbuf | address of receive buffer (significant only at root) |
recvcounts | integer array of length group size containing the number of elements that are received from each process (significant only at root) |
displs | integer array of length group size. Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i (significant only at root) |
recvtype | data type of recv buffer elements (significant only at root) |
root | rank of receiving process |
comm | communicator |
int MPI_Gatherv_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
const MPI_Count | recvcounts[], | ||
const MPI_Aint | displs[], | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
int MPI_Iallgather | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
int | recvcount, | ||
MPI_Datatype | recvtype, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Iallgather_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
MPI_Count | recvcount, | ||
MPI_Datatype | recvtype, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Iallreduce | ( | const void * | sendbuf, |
void * | recvbuf, | ||
int | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Iallreduce_c | ( | const void * | sendbuf, |
void * | recvbuf, | ||
MPI_Count | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Ialltoall | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
int | recvcount, | ||
MPI_Datatype | recvType, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Ialltoall_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
MPI_Count | recvcount, | ||
MPI_Datatype | recvType, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Ialltoallv | ( | const void * | sendbuf, |
const int | sendcounts[], | ||
const int | sdispls[], | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
const int | recvcounts[], | ||
const int | rdispls[], | ||
MPI_Datatype | recvtype, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Ialltoallv_c | ( | const void * | sendbuf, |
const MPI_Count | sendcounts[], | ||
const MPI_Aint | sdispls[], | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
const MPI_Count | recvcounts[], | ||
const MPI_Aint | rdispls[], | ||
MPI_Datatype | recvtype, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Ibarrier | ( | MPI_Comm | comm, |
MPI_Request * | request | ||
) |
int MPI_Ibcast | ( | void * | buffer, |
int | count, | ||
MPI_Datatype | datatype, | ||
int | root, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Ibcast_c | ( | void * | buffer, |
MPI_Count | count, | ||
MPI_Datatype | datatype, | ||
int | root, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Igather | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
int | recvcount, | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Igather_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
MPI_Count | recvcount, | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Ireduce | ( | const void * | sendbuf, |
void * | recvbuf, | ||
int | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
int | root, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Ireduce_c | ( | const void * | sendbuf, |
void * | recvbuf, | ||
MPI_Count | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
int | root, | ||
MPI_Comm | comm, | ||
MPI_Request * | request | ||
) |
int MPI_Op_create | ( | MPI_User_function * | function, |
int | commute, | ||
MPI_Op * | op | ||
) |
Binds a user-defined global operation to an op handle that can subsequently used in a global reduction operation.
function | user defined function |
commute | true if commutative; false otherwise |
op | operation |
int MPI_Op_create_c | ( | MPI_User_function_c * | function, |
int | commute, | ||
MPI_Op * | op | ||
) |
int MPI_Op_free | ( | MPI_Op * | op | ) |
Marks a user-defined reduction operation for deallocation.
op | operation to be freed |
int MPI_Reduce | ( | const void * | sendbuf, |
void * | recvbuf, | ||
int | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
Combines the elements provided in the input buffer of each process in the group, using the operation op, and returns the combined value in the output buffer of the process with rank root.
sendbuf | address of send buffer |
recvbuf | address of receive buffer |
count | number of elements in send buffer |
datatype | data type of elements of send buffer |
op | reduce operation |
root | rank of root process |
comm | communicator |
int MPI_Reduce_c | ( | const void * | sendbuf, |
void * | recvbuf, | ||
MPI_Count | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
int MPI_Reduce_local | ( | const void * | sendbuf, |
void * | recvbuf, | ||
int | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op | ||
) |
int MPI_Reduce_local_c | ( | const void * | sendbuf, |
void * | recvbuf, | ||
MPI_Count | count, | ||
MPI_Datatype | datatype, | ||
MPI_Op | op | ||
) |
int MPI_Reduce_scatter | ( | const void * | sendbuf, |
void * | recvbuf, | ||
const int | recvcounts[], | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
MPI_Comm | comm | ||
) |
First does an element-wise reduction on vector of elements in the send buffer defined by sendbuf, count and datatype.
Next, the resulting vector of results is split into n disjoint segments, where n is the number of members in the group. Segment i contains recvcounts[i] elements. The ith segment is sent to process i and stored in the receive buffer defined by recvbuf, recvcounts[i] and datatype.
sendbuf | starting address of send buffer |
recvbuf | starting address of receive buffer |
recvcounts | integer array specifying the number of elements in result distributed to each process. Array must be identical on all calling processes |
datatype | data type of elements of input buffer |
op | operation |
comm | communicator |
int MPI_Reduce_scatter_c | ( | const void * | sendbuf, |
void * | recvbuf, | ||
const MPI_Count | recvcounts[], | ||
MPI_Datatype | datatype, | ||
MPI_Op | op, | ||
MPI_Comm | comm | ||
) |
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 | ||
) |
int MPI_Scatter | ( | const void * | sendbuf, |
int | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
int | recvcount, | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
Inverse operation of MPI_Gather()
sendbuf | address of send buffer |
sendcount | number of elements sent to each process |
sendtype | data type of send buffer elements |
recvbuf | address of receive buffer |
recvcount | number of elements in receive buffer |
recvtype | data type of receive buffer elements |
root | rank of sending process |
comm | communicator |
int MPI_Scatter_c | ( | const void * | sendbuf, |
MPI_Count | sendcount, | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
MPI_Count | recvcount, | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
int MPI_Scatterv | ( | const void * | sendbuf, |
const int | sendcounts[], | ||
const int | displs[], | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
int | recvcount, | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |
int MPI_Scatterv_c | ( | const void * | sendbuf, |
const MPI_Count | sendcounts[], | ||
const MPI_Aint | displs[], | ||
MPI_Datatype | sendtype, | ||
void * | recvbuf, | ||
MPI_Count | recvcount, | ||
MPI_Datatype | recvtype, | ||
int | root, | ||
MPI_Comm | comm | ||
) |