WARPXM v1.10.0
|
#include <wxmpimsgtmpl.h>
Public Member Functions | |
WxMpiMsgTmpl (MPI_Comm comm) | |
void | send (unsigned num, const T *arr, unsigned recvRank, int tag) const override |
Send an array to another rank. | |
void | finishSend (WxMsgStatus ms) const override |
Finish the send started by startSend. | |
WxMsgStatus | startSend (unsigned num, const T *arr, unsigned recvRank, int tag) const override |
Send an array to another rank. | |
void | recv (unsigned num, std::vector< T > &array, unsigned sendRank, int tag) const override |
Receive an array from another rank. | |
void | recv (unsigned num, T *array, unsigned sendRank, int tag) const override |
Receive an array from another rank. | |
WxMsgStatus | startRecv (unsigned num, unsigned sendRank, int tag) const override |
Receive an array from another rank. | |
WxMsgStatus | startRecv (unsigned num, T *arr, unsigned sendRank, int tag) const override |
Receive an array from another rank. | |
void | allReduce (unsigned num, T *sendBuff, T *recvBuff, MPI_Op op) const override |
Reduce data to all ranks. | |
void | broadcast (unsigned num, T *buffer, int root) const override |
Public Member Functions inherited from WxMsgTmpl< T > | |
virtual | ~WxMsgTmpl () |
Destructor. | |
virtual void | send (unsigned num, const T *array, unsigned recvRank, int tag) const =0 |
Send an array to another rank. | |
virtual void | finishSend (WxMsgStatus ms) const =0 |
Finish the send started by startSend. | |
virtual WxMsgStatus | startSend (unsigned num, const T *arr, unsigned recvRank, int tag) const =0 |
Send an array to another rank. | |
virtual void | recv (unsigned num, std::vector< T > &array, unsigned sendRank, int tag) const =0 |
Receive an array from another rank. | |
virtual void | recv (unsigned num, T *array, unsigned sendRank, int tag) const =0 |
Receive an array from another rank. | |
virtual WxMsgStatus | startRecv (unsigned num, unsigned sendRank, int tag=-1) const =0 |
Receive an array from another rank. | |
virtual WxMsgStatus | startRecv (unsigned num, T *arr, unsigned sendRank, int tag=-1) const =0 |
Receive an array from another rank. | |
virtual void | allReduce (unsigned num, T *sendBuff, T *recvBuff, MPI_Op op) const =0 |
Reduce data to all ranks. | |
virtual void | broadcast (unsigned num, T *buffer, int root) const =0 |
Additional Inherited Members | |
Protected Member Functions inherited from WxMsgTmpl< T > | |
WxMsgTmpl () | |
Protected so only children can make instances. | |
void | resizeArray (T *&array, unsigned &numElem, unsigned reqNumElem) const |
Resizes a array. | |
void | resizeSendBuff (unsigned reqSize) |
Checks the buffer and resizes it if necessary. | |
void | resizeRecvBuff (unsigned reqSize) |
Checks the buffer and resizes it if necessary. | |
Protected Attributes inherited from WxMsgTmpl< T > | |
unsigned | _sendSize |
T * | _sendBuff |
unsigned | _recvSize |
T * | _recvBuff |
|
inline |
|
overridevirtual |
Reduce data to all ranks.
num | Number of elements being reduced |
sendBuff | buffer to reduce |
recvBuff | buffer to recieve reduced data |
op | operation to perform. |
Implements WxMsgTmpl< T >.
|
overridevirtual |
Implements WxMsgTmpl< T >.
|
overridevirtual |
Finish the send started by startSend.
ms | message status object returned by startSend |
Implements WxMsgTmpl< T >.
|
overridevirtual |
Receive an array from another rank.
num | number of elements to reciev |
array | array that is filled with received values |
sendRank | rank that sent array |
Implements WxMsgTmpl< T >.
|
overridevirtual |
Receive an array from another rank.
num | number of elements to receive |
array | array that is filled with received values |
sendRank | rank that sent array |
Implements WxMsgTmpl< T >.
|
overridevirtual |
Send an array to another rank.
@parem num number of elements to send
arr | array of length 'num' of data being sent |
recvRank | rank that will receive array |
Implements WxMsgTmpl< T >.
|
overridevirtual |
Receive an array from another rank.
This is a non-blocking call.
num | number of elements to receive |
arr | array to recieve data |
sendRank | rank that sent array |
tag | identifier for data transaction |
Implements WxMsgTmpl< T >.
|
overridevirtual |
Receive an array from another rank.
This is a non-blocking call.
num | number of elements to receive |
sendRank | rank that sent array |
tag | identifier for data transaction |
Implements WxMsgTmpl< T >.
|
overridevirtual |
Send an array to another rank.
This is a non-blocking call.
num | number of elements to send |
arr | array that is filled with values to send |
recvRank | rank that sent array |
tag | identifier for data transaction |
Implements WxMsgTmpl< T >.