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. | |
| 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. | |
| int | MPI_Ibarrier (MPI_Comm comm, MPI_Request *request) |
| int | MPI_Barrier_init (MPI_Comm comm, MPI_Info info, 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. | |
| 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_Bcast_init (void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request) |
| int | MPI_Bcast_init_c (void *buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, 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. | |
| 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_Gather_init (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request) |
| int | MPI_Gather_init_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, 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. | |
| 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. | |
| 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_Allgather_init (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request) |
| int | MPI_Allgather_init_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, 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. | |
| 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() | |
| 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. | |
| 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_Alltoall_init (const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request) |
| int | MPI_Alltoall_init_c (const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, 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. | |
| 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_Alltoallv_init (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_Info info, MPI_Request *request) |
| int | MPI_Alltoallv_init_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_Info info, 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. | |
| 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. | |
| 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. | |
| 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_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_Reduce_init (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request) |
| int | MPI_Reduce_init_c (const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request) |
| 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_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. | |
| 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_Allreduce_init (const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request) |
| int | MPI_Allreduce_init_c (const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, 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. | |
| 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_Reduce_scatter_block (const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) |
| int | MPI_Reduce_scatter_block_c (const void *sendbuf, void *recvbuf, MPI_Count recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) |
Detailed Description
declarations for MPI collectives
Definition in file nm_mpi_collective.h.
Typedef Documentation
◆ MPI_User_function
| 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.
◆ MPI_User_function_c
| 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.
Function Documentation
◆ MPI_Allgather()
| 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.
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Allgather_c()
| int MPI_Allgather_c | ( | const void * | sendbuf, |
| MPI_Count | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| MPI_Count | recvcount, | ||
| MPI_Datatype | recvtype, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Allgather_init()
| int MPI_Allgather_init | ( | const void * | sendbuf, |
| int | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| int | recvcount, | ||
| MPI_Datatype | recvtype, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Allgather_init_c()
| int MPI_Allgather_init_c | ( | const void * | sendbuf, |
| MPI_Count | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| MPI_Count | recvcount, | ||
| MPI_Datatype | recvtype, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Allgatherv()
| 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.
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Allgatherv_c()
| 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 | ||
| ) |
◆ MPI_Allreduce()
| 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.
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Allreduce_c()
| int MPI_Allreduce_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Allreduce_init()
| int MPI_Allreduce_init | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Allreduce_init_c()
| int MPI_Allreduce_init_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Alltoall()
| 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.
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Alltoall_c()
| int MPI_Alltoall_c | ( | const void * | sendbuf, |
| MPI_Count | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| MPI_Count | recvcount, | ||
| MPI_Datatype | recvType, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Alltoall_init()
| int MPI_Alltoall_init | ( | const void * | sendbuf, |
| int | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| int | recvcount, | ||
| MPI_Datatype | recvtype, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Alltoall_init_c()
| int MPI_Alltoall_init_c | ( | const void * | sendbuf, |
| MPI_Count | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| MPI_Count | recvcount, | ||
| MPI_Datatype | recvtype, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Alltoallv()
| 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.
- Parameters
-
sendbuf starting address of send buffer sendcounts 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 recvcounts integer array equal to the group size specifying the number of elements that can be received from each processor rdispls integer array recvType data type of receive buffer elements comm communicator
- Returns
- MPI status
◆ MPI_Alltoallv_c()
| 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 | ||
| ) |
◆ MPI_Alltoallv_init()
| int MPI_Alltoallv_init | ( | 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_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Alltoallv_init_c()
| int MPI_Alltoallv_init_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_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Barrier()
| int MPI_Barrier | ( | MPI_Comm | comm | ) |
Blocks the caller until all group members have called the routine.
- Parameters
-
comm communicator
- Returns
- MPI status
◆ MPI_Barrier_init()
| int MPI_Barrier_init | ( | MPI_Comm | comm, |
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Bcast()
| 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.
- Parameters
-
buffer starting address of buffer count number of entries in buffer datatype data type of buffer root rank of broadcast root comm communicator
- Returns
- MPI status
◆ MPI_Bcast_c()
| int MPI_Bcast_c | ( | void * | buffer, |
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| int | root, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Bcast_init()
| int MPI_Bcast_init | ( | void * | buffer, |
| int | count, | ||
| MPI_Datatype | datatype, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Bcast_init_c()
| int MPI_Bcast_init_c | ( | void * | buffer, |
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Gather()
| 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.
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Gather_c()
| 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 | ||
| ) |
◆ MPI_Gather_init()
| int MPI_Gather_init | ( | const void * | sendbuf, |
| int | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| int | recvcount, | ||
| MPI_Datatype | recvtype, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Gather_init_c()
| int MPI_Gather_init_c | ( | const void * | sendbuf, |
| MPI_Count | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| MPI_Count | recvcount, | ||
| MPI_Datatype | recvtype, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Gatherv()
| 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.
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Gatherv_c()
| 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 | ||
| ) |
◆ MPI_Iallgather()
| int MPI_Iallgather | ( | const void * | sendbuf, |
| int | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| int | recvcount, | ||
| MPI_Datatype | recvtype, | ||
| MPI_Comm | comm, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Iallgather_c()
| 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 | ||
| ) |
◆ MPI_Iallreduce()
| int MPI_Iallreduce | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Iallreduce_c()
| int MPI_Iallreduce_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Ialltoall()
| int MPI_Ialltoall | ( | const void * | sendbuf, |
| int | sendcount, | ||
| MPI_Datatype | sendtype, | ||
| void * | recvbuf, | ||
| int | recvcount, | ||
| MPI_Datatype | recvType, | ||
| MPI_Comm | comm, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Ialltoall_c()
| 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 | ||
| ) |
◆ MPI_Ialltoallv()
| 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 | ||
| ) |
◆ MPI_Ialltoallv_c()
| 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 | ||
| ) |
◆ MPI_Ibarrier()
| int MPI_Ibarrier | ( | MPI_Comm | comm, |
| MPI_Request * | request | ||
| ) |
◆ MPI_Ibcast()
| int MPI_Ibcast | ( | void * | buffer, |
| int | count, | ||
| MPI_Datatype | datatype, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Ibcast_c()
| int MPI_Ibcast_c | ( | void * | buffer, |
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Igather()
| 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 | ||
| ) |
◆ MPI_Igather_c()
| 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 | ||
| ) |
◆ MPI_Ireduce()
| int MPI_Ireduce | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Ireduce_c()
| 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 | ||
| ) |
◆ MPI_Op_create()
| 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.
- Parameters
-
function user defined function commute true if commutative; false otherwise op operation
- Returns
- MPI status
◆ MPI_Op_create_c()
| int MPI_Op_create_c | ( | MPI_User_function_c * | function, |
| int | commute, | ||
| MPI_Op * | op | ||
| ) |
◆ MPI_Op_free()
| int MPI_Op_free | ( | MPI_Op * | op | ) |
Marks a user-defined reduction operation for deallocation.
- Parameters
-
op operation to be freed
- Returns
- MPI status
◆ MPI_Reduce()
| 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.
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Reduce_c()
| int MPI_Reduce_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Reduce_init()
| int MPI_Reduce_init | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Reduce_init_c()
| int MPI_Reduce_init_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| int | root, | ||
| MPI_Comm | comm, | ||
| MPI_Info | info, | ||
| MPI_Request * | request | ||
| ) |
◆ MPI_Reduce_local()
| int MPI_Reduce_local | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op | ||
| ) |
◆ MPI_Reduce_local_c()
| int MPI_Reduce_local_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op | ||
| ) |
◆ MPI_Reduce_scatter()
| 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.
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Reduce_scatter_block()
| int MPI_Reduce_scatter_block | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| int | recvcount, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Reduce_scatter_block_c()
| int MPI_Reduce_scatter_block_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| MPI_Count | recvcount, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Reduce_scatter_c()
| int MPI_Reduce_scatter_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| const MPI_Count | recvcounts[], | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Scan()
| int MPI_Scan | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| int | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Scan_c()
| int MPI_Scan_c | ( | const void * | sendbuf, |
| void * | recvbuf, | ||
| MPI_Count | count, | ||
| MPI_Datatype | datatype, | ||
| MPI_Op | op, | ||
| MPI_Comm | comm | ||
| ) |
◆ MPI_Scatter()
| 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()
- Parameters
-
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
- Returns
- MPI status
◆ MPI_Scatter_c()
| 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 | ||
| ) |
◆ MPI_Scatterv()
| 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 | ||
| ) |
◆ MPI_Scatterv_c()
| 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 | ||
| ) |