|
WARPXM v1.10.0
|
Provides interface for messaging between processes. More...
#include <wxmsgtmpl.h>
Provides interface for messaging between processes.
Public Member Functions | |
| 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 |
Protected Member Functions | |
| 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 | |
| unsigned | _sendSize |
| T * | _sendBuff |
| unsigned | _recvSize |
| T * | _recvBuff |
|
inlineprotected |
Protected so only children can make instances.
|
pure virtual |
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. |
Implemented in WxMpiMsgTmpl< T >.
|
pure virtual |
Implemented in WxMpiMsgTmpl< T >.
|
pure virtual |
Finish the send started by startSend.
| ms | message status object returned by startSend |
Implemented in WxMpiMsgTmpl< T >.
|
pure virtual |
Receive an array from another rank.
| num | number of elements to recieve |
| array | array that is filled with received values |
| sendRank | rank that sent array |
Implemented in WxMpiMsgTmpl< T >.
|
pure virtual |
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 |
Implemented in WxMpiMsgTmpl< T >.
|
inlineprotected |
Resizes a array.
Sets number of elements to the exact number of elements in the data.
| array | the array to be resized. |
| numElem | the number of elements in the array. Is set to reqNumElem |
| reqNumElem | the number of array elements needed |
|
inlineprotected |
Checks the buffer and resizes it if necessary.
| reqSize | the needed size for the buffer |
|
inlineprotected |
Checks the buffer and resizes it if necessary.
| reqSize | the needed size for the buffer |
|
pure virtual |
Send an array to another rank.
@parem num number of elements to send
| array | array of length 'num' of data being sent |
| recvRank | rank that will receive array |
Implemented in WxMpiMsgTmpl< T >.
|
pure virtual |
Receive an array from another rank.
This is a non-blocking call.
| num | number of elements to receive |
| arr | array to fill with received value |
| sendRank | rank we want to receive from |
| tag | identifier for data transaction |
Implemented in WxMpiMsgTmpl< T >.
|
pure virtual |
Receive an array from another rank.
This is a non-blocking call.
| num | number of elements to receive |
| sendRank | rank that sent array |
Implemented in WxMpiMsgTmpl< T >.
|
pure virtual |
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 |
Implemented in WxMpiMsgTmpl< T >.
|
protected |
|
protected |
|
protected |
|
protected |