Nektar++
|
A global linear system. More...
#include <CommSerial.h>
Public Member Functions | |
CommSerial (int argc, char *argv[]) | |
virtual | ~CommSerial () |
![]() | |
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... | |
NekDouble | Wtime () |
Return the time in seconds. More... | |
template<class T > | |
void | Send (int pProc, T &pData) |
template<class T > | |
void | Recv (int pProc, T &pData) |
template<class T > | |
void | SendRecv (int pSendProc, T &pSendData, int pRecvProc, T &pRecvData) |
template<class T > | |
void | SendRecvReplace (int pSendProc, int pRecvProc, T &pData) |
template<class T > | |
void | AllReduce (T &pData, enum ReduceOperator pOp) |
template<class T > | |
void | AlltoAll (T &pSendData, T &pRecvData) |
template<class T1 , class T2 > | |
void | AlltoAllv (T1 &pSendData, T2 &pSendDataSizeMap, T2 &pSendDataOffsetMap, T1 &pRecvData, T2 &pRecvDataSizeMap, T2 &pRecvDataOffsetMap) |
template<class T > | |
void | AllGather (T &pSendData, T &pRecvData) |
template<class T > | |
void | AllGatherv (T &pSendData, T &pRecvData, Array< OneD, int > &pRecvDataSizeMap, Array< OneD, int > &pRecvDataOffsetMap) |
template<class T > | |
void | AllGatherv (T &pRecvData, Array< OneD, int > &pRecvDataSizeMap, Array< OneD, int > &pRecvDataOffsetMap) |
template<class T > | |
void | Bcast (T &data, int rootProc) |
template<class T > | |
void | Exscan (T &pData, const enum ReduceOperator pOp, T &ans) |
template<class T > | |
T | Gather (const int rootProc, T &val) |
template<class T > | |
T | Scatter (const int rootProc, T &pData) |
CommSharedPtr | CommCreateIf (int flag) |
If the flag is non-zero create a new communicator. More... | |
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 | IsSerial (void) |
bool | RemoveExistingFiles (void) |
Static Public Member Functions | |
static CommSharedPtr | create (int narg, char *arg[]) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of class. More... | |
Protected Member Functions | |
virtual void | v_Finalise () |
virtual int | v_GetRank () |
virtual bool | v_TreatAsRankZero (void) |
virtual bool | v_IsSerial (void) |
virtual void | v_Block () |
virtual NekDouble | v_Wtime () |
virtual void | v_Send (void *buf, int count, CommDataType dt, int dest) |
virtual void | v_Recv (void *buf, int count, CommDataType dt, int source) |
virtual void | v_SendRecv (void *sendbuf, int sendcount, CommDataType sendtype, int dest, void *recvbuf, int recvcount, CommDataType recvtype, int source) |
virtual void | v_SendRecvReplace (void *buf, int count, CommDataType dt, int pSendProc, int pRecvProc) |
virtual void | v_AllReduce (void *buf, int count, CommDataType dt, enum ReduceOperator pOp) |
virtual void | v_AlltoAll (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype) |
virtual void | v_AlltoAllv (void *sendbuf, int sendcounts[], int sensdispls[], CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) |
virtual void | v_AllGather (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype) |
virtual void | v_AllGatherv (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) |
virtual void | v_AllGatherv (void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) |
virtual void | v_Bcast (void *buffer, int count, CommDataType dt, int root) |
virtual void | v_Exscan (Array< OneD, unsigned long long > &pData, const enum ReduceOperator pOp, Array< OneD, unsigned long long > &ans) |
virtual void | v_Gather (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root) |
virtual void | v_Scatter (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root) |
virtual void | v_SplitComm (int pRows, int pColumns) |
virtual CommSharedPtr | v_CommCreateIf (int flag) |
![]() | |
Comm () | |
virtual bool | v_RemoveExistingFiles (void) |
Additional Inherited Members | |
![]() | |
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... | |
A global linear system.
Definition at line 54 of file CommSerial.h.
Nektar::LibUtilities::CommSerial::CommSerial | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 50 of file CommSerial.cpp.
References Nektar::LibUtilities::Comm::m_size, and Nektar::LibUtilities::Comm::m_type.
|
virtual |
Definition at line 59 of file CommSerial.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 58 of file CommSerial.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 182 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 189 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 197 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 151 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 160 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 170 of file CommSerial.cpp.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 242 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 208 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 66 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 215 of file CommSerial.cpp.
References Nektar::LibUtilities::CommDataTypeGetSize().
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Reimplemented in Nektar::FieldUtils::FieldConvertComm.
Definition at line 76 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Reimplemented in Nektar::FieldUtils::FieldConvertComm.
Definition at line 92 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 123 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 223 of file CommSerial.cpp.
References Nektar::LibUtilities::CommDataTypeGetSize().
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 115 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 131 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 142 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Reimplemented in Nektar::FieldUtils::FieldConvertComm.
Definition at line 233 of file CommSerial.cpp.
References ASSERTL0.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Reimplemented in Nektar::FieldUtils::FieldConvertComm.
Definition at line 84 of file CommSerial.cpp.
|
protectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 107 of file CommSerial.cpp.
|
static |