36 #ifdef NEKTAR_USING_PETSC
44 namespace LibUtilities
50 "Single-process serial communication.");
55 #ifdef NEKTAR_USING_PETSC
56 PetscInitializeNoArguments();
72 #ifdef NEKTAR_USING_PETSC
289 ASSERTL0(
false,
"Cannot split a serial process.");
virtual void v_SplitComm(int pRows, int pColumns)
#define ASSERTL0(condition, msg)
virtual void v_SendRecvReplace(int pSendProc, int pRecvProc, Array< OneD, NekDouble > &pSendData)
ReduceOperator
Type of operation to perform in AllReduce.
virtual void v_Send(int pProc, Array< OneD, NekDouble > &pData)
virtual bool v_TreatAsRankZero(void)
virtual void v_Recv(int pProc, Array< OneD, NekDouble > &pData)
std::string m_type
Type of communication.
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)
CommFactory & GetCommFactory()
virtual void v_AlltoAll(Array< OneD, NekDouble > &pSendData, Array< OneD, NekDouble > &pRecvData)
virtual void v_Finalise()
static CommSharedPtr create(int narg, char *arg[])
Creates an instance of this class.
Base communications class.
virtual void v_SendRecv(int pSendProc, Array< OneD, NekDouble > &pSendData, int pRecvProc, Array< OneD, NekDouble > &pRecvData)
CommSerial(int argc, char *argv[])
static std::string className
Name of class.
virtual void v_AllReduce(NekDouble &pData, enum ReduceOperator pOp)
int m_size
Number of processes.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.