35 #include <boost/core/ignore_unused.hpp> 37 #ifdef NEKTAR_USING_PETSC 45 namespace LibUtilities
52 #ifdef NEKTAR_USING_PETSC 53 PetscInitializeNoArguments();
68 #ifdef NEKTAR_USING_PETSC 117 boost::ignore_unused(buf, count, dt, dest);
125 boost::ignore_unused(buf, count, dt, source);
132 int dest,
void *recvbuf,
int recvcount,
135 boost::ignore_unused(sendbuf, sendcount, sendtype, dest, recvbuf,
136 recvcount, recvtype, source);
143 int pSendProc,
int pRecvProc)
145 boost::ignore_unused(buf, count, dt, pSendProc, pRecvProc);
154 boost::ignore_unused(buf, count, dt, pOp);
163 boost::ignore_unused(sendbuf, sendcount, sendtype, recvbuf, recvcount,
172 int recvcounts[],
int rdispls[],
175 boost::ignore_unused(sendbuf, sendcounts, senddispls, sendtype, recvbuf,
176 recvcounts, rdispls, recvtype);
185 boost::ignore_unused(sendbuf, sendcount, sendtype, recvbuf, recvcount,
190 void *recvbuf,
int recvcounts[],
int rdispls[],
193 boost::ignore_unused(sendbuf, sendcount, sendtype, recvbuf, recvcounts,
200 boost::ignore_unused(recvbuf, recvcounts, rdispls, recvtype);
205 boost::ignore_unused(buffer, count, dt, root);
212 boost::ignore_unused(pData, pOp, ans);
219 boost::ignore_unused(recvcount, recvtype, root);
227 boost::ignore_unused(recvcount, recvtype, root);
235 boost::ignore_unused(pRows, pColumns);
236 ASSERTL0(
false,
"Cannot split a serial process.");
247 return std::shared_ptr<Comm>();
252 return shared_from_this();
virtual void v_SendRecvReplace(void *buf, int count, CommDataType dt, int pSendProc, int pRecvProc)
virtual void v_SplitComm(int pRows, int pColumns)
#define ASSERTL0(condition, msg)
virtual void v_Exscan(Array< OneD, unsigned long long > &pData, const enum ReduceOperator pOp, Array< OneD, unsigned long long > &ans)
ReduceOperator
Type of operation to perform in AllReduce.
int CommDataTypeGetSize(CommDataType dt)
Return the size in bytes of a data type dt.
virtual NekDouble v_Wtime()
virtual bool v_TreatAsRankZero(void)
virtual void v_AllGatherv(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype)
std::string m_type
Type of communication.
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
virtual void v_AlltoAllv(void *sendbuf, int sendcounts[], int sensdispls[], CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype)
virtual bool v_IsSerial(void)
CommFactory & GetCommFactory()
virtual void v_Send(void *buf, int count, CommDataType dt, int dest)
virtual void v_AlltoAll(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype)
virtual void v_Finalise()
static CommSharedPtr create(int narg, char *arg[])
Creates an instance of this class.
virtual void v_Gather(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root)
virtual CommSharedPtr v_CommCreateIf(int flag)
virtual void v_Recv(void *buf, int count, CommDataType dt, int source)
virtual void v_Bcast(void *buffer, int count, CommDataType dt, int root)
Base communications class.
CommSerial(int argc, char *argv[])
virtual void v_AllReduce(void *buf, int count, CommDataType dt, enum ReduceOperator pOp)
virtual void v_SendRecv(void *sendbuf, int sendcount, CommDataType sendtype, int dest, void *recvbuf, int recvcount, CommDataType recvtype, int source)
static std::string className
Name of class.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
virtual void v_AllGather(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype)
virtual void v_Scatter(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root)
int m_size
Number of processes.