35 #ifndef NEKTAR_LIB_UTILITIES_COMMMPI_H
36 #define NEKTAR_LIB_UTILITIES_COMMMPI_H
52 namespace LibUtilities
85 virtual void v_Send(
int pProc, std::vector<unsigned int>& pData);
88 virtual void v_Recv(
int pProc, std::vector<unsigned int>& pData);
111 virtual void v_AllReduce(std::vector<unsigned int>& pData,
ReduceOperator
Type of operation to perform in AllReduce.
static boost::shared_ptr< DataType > AllocateSharedPtr()
Allocate a shared pointer from the memory pool.
virtual void v_Finalise()
virtual void v_SendRecv(int pSendProc, Array< OneD, NekDouble > &pSendData, int pRecvProc, Array< OneD, NekDouble > &pRecvData)
virtual void v_Recv(int pProc, Array< OneD, NekDouble > &pData)
virtual void v_SendRecvReplace(int pSendProc, int pRecvProc, Array< OneD, NekDouble > &pSendData)
static CommSharedPtr create(int narg, char *arg[])
Creates an instance of this class.
boost::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
virtual void v_SplitComm(int pRows, int pColumns)
CommMpi(int narg, char *arg[])
virtual void v_AllReduce(NekDouble &pData, enum ReduceOperator pOp)
virtual bool v_TreatAsRankZero(void)
virtual void v_AlltoAll(Array< OneD, NekDouble > &pSendData, Array< OneD, NekDouble > &pRecvData)
boost::shared_ptr< CommMpi > CommMpiSharedPtr
Pointer to a Communicator object.
virtual void v_Send(int pProc, Array< OneD, NekDouble > &pData)
Base communications class.
static std::string className
Name of class.
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)