|
| MpiExec (int &argc, char **&argv, IFinalState *i_final) |
| create message passing interface by MPI_Init. More...
|
|
| ~MpiExec (void) noexcept |
| cleanup message passing resources by MPI_Finalize.
|
|
int | worldSize (void) const noexcept override |
| return total number of processes in MPI world communicator. More...
|
|
int | rank (void) const noexcept override |
| return current process MPI rank. More...
|
|
int | groupRank (void) const noexcept override |
| return rank in modeling group. More...
|
|
void | setCleanExit (bool i_isClean=false) override |
| set clean exit flag for normal shutdown messaging else abort MPI. More...
|
|
void | createGroups (int i_groupSize, int i_groupCount) override |
| create groups for parallel run of modeling task. More...
|
|
void | bcastValue (int i_groupOne, const type_info &i_type, void *io_value) override |
| broadcast value from root to all other processes. More...
|
|
void | bcastSend (int i_groupOne, const type_info &i_type, size_t i_size, void *io_valueArr) override |
| send broadcast value array from root to all other processes. More...
|
|
void | bcastReceive (int i_groupOne, const type_info &i_type, size_t i_size, void *io_valueArr) override |
| receive broadcasted value array from root process. More...
|
|
void | bcastSendPacked (int i_groupOne, IRowBaseVec &io_rowVec, const IPackedAdapter &i_adapter) override |
| send broadcast vector of db rows from root to all other processes. More...
|
|
void | bcastReceivePacked (int i_groupOne, IRowBaseVec &io_rowVec, const IPackedAdapter &i_adapter) override |
| receive broadcasted vector of db rows from root. More...
|
|
void | startSend (int i_sendTo, MsgTag i_msgTag, const type_info &i_type, size_t i_size, void *i_valueArr) override |
| start non-blocking send of value array to i_sendTo process. More...
|
|
void | startSendPacked (int i_sendTo, const IRowBaseVec &i_rowVec, const IPackedAdapter &i_adapter) override |
| pack and start non-blocking send of vector of db rows to i_sendTo process. More...
|
|
bool | tryReceive (int i_recvFrom, IRowBaseVec &io_resultRowVec, const IPackedAdapter &i_adapter) const override |
| try to non-blocking receive and unpack vector of db rows, return true if completed. More...
|
|
bool | tryReceive (int i_recvFrom, MsgTag i_msgTag, const type_info &i_type, size_t i_size, void *io_valueArr) const override |
| try to non-blocking receive value array, return true if completed. More...
|
|
void | waitSendAll (void) override |
| wait for non-blocking send to be completed. More...
|
|
virtual | ~IMsgExec (void) noexcept=0 |
| cleanup message passing resources.
|
|
bool | isRoot (void) const |
| if root process then true (root process rank == 0)
|
|
virtual int | worldSize (void) const =0 |
| return total number of processes in world communicator. More...
|
|
virtual int | rank (void) const =0 |
| return current process rank. More...
|
|
virtual int | groupRank (void) const =0 |
| return rank in modeling group. More...
|
|
virtual void | setCleanExit (bool i_isClean=false)=0 |
| set clean exit flag for normal shutdown of message passing interface. More...
|
|
virtual void | createGroups (int i_groupSize, int i_groupCount)=0 |
| create groups for parallel run of modeling task. More...
|
|
virtual void | bcastValue (int i_groupOne, const type_info &i_type, void *io_value)=0 |
| broadcast value from root to all other processes. More...
|
|
void | bcastInt (int i_groupOne, void *io_value) |
| broadcast integer value from root to all other processes. More...
|
|
virtual void | bcastSend (int i_groupOne, const type_info &i_type, size_t i_size, void *io_valueArr)=0 |
| send broadcast value array from root to all other processes. More...
|
|
virtual void | bcastReceive (int i_groupOne, const type_info &i_type, size_t i_size, void *io_valueArr)=0 |
| receive broadcasted value array from root process. More...
|
|
virtual void | bcastSendPacked (int i_groupOne, IRowBaseVec &io_rowVec, const IPackedAdapter &i_adapter)=0 |
| send broadcast vector of db rows from root to all other processes. More...
|
|
virtual void | bcastReceivePacked (int i_groupOne, IRowBaseVec &io_rowVec, const IPackedAdapter &i_adapter)=0 |
| receive broadcasted vector of db rows from root. More...
|
|
virtual void | startSend (int i_sendTo, MsgTag i_msgTag, const type_info &i_type, size_t i_size, void *i_valueArr)=0 |
| start non-blocking send of value array to i_sendTo process. More...
|
|
virtual void | startSendPacked (int i_sendTo, const IRowBaseVec &i_rowVec, const IPackedAdapter &i_adapter)=0 |
| pack and start non-blocking send of vector of db rows to i_sendTo process. More...
|
|
virtual bool | tryReceive (int i_recvFrom, MsgTag i_msgTag, const type_info &i_type, size_t i_size, void *io_valueArr) const =0 |
| try to non-blocking receive value array, return true if completed. More...
|
|
virtual bool | tryReceive (int i_recvFrom, IRowBaseVec &io_resultRowVec, const IPackedAdapter &i_adapter) const =0 |
| try to non-blocking receive and unpack vector of db rows, return true if completed. More...
|
|
virtual void | waitSendAll (void)=0 |
| wait for non-blocking send to be completed More...
|
|
virtual | ~MsgExecBase (void) noexcept |
| cleanup message passing resources.
|
|
int | worldSize (void) const |
| return total number of processes in MPI world communicator.
|
|
int | rank (void) const |
| return current process rank.
|
|
int | groupRank (void) const |
| return rank in modeling group.
|
|
void | startSend (int i_sendTo, MsgTag i_msgTag, const type_info &i_type, size_t i_size, void *i_valueArr) |
| start non-blocking send of value array to i_sendTo process. More...
|
|
void | startSendPacked (int i_sendTo, const IRowBaseVec &i_rowVec, const IPackedAdapter &i_adapter) |
| pack and start non-blocking send of vector of db rows to i_sendTo process. More...
|
|
bool | tryReceive (int i_recvFrom, MsgTag i_msgTag, const type_info &i_type, size_t i_size, void *io_valueArr) const |
| try to non-blocking receive value array, return return true if completed. More...
|
|
bool | tryReceive (int i_recvFrom, IRowBaseVec &io_resultRowVec, const IPackedAdapter &i_adapter) const |
| try to non-blocking receive and unpack vector of db rows, return return true if completed. More...
|
|
void | waitSendAll (void) |
| wait for non-blocking send to be completed.
|
|
message passing library main class for MPI-based implementation