34#ifndef NEKTAR_LIB_UTILITIES_COMMMPI_H
35#define NEKTAR_LIB_UTILITIES_COMMMPI_H
111 explicit CommMpi(MPI_Comm pComm);
124 int dest,
void *recvbuf,
int recvcount,
131 void *recvbuf,
int recvcount,
CommDataType recvtype) final;
132 void v_AlltoAllv(
void *sendbuf,
int sendcounts[],
int sensdispls[],
137 void *recvbuf,
int recvcount,
CommDataType recvtype) final;
139 void *recvbuf,
int recvcounts[],
int rdispls[],
141 void v_AllGatherv(
void *recvbuf,
int recvcounts[],
int rdispls[],
153 const
int sourceweights[],
157 int recvcounts[],
int rdispls[],
175 void v_SplitComm(
int pRows,
int pColumns,
int pTime) override;
#define LIB_UTILITIES_EXPORT
Base communications class.
void v_WaitAll(CommRequestSharedPtr request) final
void v_AlltoAll(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype) final
CommRequestSharedPtr v_CreateRequest(int num) final
CommMpi(int narg, char *arg[])
void v_DistGraphCreateAdjacent(int indegree, const int sources[], const int sourceweights[], int reorder) final
void v_Bcast(void *buffer, int count, CommDataType dt, int root) final
void v_AllGatherv(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) final
CommSharedPtr v_CommCreateIf(int flag) final
std::pair< CommSharedPtr, CommSharedPtr > v_SplitCommNode() final
void v_SendRecv(void *sendbuf, int sendcount, CommDataType sendtype, int dest, void *recvbuf, int recvcount, CommDataType recvtype, int source) final
void v_NeighborAlltoAllv(void *sendbuf, int sendcounts[], int sensdispls[], CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) final
void v_AllGather(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype) final
void v_Recv(void *buf, int count, CommDataType dt, int source) final
void v_StartAll(CommRequestSharedPtr request) final
void v_AllReduce(void *buf, int count, CommDataType dt, enum ReduceOperator pOp) final
void v_Finalise() override
void v_Irecv(void *buf, int count, CommDataType dt, int source, CommRequestSharedPtr request, int loc) final
void v_Irsend(void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc) final
void v_Gather(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root) final
static std::string className
Name of class.
void v_RecvInit(void *buf, int count, CommDataType dt, int source, CommRequestSharedPtr request, int loc) final
static CommSharedPtr create(int narg, char *arg[])
Creates an instance of this class.
void v_Isend(void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc) final
void v_AlltoAllv(void *sendbuf, int sendcounts[], int sensdispls[], CommDataType sendtype, void *recvbuf, int recvcounts[], int rdispls[], CommDataType recvtype) final
bool v_TreatAsRankZero() final
void v_Send(void *buf, int count, CommDataType dt, int dest) final
void v_SplitComm(int pRows, int pColumns, int pTime) override
void v_Scatter(void *sendbuf, int sendcount, CommDataType sendtype, void *recvbuf, int recvcount, CommDataType recvtype, int root) final
std::tuple< int, int, int > v_GetVersion() final
void v_SendInit(void *buf, int count, CommDataType dt, int dest, CommRequestSharedPtr request, int loc) final
Class for communicator request type.
Class for communicator request type.
CommRequestMpi(int num)
Creates an instance of this class.
MPI_Request * GetRequest(int i)
Array< OneD, MPI_Request > m_request
~CommRequestMpi() final=default
Default destructor.
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
unsigned int CommDataType
std::shared_ptr< CommMpi > CommMpiSharedPtr
Pointer to a Communicator object.
std::shared_ptr< CommRequest > CommRequestSharedPtr
std::shared_ptr< CommRequestMpi > CommRequestMpiSharedPtr
ReduceOperator
Type of operation to perform in AllReduce.
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.