| Nektar++
    | 
Base communications class. More...
#include <Comm.h>


| Public Member Functions | |
| Comm (int narg, char *arg[]) | |
| virtual | ~Comm () | 
| void | Finalise () | 
| int | GetSize () | 
| Returns number of processes.  More... | |
| int | GetRank () | 
| const std::string & | GetType () const | 
| void | Block () | 
| Block execution until all processes reach this point.  More... | |
| void | Send (int pProc, Array< OneD, NekDouble > &pData) | 
| void | Send (int pProc, Array< OneD, int > &pData) | 
| void | Send (int pProc, std::vector< unsigned int > &pData) | 
| void | Recv (int pProc, Array< OneD, NekDouble > &pData) | 
| void | Recv (int pProc, Array< OneD, int > &pData) | 
| void | Recv (int pProc, std::vector< unsigned int > &pData) | 
| void | SendRecv (int pSendProc, Array< OneD, NekDouble > &pSendData, int pRecvProc, Array< OneD, NekDouble > &pRecvData) | 
| void | SendRecv (int pSendProc, Array< OneD, int > &pSendData, int pRecvProc, Array< OneD, int > &pRecvData) | 
| void | SendRecvReplace (int pSendProc, int pRecvProc, Array< OneD, NekDouble > &pSendData) | 
| void | SendRecvReplace (int pSendProc, int pRecvProc, Array< OneD, int > &pSendData) | 
| void | AllReduce (NekDouble &pData, enum ReduceOperator pOp) | 
| void | AllReduce (int &pData, enum ReduceOperator pOp) | 
| void | AllReduce (Array< OneD, NekDouble > &pData, enum ReduceOperator pOp) | 
| void | AllReduce (Array< OneD, int > &pData, enum ReduceOperator pOp) | 
| void | AllReduce (std::vector< unsigned int > &pData, enum ReduceOperator pOp) | 
| void | AlltoAll (Array< OneD, NekDouble > &pSendData, Array< OneD, NekDouble > &pRecvData) | 
| void | AlltoAll (Array< OneD, int > &pSendData, Array< OneD, int > &pRecvData) | 
| void | AlltoAllv (Array< OneD, NekDouble > &pSendData, Array< OneD, int > &pSendDataSizeMap, Array< OneD, int > &pSendDataOffsetMap, Array< OneD, NekDouble > &pRecvData, Array< OneD, int > &pRecvDataSizeMap, Array< OneD, int > &pRecvDataOffsetMap) | 
| void | AlltoAllv (Array< OneD, int > &pSendData, Array< OneD, int > &pSendDataSizeMap, Array< OneD, int > &pSendDataOffsetMap, Array< OneD, int > &pRecvData, Array< OneD, int > &pRecvDataSizeMap, Array< OneD, int > &pRecvDataOffsetMap) | 
| void | SplitComm (int pRows, int pColumns) | 
| Splits this communicator into a grid of size pRows*pColumns and creates row and column communicators. By default the communicator is a single row.  More... | |
| CommSharedPtr | GetRowComm () | 
| Retrieve the row communicator to which this process belongs.  More... | |
| CommSharedPtr | GetColumnComm () | 
| Retrieve the column communicator to which this process belongs.  More... | |
| bool | TreatAsRankZero (void) | 
| bool | RemoveExistingFiles (void) | 
| Protected Member Functions | |
| Comm () | |
| virtual void | v_Finalise ()=0 | 
| virtual int | v_GetRank ()=0 | 
| virtual void | v_Block ()=0 | 
| virtual void | v_Send (int pProc, Array< OneD, NekDouble > &pData)=0 | 
| virtual void | v_Send (int pProc, Array< OneD, int > &pData)=0 | 
| virtual void | v_Send (int pProc, std::vector< unsigned int > &pData)=0 | 
| virtual void | v_Recv (int pProc, Array< OneD, NekDouble > &pData)=0 | 
| virtual void | v_Recv (int pProc, Array< OneD, int > &pData)=0 | 
| virtual void | v_Recv (int pProc, std::vector< unsigned int > &pData)=0 | 
| virtual void | v_SendRecv (int pSendProc, Array< OneD, NekDouble > &pSendData, int pRecvProc, Array< OneD, NekDouble > &pRecvData)=0 | 
| virtual void | v_SendRecv (int pSendProc, Array< OneD, int > &pSendData, int pRecvProc, Array< OneD, int > &pRecvData)=0 | 
| virtual void | v_SendRecvReplace (int pSendProc, int pRecvProc, Array< OneD, NekDouble > &pSendData)=0 | 
| virtual void | v_SendRecvReplace (int pSendProc, int pRecvProc, Array< OneD, int > &pSendData)=0 | 
| virtual void | v_AllReduce (NekDouble &pData, enum ReduceOperator pOp)=0 | 
| virtual void | v_AllReduce (int &pData, enum ReduceOperator pOp)=0 | 
| virtual void | v_AllReduce (Array< OneD, NekDouble > &pData, enum ReduceOperator pOp)=0 | 
| virtual void | v_AllReduce (Array< OneD, int > &pData, enum ReduceOperator pOp)=0 | 
| virtual void | v_AllReduce (std::vector< unsigned int > &pData, enum ReduceOperator pOp)=0 | 
| virtual void | v_AlltoAll (Array< OneD, NekDouble > &pSendData, Array< OneD, NekDouble > &pRecvData)=0 | 
| virtual void | v_AlltoAll (Array< OneD, int > &pSendData, Array< OneD, int > &pRecvData)=0 | 
| virtual void | v_AlltoAllv (Array< OneD, NekDouble > &pSendData, Array< OneD, int > &pSendDataSizeMap, Array< OneD, int > &pSendDataOffsetMap, Array< OneD, NekDouble > &pRecvData, Array< OneD, int > &pRecvDataSizeMap, Array< OneD, int > &pRecvDataOffsetMap)=0 | 
| virtual void | v_AlltoAllv (Array< OneD, int > &pSendData, Array< OneD, int > &pSendDataSizeMap, Array< OneD, int > &pSendDataOffsetMap, Array< OneD, int > &pRecvData, Array< OneD, int > &pRecvDataSizeMap, Array< OneD, int > &pRecvDataOffsetMap)=0 | 
| virtual void | v_SplitComm (int pRows, int pColumns)=0 | 
| virtual bool | v_TreatAsRankZero (void)=0 | 
| virtual bool | v_RemoveExistingFiles (void) | 
| Protected Attributes | |
| int | m_size | 
| Number of processes.  More... | |
| std::string | m_type | 
| Type of communication.  More... | |
| CommSharedPtr | m_commRow | 
| Row communicator.  More... | |
| CommSharedPtr | m_commColumn | 
| Column communicator.  More... | |
| Nektar::LibUtilities::Comm::Comm | ( | int | narg, | 
| char * | arg[] | ||
| ) | 
| 
 | inline | 
Definition at line 341 of file Comm.h.
References v_AllReduce().
| 
 | inline | 
Definition at line 350 of file Comm.h.
References v_AllReduce().
| 
 | inline | 
Definition at line 359 of file Comm.h.
References v_AllReduce().
| 
 | inline | 
Definition at line 368 of file Comm.h.
References v_AllReduce().
| 
 | inline | 
Definition at line 377 of file Comm.h.
References v_AllReduce().
| 
 | inline | 
Definition at line 386 of file Comm.h.
References v_AlltoAll().
| 
 | inline | 
Definition at line 395 of file Comm.h.
References v_AlltoAll().
| 
 | inline | 
Definition at line 404 of file Comm.h.
References v_AlltoAllv().
| 
 | inline | 
Definition at line 417 of file Comm.h.
References v_AlltoAllv().
| 
 | inline | 
| 
 | inline | 
Definition at line 207 of file Comm.h.
References v_Finalise().
| 
 | inline | 
Retrieve the column communicator to which this process belongs.
Definition at line 459 of file Comm.h.
References m_commColumn.
| 
 | inline | 
Definition at line 223 of file Comm.h.
References v_GetRank().
| 
 | inline | 
Retrieve the row communicator to which this process belongs.
Definition at line 442 of file Comm.h.
References m_commRow.
| 
 | inline | 
Returns number of processes.
Definition at line 215 of file Comm.h.
References m_size.
Referenced by Nektar::LibUtilities::CommMpi::v_AllReduce(), and Nektar::LibUtilities::CommMpi::v_AlltoAll().
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Definition at line 476 of file Comm.h.
References v_RemoveExistingFiles().
| 
 | inline | 
| 
 | inline | 
Definition at line 296 of file Comm.h.
References v_SendRecv().
| 
 | inline | 
Definition at line 308 of file Comm.h.
References v_SendRecv().
| 
 | inline | 
Definition at line 319 of file Comm.h.
References v_SendRecvReplace().
| 
 | inline | 
Definition at line 330 of file Comm.h.
References v_SendRecvReplace().
| 
 | inline | 
Splits this communicator into a grid of size pRows*pColumns and creates row and column communicators. By default the communicator is a single row.
Definition at line 433 of file Comm.h.
References v_SplitComm().
| 
 | inline | 
Definition at line 471 of file Comm.h.
References v_TreatAsRankZero().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by AllReduce().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by AlltoAll().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by AlltoAllv().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by Block().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by Finalise().
| 
 | protectedpure virtual | 
Implemented in Nektar::Utilities::FieldConvertComm, Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by GetRank().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by Recv().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedvirtual | 
Reimplemented in Nektar::Utilities::FieldConvertComm.
Definition at line 59 of file Comm.cpp.
Referenced by RemoveExistingFiles().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by Send().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by SendRecv().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by SendRecvReplace().
| 
 | protectedpure virtual | 
Implemented in Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
| 
 | protectedpure virtual | 
Implemented in Nektar::Utilities::FieldConvertComm, Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by SplitComm().
| 
 | protectedpure virtual | 
Implemented in Nektar::Utilities::FieldConvertComm, Nektar::LibUtilities::CommMpi, and Nektar::LibUtilities::CommSerial.
Referenced by TreatAsRankZero().
| 
 | protected | 
Column communicator.
Definition at line 145 of file Comm.h.
Referenced by GetColumnComm(), and Nektar::LibUtilities::CommMpi::v_SplitComm().
| 
 | protected | 
Row communicator.
Definition at line 144 of file Comm.h.
Referenced by GetRowComm(), and Nektar::LibUtilities::CommMpi::v_SplitComm().
| 
 | protected | 
Number of processes.
Definition at line 142 of file Comm.h.
Referenced by Nektar::LibUtilities::CommMpi::CommMpi(), Nektar::LibUtilities::CommSerial::CommSerial(), GetSize(), and Nektar::LibUtilities::CommMpi::v_SplitComm().
| 
 | protected | 
Type of communication.
Definition at line 143 of file Comm.h.
Referenced by Nektar::LibUtilities::CommMpi::CommMpi(), Nektar::LibUtilities::CommSerial::CommSerial(), and GetType().
 1.8.8
 1.8.8