|
| | WxMpiMsg () |
| | Construct a new MPI messenger give a set of communicating processors.
|
| |
| int | rank () const override |
| | Rank of process.
|
| |
| unsigned | numProcs () const override |
| | Number of processes taking part in messaging.
|
| |
| WxMsgBase * | createSubComm (const std::vector< int > &ranks) override |
| | Split communicator into a child communicator.
|
| |
| WxMsgBase * | splitComm (int color, int order) override |
| | See MPI_Comm_split.
|
| |
| void | barrier () const override |
| | Block till all processes hit this barrier.
|
| |
| void * | finishRecv (WxMsgStatus ms) const override |
| | Finish the receive started by startRecv and return a pointer to the data recieved.
|
| |
| void | finishSend (WxMsgStatus ms) const override |
| | Finish the send started by startSend.
|
| |
| bool | checkRecv (WxMsgStatus ms) const override |
| | Check status of recieve started by a startRecv.
|
| |
| MPI_Comm | getMpiComm () const |
| | Get MPI communicator for this class.
|
| |
| virtual | ~WxMsgBase () |
| | Destructor.
|
| |
| virtual int | rank () const =0 |
| | Rank of process.
|
| |
| virtual unsigned | numProcs () const =0 |
| | Number of processes taking part in messaging.
|
| |
| WxMsgBase * | parent () const |
| | Get parent communicating processor group.
|
| |
| virtual WxMsgBase * | createSubComm (const std::vector< int > &ranks)=0 |
| | Split communicator into a child communicator.
|
| |
| virtual WxMsgBase * | splitComm (int color, int order)=0 |
| | See MPI_Comm_split.
|
| |
| virtual void | barrier () const =0 |
| | Block till all processes hit this barrier.
|
| |
| template<typename T > |
| void | send (const std::vector< T > &array, unsigned recvRank, int tag=-1) const |
| | Send a std::vector to another rank.
|
| |
| template<typename T > |
| void | send (unsigned num, const T *array, unsigned recvRank, int tag=-1) const |
| | Send an array to another rank.
|
| |
| template<typename T > |
| WxMsgStatus | startSend (const std::vector< T > &vec, unsigned recvRank, int tag=-1) const |
| | Send an vector to another rank.
|
| |
| template<typename T > |
| WxMsgStatus | startSend (unsigned num, const T *arr, unsigned recvRank, int tag=-1) const |
| | Send an array to another rank.
|
| |
| virtual void | finishSend (WxMsgStatus ms) const =0 |
| | Finish the send started by startSend.
|
| |
| template<typename T > |
| void | recv (int num, std::vector< T > &array, unsigned sendRank, int tag=-1) const |
| | Receive a std::vector from another rank.
|
| |
| template<typename T > |
| void | recv (unsigned num, T *array, unsigned sendRank, int tag=-1) const |
| | Receive an array from another rank.
|
| |
| template<typename T > |
| WxMsgStatus | startRecv (unsigned num, unsigned sendRank, int tag=-1) const |
| | Receive an array from another rank.
|
| |
| template<typename T > |
| WxMsgStatus | startRecv (unsigned num, T *arr, unsigned sendRank, int tag=-1) const |
| | Receive an array from another rank.
|
| |
| template<typename T > |
| WxMsgStatus | startRecv (std::vector< T > &vec, unsigned sendRank, int tag=-1) const |
| | Receive an array from another rank.
|
| |
| virtual void * | finishRecv (WxMsgStatus ms) const =0 |
| | Finish the receive started by startRecv and return a pointer to the data recieved.
|
| |
| virtual bool | checkRecv (WxMsgStatus ms) const =0 |
| | Check status of recieve started by a startRecv.
|
| |
| template<typename T > |
| void | allReduce (unsigned num, T *sendBuff, T *recvBuff, MPI_Op op) const |
| | Reduce data to all ranks.
|
| |
| template<typename T > |
| std::vector< T > | allReduce (std::vector< T > sendBuff, MPI_Op op) const |
| | Reduce data to all ranks (vector form)
|
| |
| template<typename T > |
| void | broadcast (unsigned num, T *buffer, int root) const |
| |