|
Nektar++
|
A global linear system. More...
#include <CommSerial.h>
Public Member Functions | |
| CommSerial (int argc, char *argv[]) | |
| virtual | ~CommSerial () override |
Public Member Functions inherited from Nektar::LibUtilities::Comm | |
| Comm (int narg, char *arg[]) | |
| virtual | ~Comm () |
| void | Finalise () |
| int | GetSize () const |
| Returns number of processes. More... | |
| int | GetRank () |
| const std::string & | GetType () const |
| bool | TreatAsRankZero () |
| bool | IsSerial () |
| std::tuple< int, int, int > | GetVersion () |
| 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 | 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 &pData, int pRoot) |
| template<class T > | |
| T | Gather (int rootProc, T &val) |
| template<class T > | |
| T | Scatter (int rootProc, T &pData) |
| template<class T > | |
| void | DistGraphCreateAdjacent (T &sources, T &sourceweights, int reorder) |
| template<class T1 , class T2 > | |
| void | NeighborAlltoAllv (T1 &pSendData, T2 &pSendDataSizeMap, T2 &pSendDataOffsetMap, T1 &pRecvData, T2 &pRecvDataSizeMap, T2 &pRecvDataOffsetMap) |
| template<class T > | |
| void | Irsend (int pProc, T &pData, int count, const CommRequestSharedPtr &request, int loc) |
| template<class T > | |
| void | Isend (int pProc, T &pData, int count, const CommRequestSharedPtr &request, int loc) |
| template<class T > | |
| void | SendInit (int pProc, T &pData, int count, const CommRequestSharedPtr &request, int loc) |
| template<class T > | |
| void | Irecv (int pProc, T &pData, int count, const CommRequestSharedPtr &request, int loc) |
| template<class T > | |
| void | RecvInit (int pProc, T &pData, int count, const CommRequestSharedPtr &request, int loc) |
| void | StartAll (const CommRequestSharedPtr &request) |
| void | WaitAll (const CommRequestSharedPtr &request) |
| CommRequestSharedPtr | CreateRequest (int num) |
| CommSharedPtr | CommCreateIf (int flag) |
| If the flag is non-zero create a new communicator. More... | |
| void | SplitComm (int pRows, int pColumns, int pTime=1) |
| 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... | |
| CommSharedPtr | GetTimeComm () |
| Retrieve the time communicator to which this process belongs. More... | |
| CommSharedPtr | GetSpaceComm () |
| Retrieve the space communicator to which this process belongs. More... | |
| bool | RemoveExistingFiles () |
| std::pair< CommSharedPtr, CommSharedPtr > | SplitCommNode () |
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 () override final |
| virtual int | v_GetRank () override |
| virtual bool | v_TreatAsRankZero () override |
| virtual bool | v_IsSerial () override |
| virtual std::tuple< int, int, int > | v_GetVersion () override final |
| virtual void | v_Block () override final |
| virtual NekDouble | v_Wtime () override final |
| virtual void | v_Send (void *buf, int count, CommDataType dt, int dest) override final |
| virtual void | v_Recv (void *buf, int count, CommDataType dt, int source) override final |
| virtual void | v_SendRecv (void *sendbuf, int sendcount, CommDataType sendtype, int dest, void *recvbuf, int recvcount, CommDataType recvtype, int source) override final |
| virtual void | v_AllReduce (void *buf, int count, CommDataType dt, enum ReduceOperator pOp) override final |
| virtual void | v_AlltoAll (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype) override final |
| virtual void | v_AlltoAllv (void *sendbuf, int sendcounts[], int sensdispls[], CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) override final |
| virtual void | v_AllGather (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype) override final |
| virtual void | v_AllGatherv (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) override final |
| virtual void | v_AllGatherv (void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) override final |
| virtual void | v_Bcast (void *buffer, int count, CommDataType dt, int root) override final |
| virtual void | v_Gather (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root) override final |
| virtual void | v_Scatter (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root) override final |
| virtual void | v_DistGraphCreateAdjacent (int indegree, const int sources[], const int sourceweights[], int reorder) override final |
| virtual void | v_NeighborAlltoAllv (void *sendbuf, int sendcounts[], int sdispls[], CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) override final |
| virtual void | v_Irsend (void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc) override final |
| virtual void | v_Isend (void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc) final |
| virtual void | v_SendInit (void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc) override final |
| virtual void | v_Irecv (void *buf, int count, CommDataType dt, int source, CommRequestSharedPtr request, int loc) override final |
| virtual void | v_RecvInit (void *buf, int count, CommDataType dt, int source, CommRequestSharedPtr request, int loc) override final |
| virtual void | v_StartAll (CommRequestSharedPtr request) override final |
| virtual void | v_WaitAll (CommRequestSharedPtr request) override final |
| virtual CommRequestSharedPtr | v_CreateRequest (int num) override final |
| virtual void | v_SplitComm (int pRows, int pColumns, int pTime) override |
| virtual CommSharedPtr | v_CommCreateIf (int flag) override final |
Protected Member Functions inherited from Nektar::LibUtilities::Comm | |
| Comm () | |
| virtual void | v_Finalise ()=0 |
| virtual int | v_GetRank ()=0 |
| virtual bool | v_TreatAsRankZero ()=0 |
| virtual bool | v_IsSerial ()=0 |
| virtual std::tuple< int, int, int > | v_GetVersion ()=0 |
| virtual void | v_Block ()=0 |
| virtual NekDouble | v_Wtime ()=0 |
| virtual void | v_Send (void *buf, int count, CommDataType dt, int dest)=0 |
| virtual void | v_Recv (void *buf, int count, CommDataType dt, int source)=0 |
| virtual void | v_SendRecv (void *sendbuf, int sendcount, CommDataType sendtype, int dest, void *recvbuf, int recvcount, CommDataType recvtype, int source)=0 |
| virtual void | v_AllReduce (void *buf, int count, CommDataType dt, enum ReduceOperator pOp)=0 |
| virtual void | v_AlltoAll (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype)=0 |
| virtual void | v_AlltoAllv (void *sendbuf, int sendcounts[], int sensdispls[], CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype)=0 |
| virtual void | v_AllGather (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype)=0 |
| virtual void | v_AllGatherv (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype)=0 |
| virtual void | v_AllGatherv (void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype)=0 |
| virtual void | v_Bcast (void *buffer, int count, CommDataType dt, int root)=0 |
| virtual void | v_Gather (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root)=0 |
| virtual void | v_Scatter (void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root)=0 |
| virtual void | v_DistGraphCreateAdjacent (int indegree, const int sources[], const int sourceweights[], int reorder)=0 |
| virtual void | v_NeighborAlltoAllv (void *sendbuf, int sendcounts[], int sdispls[], CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype)=0 |
| virtual void | v_Irsend (void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc)=0 |
| virtual void | v_Isend (void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc)=0 |
| virtual void | v_SendInit (void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc)=0 |
| virtual void | v_Irecv (void *buf, int count, CommDataType dt, int source, CommRequestSharedPtr request, int loc)=0 |
| virtual void | v_RecvInit (void *buf, int count, CommDataType dt, int source, CommRequestSharedPtr request, int loc)=0 |
| virtual void | v_StartAll (CommRequestSharedPtr request)=0 |
| virtual void | v_WaitAll (CommRequestSharedPtr request)=0 |
| virtual CommRequestSharedPtr | v_CreateRequest (int num)=0 |
| virtual void | v_SplitComm (int pRows, int pColumns, int pTime)=0 |
| virtual CommSharedPtr | v_CommCreateIf (int flag)=0 |
| virtual std::pair< CommSharedPtr, CommSharedPtr > | v_SplitCommNode () |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::LibUtilities::Comm | |
| 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... | |
| CommSharedPtr | m_commTime |
| CommSharedPtr | m_commSpace |
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.
|
overridevirtualdefault |
|
inlinestatic |
Creates an instance of this class.
Definition at line 58 of file CommSerial.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 179 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 202 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 190 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 148 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 157 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 167 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 211 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 342 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 324 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 241 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 64 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 219 of file CommSerial.cpp.
References Nektar::LibUtilities::CommDataTypeGetSize().
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Reimplemented in Nektar::FieldUtils::FieldConvertComm.
Definition at line 74 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 98 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 290 of file CommSerial.cpp.
References CG_Iterations::loc.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 263 of file CommSerial.cpp.
References CG_Iterations::loc.
|
finalprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 272 of file CommSerial.cpp.
References CG_Iterations::loc.
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Reimplemented in Nektar::FieldUtils::FieldConvertComm.
Definition at line 90 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 251 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 129 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 299 of file CommSerial.cpp.
References CG_Iterations::loc.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 230 of file CommSerial.cpp.
References Nektar::LibUtilities::CommDataTypeGetSize().
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 121 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 281 of file CommSerial.cpp.
References CG_Iterations::loc.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 137 of file CommSerial.cpp.
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Reimplemented in Nektar::FieldUtils::FieldConvertComm.
Definition at line 333 of file CommSerial.cpp.
References ASSERTL0.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 308 of file CommSerial.cpp.
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Reimplemented in Nektar::FieldUtils::FieldConvertComm.
Definition at line 82 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 316 of file CommSerial.cpp.
|
finaloverrideprotectedvirtual |
Implements Nektar::LibUtilities::Comm.
Definition at line 113 of file CommSerial.cpp.
|
static |
Name of class.
Definition at line 64 of file CommSerial.h.