35 #ifndef NEKTAR_LIB_UTILITIES_COMMMPI_H
36 #define NEKTAR_LIB_UTILITIES_COMMMPI_H
52 namespace LibUtilities
83 virtual void v_Send(
int pProc, Array<OneD, NekDouble>& pData);
84 virtual void v_Send(
int pProc, Array<OneD, int>& pData);
85 virtual void v_Send(
int pProc, std::vector<unsigned int>& pData);
86 virtual void v_Recv(
int pProc, Array<OneD, NekDouble>& pData);
87 virtual void v_Recv(
int pProc, Array<OneD, int>& pData);
88 virtual void v_Recv(
int pProc, std::vector<unsigned int>& pData);
90 Array<OneD, NekDouble>& pSendData,
92 Array<OneD, NekDouble>& pRecvData);
94 Array<OneD, int>& pSendData,
96 Array<OneD, int>& pRecvData);
99 Array<OneD, NekDouble>& pSendData);
102 Array<OneD, int>& pSendData);
107 virtual void v_AllReduce(Array<OneD, NekDouble>& pData,
111 virtual void v_AllReduce(std::vector<unsigned int>& pData,
113 virtual void v_AlltoAll(Array<OneD, NekDouble>& pSendData,
114 Array<OneD, NekDouble>& pRecvData);
115 virtual void v_AlltoAll(Array<OneD, int>& pSendData,
116 Array<OneD, int>& pRecvData);
117 virtual void v_AlltoAllv(Array<OneD, NekDouble>& pSendData,
118 Array<OneD, int>& pSendDataSizeMap,
119 Array<OneD, int>& pSendDataOffsetMap,
120 Array<OneD, NekDouble>& pRecvData,
121 Array<OneD, int>& pRecvDataSizeMap,
122 Array<OneD, int>& pRecvDataOffsetMap);
123 virtual void v_AlltoAllv(Array<OneD, int>& pSendData,
124 Array<OneD, int>& pSendDataSizeMap,
125 Array<OneD, int>& pSendDataOffsetMap,
126 Array<OneD, int>& pRecvData,
127 Array<OneD, int>& pRecvDataSizeMap,
128 Array<OneD, int>& pRecvDataOffsetMap);