Nektar++
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
Nektar::FieldUtils::FieldConvertComm Class Reference

#include <Module.h>

Inheritance diagram for Nektar::FieldUtils::FieldConvertComm:
[legend]

Public Member Functions

 FieldConvertComm (int argc, char *argv[], int size, int rank)
 
 FieldConvertComm (int size, int rank)
 
virtual ~FieldConvertComm ()
 
void v_SplitComm (int pRows, int pColumns)
 
- Public Member Functions inherited from Nektar::LibUtilities::CommSerial
 CommSerial (int argc, char *argv[])
 
virtual ~CommSerial ()
 
- Public Member Functions inherited from Nektar::LibUtilities::Comm
 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 >
Gather (const int rootProc, T &val)
 
template<class 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)
 

Protected Member Functions

int v_GetRank (void)
 
bool v_TreatAsRankZero (void)
 
bool v_IsSerial (void)
 
bool v_RemoveExistingFiles (void)
 
- Protected Member Functions inherited from Nektar::LibUtilities::CommSerial
virtual void v_Finalise ()
 
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 CommSharedPtr v_CommCreateIf (int flag)
 
- Protected Member Functions inherited from Nektar::LibUtilities::Comm
 Comm ()
 

Private Attributes

int m_rank
 

Additional Inherited Members

- Static Public Member Functions inherited from Nektar::LibUtilities::CommSerial
static CommSharedPtr create (int narg, char *arg[])
 Creates an instance of this class. More...
 
- Static Public Attributes inherited from Nektar::LibUtilities::CommSerial
static std::string className
 Name of class. More...
 
- 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...
 

Detailed Description

Definition at line 281 of file FieldUtils/Module.h.

Constructor & Destructor Documentation

◆ FieldConvertComm() [1/2]

Nektar::FieldUtils::FieldConvertComm::FieldConvertComm ( int  argc,
char *  argv[],
int  size,
int  rank 
)
inline

Definition at line 284 of file FieldUtils/Module.h.

285  : CommSerial(argc, argv)
286  {
287  m_size = size;
288  m_rank = rank;
289  m_type = "FieldConvert parallel";
290  }
std::string m_type
Type of communication.
Definition: Comm.h:149
CommSerial(int argc, char *argv[])
Definition: CommSerial.cpp:50
int m_size
Number of processes.
Definition: Comm.h:148

◆ FieldConvertComm() [2/2]

Nektar::FieldUtils::FieldConvertComm::FieldConvertComm ( int  size,
int  rank 
)
inline

Definition at line 291 of file FieldUtils/Module.h.

291  : CommSerial(0, NULL)
292  {
293  m_size = size;
294  m_rank = rank;
295  m_type = "FieldConvert parallel";
296  }
std::string m_type
Type of communication.
Definition: Comm.h:149
CommSerial(int argc, char *argv[])
Definition: CommSerial.cpp:50
int m_size
Number of processes.
Definition: Comm.h:148

◆ ~FieldConvertComm()

virtual Nektar::FieldUtils::FieldConvertComm::~FieldConvertComm ( )
inlinevirtual

Definition at line 297 of file FieldUtils/Module.h.

298  {
299  }

Member Function Documentation

◆ v_GetRank()

int Nektar::FieldUtils::FieldConvertComm::v_GetRank ( void  )
inlineprotectedvirtual

Reimplemented from Nektar::LibUtilities::CommSerial.

Definition at line 310 of file FieldUtils/Module.h.

311  {
312  return m_rank;
313  }

◆ v_IsSerial()

bool Nektar::FieldUtils::FieldConvertComm::v_IsSerial ( void  )
inlineprotectedvirtual

Reimplemented from Nektar::LibUtilities::CommSerial.

Definition at line 320 of file FieldUtils/Module.h.

321  {
322  return true;
323  }

◆ v_RemoveExistingFiles()

bool Nektar::FieldUtils::FieldConvertComm::v_RemoveExistingFiles ( void  )
inlineprotectedvirtual

Reimplemented from Nektar::LibUtilities::Comm.

Definition at line 325 of file FieldUtils/Module.h.

326  {
327  return false;
328  }

◆ v_SplitComm()

void Nektar::FieldUtils::FieldConvertComm::v_SplitComm ( int  pRows,
int  pColumns 
)
inlinevirtual

Reimplemented from Nektar::LibUtilities::CommSerial.

Definition at line 300 of file FieldUtils/Module.h.

301  {
302  // Compute row and column in grid.
303  m_commRow = std::shared_ptr<FieldConvertComm>(
304  new FieldConvertComm(pColumns, m_rank));
305  m_commColumn =
306  std::shared_ptr<FieldConvertComm>(new FieldConvertComm(pRows, 0));
307  }
CommSharedPtr m_commColumn
Column communicator.
Definition: Comm.h:151
FieldConvertComm(int argc, char *argv[], int size, int rank)
CommSharedPtr m_commRow
Row communicator.
Definition: Comm.h:150

◆ v_TreatAsRankZero()

bool Nektar::FieldUtils::FieldConvertComm::v_TreatAsRankZero ( void  )
inlineprotectedvirtual

Reimplemented from Nektar::LibUtilities::CommSerial.

Definition at line 315 of file FieldUtils/Module.h.

316  {
317  return true;
318  }

Member Data Documentation

◆ m_rank

int Nektar::FieldUtils::FieldConvertComm::m_rank
private

Definition at line 331 of file FieldUtils/Module.h.