Located in file: MEL.hpp
MEL::
Bcast
(void *ptr, const int num, const Datatype &datatype, const int root, const Comm &comm)¶Broadcast an array to all processes in comm, where all processes know how many elements to expect.
ptr
- Pointer to the memory receive into
num
- The number of elements to broadcast
datatype
- The derived datatype of the elements to broadcast
root
- The rank of the process to send from
comm
- The comm world to broadcast within
MEL::
Scatter
(void *sptr, const int snum, const Datatype &sdatatype, void *rptr, const int rnum, const Datatype &rdatatype, const int root, const Comm &comm)¶Scatter an array to all processes in comm, where all processes know how many elements to expect.
sptr
- Pointer to the memory to scatter, significant only on root
snum
- The number of elements to scatter, significant only on root
sdatatype
- The derived datatype of the elements to send, significant only on root
rptr
- Pointer to the memory to receive into
rnum
- The number of elements to receive
rdatatype
- The derived datatype of the elements to receive
root
- The rank of the process to send from
comm
- The comm world to scatter within
MEL::
Scatterv
(void *sptr, const int *snum, const int *displs, const Datatype &sdatatype, void *rptr, const int rnum, const Datatype &rdatatype, const int root, const Comm &comm)¶Scatter an array to all processes in comm, where all processes have an independent number of elements to expect.
sptr
- Pointer to the memory to scatter, significant only on root
snum
- Pointer to an array of number of elements to send to each process, significant only on root
displs
- Pointer to an array of the element displacements of where each processes data is to be sent, significant only on root
sdatatype
- The derived datatype of the elements to send, significant only on root
rptr
- Pointer to the memory to receive into
rnum
- The number of elements to receive
rdatatype
- The derived datatype of the elements to receive
root
- The rank of the process to send from
comm
- The comm world to scatter within
MEL::
Gather
(void *sptr, const int snum, const Datatype &sdatatype, void *rptr, const int rnum, const Datatype &rdatatype, const int root, const Comm &comm)¶Gather an array from all processes in comm.
sptr
- Pointer to the memory to gather
snum
- The number of elements to gather
sdatatype
- The derived datatype of the elements to send
rptr
- Pointer to the memory to receive into, significant only on root
rnum
- The number of elements to receive, significant only on root
rdatatype
- The derived datatype of the elements to receive, significant only on root
root
- The rank of the process to send to
comm
- The comm world to gather within
MEL::
Gatherv
(void *sptr, const int snum, const Datatype &sdatatype, void *rptr, const int *rnum, const int *displs, const Datatype &rdatatype, const int root, const Comm &comm)¶Gather an array from all processes in comm, where all processes have an independent number of elements to send.
sptr
- Pointer to the memory to gather
snum
- The number of elements to gather
sdatatype
- The derived datatype of the elements to send
rptr
- Pointer to the memory to receive into, significant only on root
rnum
- Pointer to an array of the number of elements to receive from each process, significant only on root
displs
- Pointer to an array of the displacements of elements to be received from each process, significant only on root
rdatatype
- The derived datatype of the elements to receive, significant only on root
root
- The rank of the process to send to
comm
- The comm world to gather within
MEL::
Allgather
(void *sptr, const int snum, const Datatype &sdatatype, void *rptr, const int rnum, const Datatype &rdatatype, const Comm &comm)¶Gather an array from all processes in comm and distribute it to all processes.
sptr
- Pointer to the memory to gather
snum
- The number of elements to gather
sdatatype
- The derived datatype of the elements to send
rptr
- Pointer to the memory to receive into
rnum
- The number of elements to receive
rdatatype
- The derived datatype of the elements to receive
comm
- The comm world to gather within
MEL::
Allgatherv
(void *sptr, const int snum, const Datatype &sdatatype, void *rptr, const int *rnum, const int *displ, const Datatype &rdatatype, const Comm &comm)¶Gather an array from all processes in comm and distribute it to all processes, where all processes have an independent number of elements to send.
sptr
- Pointer to the memory to gather
snum
- The number of elements to gather
sdatatype
- The derived datatype of the elements to send
rptr
- Pointer to the memory to receive into
rnum
- Pointer to an array of the number of elements to receive from each process
displ
- Pointer to an array of the element displacements of where each processes data is to be received
rdatatype
- The derived datatype of the elements to receive
comm
- The comm world to gather within
MEL::
Alltoall
(void *sptr, const int snum, const Datatype &sdatatype, void *rptr, const int rnum, const Datatype &rdatatype, const Comm &comm)¶Broadcast from all processes to all processes.
sptr
- Pointer to snum elements to send
snum
- The number of elements to send
sdatatype
- The derived datatype of the elements to send
rptr
- Pointer to rnum * commsize elements to receive
rnum
- The number of elements to receive from each process in comm
rdatatype
- The derived datatype of the elements to receive
comm
- The comm world to broadcast within
MEL::
Alltoallv
(void *sptr, const int *snum, const int *sdispl, const Datatype &sdatatype, void *rptr, const int *rnum, const int *rdispl, const Datatype &rdatatype, const Comm &comm)¶Broadcast from all processes to all processes with independent number of elements for each process.
sptr
- Pointer to snum elements to send
snum
- Pointer to an array of the number of elements to send from each process
sdispl
- Pointer to an array of element displacements of where each processes data is to be sent from
sdatatype
- The derived datatype of the elements to send
rptr
- Pointer to the receive buffer
rnum
- Pointer to an array of the number of elements to receive from each process
rdispl
- Pointer to an array of element displacements of where each processes data is to be recieved to
rdatatype
- The derived datatype of the elements to receive
comm
- The comm world to broadcast within
MEL::
Alltoallw
(void *sptr, const int *snum, const int *sdispl, const Datatype *sdatatype, void *rptr, const int *rnum, const int *rdispl, const Datatype *rdatatype, const Comm &comm)¶Broadcast from all processes to all processes with independent derived datatypes and number of elements for each process.
sptr
- Pointer to snum elements to send
snum
- Pointer to an array of the number of elements to send from each process
sdispl
- Pointer to an array of element displacements of where each processes data is to be sent from
sdatatype
- Pointer to an array of the derived datatypes of the elements to send for each process
rptr
- Pointer to the receive buffer
rnum
- Pointer to an array of the number of elements to receive from each process
rdispl
- Pointer to an array of element displacements of where each processes data is to be recieved to
rdatatype
- Pointer to an array of the derived datatypes of the elements to receive for each process
comm
- The comm world to broadcast within
MEL::
Reduce
(void *sptr, void *rptr, const int num, const Datatype &datatype, const Op &op, const int root, const Comm &comm)¶Reduce an array of known length across all processes in comm using the given operation.
sptr
- Pointer to num elements to send
rptr
- Pointer to the receive buffer, significant only on root
num
- The number of elements in the array
datatype
- The derived datatype of the elements to reduce
op
- The operation to perform for the reduction
root
- The process to receive the result
comm
- The comm world to reduce within
MEL::
Allreduce
(void *sptr, void *rptr, const int num, const Datatype &datatype, const Op &op, const Comm &comm)¶Reduce an array of known length across all processes in comm using the given operation, and distribute the result to all processes.
sptr
- Pointer to num elements to send
rptr
- Pointer to the receive buffer
num
- The number of elements in the array
datatype
- The derived datatype of the elements to reduce
op
- The operation to perform for the reduction
comm
- The comm world to reduce within
MEL::
Bcast
(T *ptr, const int num, const int root, const Comm &comm)¶Broadcast an array to all processes in comm, where all processes know how many elements to expect.
ptr
- Pointer to the memory receive into
num
- The number of elements to broadcast
root
- The rank of the process to send from
comm
- The comm world to broadcast within