26#ifndef dftefeMPIWrapper_h
27#define dftefeMPIWrapper_h
40 template <
typename MPIDatatype>
51 template <MemorySpace memorySpace>
60 template <MemorySpace memorySpace>
70 template <MemorySpace memorySpace>
76 const int * recvcounts,
86 template <MemorySpace memorySpace>
129 MPIInit(
int *argc,
char ***argv);
132 MPIInitThread(
int *argc,
char ***argv,
int required,
int *provided);
152 template <MemorySpace memorySpace>
162 template <MemorySpace memorySpace>
172 template <MemorySpace memorySpace>
188 template <MemorySpace memorySpace>
201 template <MemorySpace memorySpace>
210 template <MemorySpace memorySpace>
225 template <MemorySpace memorySpace>
235 template <MemorySpace memorySpace>
285 std::pair<bool, std::string>
288 template <
typename T, MemorySpace memorySpace>
int MPISendrecv(const void *sendbuf, int sendcount, MPIDatatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPIDatatype recvtype, int source, int recvtag, MPIComm comm, MPIStatus *status)
Definition: MPIWrapper.t.cpp:536
int MPIGroupTranslateRanks(MPIGroup group1, int n, const int ranks1[], MPIGroup group2, int ranks2[])
Definition: MPIWrapper.cpp:343
int MPIErrorString(int errorcode, char *string, int *resultlen)
Definition: MPIWrapper.cpp:479
int MPISsend(const void *buf, int count, MPIDatatype datatype, int dest, int tag, MPIComm comm)
Definition: MPIWrapper.t.cpp:573
int MPIRecv(void *buf, int count, MPIDatatype datatype, int source, int tag, MPIComm comm, MPIStatus *status)
Definition: MPIWrapper.t.cpp:486
int MPITypeContiguous(int count, MPIDatatype oldtype, MPIDatatype *newtype)
Definition: MPIWrapper.cpp:259
int MPIAllgatherv(const void *sendbuf, int sendcount, MPIDatatype sendtype, void *recvbuf, const int *recvcounts, const int *displs, MPIDatatype recvtype, MPIComm comm)
Definition: MPIWrapper.t.cpp:438
int MPIFinalized(int *flag)
Definition: MPIWrapper.cpp:494
int MPITest(MPIRequest *request, int *flag, MPIStatus *status)
Definition: MPIWrapper.cpp:376
int MPITypeVector(int count, int blocklength, int stride, MPIDatatype oldtype, MPIDatatype *newtype)
Definition: MPIWrapper.cpp:448
int MPICommRank(MPIComm comm, int *rank)
Definition: MPIWrapper.cpp:302
int MPITypeCommit(MPIDatatype *datatype)
Definition: MPIWrapper.cpp:430
int MPIGroupUnion(MPIGroup group1, MPIGroup group2, MPIGroup *newgroup)
int MPIDatatype
Definition: MPITypes.h:83
int MPIAllreduce(const void *sendbuf, void *recvbuf, int count, MPIDatatype datatype, MPIOp op, MPIComm comm)
Definition: MPIWrapper.t.cpp:401
void(void *, void *, int *, MPIDatatype *) MPIUserFunction
Definition: MPITypes.h:90
int MPITestall(int count, MPIRequest *requests, int *flag, MPIStatus *statuses)
Definition: MPIWrapper.cpp:383
std::pair< bool, std::string > MPIErrIsSuccessAndMsg(int errCode)
Definition: MPIWrapper.cpp:521
int MPIComm
Definition: MPITypes.h:84
int MPIBcast(void *buffer, int count, MPIDatatype datatype, int root, MPIComm comm)
Definition: MPIWrapper.t.cpp:459
int MPIGroupFree(MPIGroup *group)
Definition: MPIWrapper.cpp:316
int MPIIsend(const void *buf, int count, MPIDatatype datatype, int dest, int tag, MPIComm comm, MPIRequest *request)
Definition: MPIWrapper.t.cpp:557
int MPIIprobe(int source, int tag, MPIComm comm, int *flag, MPIStatus *status)
Definition: MPIWrapper.cpp:369
int MPIStatus
Definition: MPITypes.h:86
int MPICommSize(MPIComm comm, int *size)
Definition: MPIWrapper.cpp:309
int MPIWait(MPIRequest *request, MPIStatus *status)
Definition: MPIWrapper.cpp:461
int MPICommGroup(MPIComm comm, MPIGroup *group)
Definition: MPIWrapper.cpp:296
int MPIFinalize(void)
Definition: MPIWrapper.cpp:488
int MPIGroupIncl(MPIGroup group, int n, const int ranks[], MPIGroup *newgroup)
Definition: MPIWrapper.cpp:325
int MPIWaitall(int count, MPIRequest requests[], MPIStatus statuses[])
Definition: MPIWrapper.cpp:470
int MPIInit(int *argc, char ***argv)
Definition: MPIWrapper.cpp:356
int MPIOp
Definition: MPITypes.h:88
bool MPIErrIsSuccess(int errCode)
Definition: MPIWrapper.cpp:507
int MPICommCreateGroup(MPIComm comm, MPIGroup group, int tag, MPIComm *newcomm)
Definition: MPIWrapper.cpp:281
int MPIInitThread(int *argc, char ***argv, int required, int *provided)
Definition: MPIWrapper.cpp:393
int MPIOpCreate(MPIUserFunction *user_fn, int commute, MPIOp *op)
Definition: MPIWrapper.cpp:401
int MPIGroup
Definition: MPITypes.h:87
MinMaxAvg< T > MPIAllreduceMinMaxAvg(const T &data, MPIComm comm)
Definition: MPIWrapper.t.cpp:604
int MPIAllgather(const void *sendbuf, int sendcount, MPIDatatype sendtype, void *recvbuf, int recvcount, MPIDatatype recvtype, MPIComm comm)
Definition: MPIWrapper.t.cpp:418
int MPIRequest
Definition: MPITypes.h:85
int MPITypeFree(MPIDatatype *datatype)
Definition: MPIWrapper.cpp:439
unsigned int thisMPIProcess(const MPIComm mpi_communicator)
Definition: MPIWrapper.cpp:541
int MPISend(const void *buf, int count, MPIDatatype datatype, int dest, int tag, MPIComm comm)
Definition: MPIWrapper.t.cpp:521
unsigned int numMPIProcesses(const MPIComm mpi_communicator)
Definition: MPIWrapper.cpp:529
int MPIInitialized(int *flag)
Definition: MPIWrapper.cpp:362
int MPIOpFree(MPIOp *op)
Definition: MPIWrapper.cpp:410
int MPIIssend(const void *buf, int count, MPIDatatype datatype, int dest, int tag, MPIComm comm, MPIRequest *request)
Definition: MPIWrapper.t.cpp:588
int MPIIbarrier(MPIComm comm, MPIRequest *request)
Definition: MPIWrapper.cpp:274
std::string MPIErrMsg(int errCode)
Definition: MPIWrapper.cpp:513
int MPIIrecv(void *buf, int count, MPIDatatype datatype, int source, int tag, MPIComm comm, MPIRequest *request)
Definition: MPIWrapper.t.cpp:470
int MPIBarrier(MPIComm comm)
Definition: MPIWrapper.cpp:268
int MPICommFree(MPIComm *comm)
Definition: MPIWrapper.cpp:290
int MPIRequestFree(MPIRequest *request)
Definition: MPIWrapper.cpp:420
int MPIReduce(void *sendbuf, void *recvbuf, int count, MPIDatatype datatype, MPIOp op, int root, MPIComm comm)
Definition: MPIWrapper.t.cpp:503
double MPIWtime(void)
Definition: MPIWrapper.cpp:501
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
Definition: MPIWrapper.h:42
MPIDatatype max
Definition: MPIWrapper.h:44
MPIDatatype avg
Definition: MPIWrapper.h:45
MPIDatatype min
Definition: MPIWrapper.h:43