47 ReturnType _ret(
int r)
49 return (ReturnType)(r);
54 ReturnType broadcast(
void* buffer,
int count, MPI_Datatype datatype,
int root, MPI_Comm comm)
final
56 return _ret(MPI_Bcast(buffer, count, datatype, root, comm));
59 ReturnType gather(
const void* sendbuf,
int sendcount, MPI_Datatype sendtype,
void* recvbuf,
60 int recvcount, MPI_Datatype recvtype,
int root, MPI_Comm comm)
final
62 return _ret(MPI_Gather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm));
65 ReturnType gatherVariable(
const void* sendbuf,
int sendcount, MPI_Datatype sendtype,
void* recvbuf,
66 const int* recvcounts,
const int* displs, MPI_Datatype recvtype,
int root, MPI_Comm comm)
final
68 return _ret(MPI_Gatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm));
71 ReturnType allGather(
const void* sendbuf,
int sendcount, MPI_Datatype sendtype,
void* recvbuf,
72 int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
final
74 return _ret(MPI_Allgather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm));
77 ReturnType allGatherVariable(
const void* sendbuf,
int sendcount, MPI_Datatype sendtype,
void* recvbuf,
78 const int* recvcounts,
const int* displs, MPI_Datatype recvtype, MPI_Comm comm)
final
80 return _ret(MPI_Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm));
83 ReturnType scatterVariable(
const void* sendbuf,
const int* sendcounts,
const int* displs,
84 MPI_Datatype sendtype,
void* recvbuf,
int recvcount, MPI_Datatype recvtype,
85 int root, MPI_Comm comm)
final
87 return _ret(MPI_Scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf, recvcount, recvtype, root, comm));
90 ReturnType allToAll(
const void* sendbuf,
int sendcount, MPI_Datatype sendtype,
void* recvbuf,
91 int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
final
93 return _ret(MPI_Alltoall(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm));
96 ReturnType allToAllVariable(
const void* sendbuf,
const int* sendcounts,
const int* sdispls,
97 MPI_Datatype sendtype,
void* recvbuf,
const int* recvcounts,
98 const int* rdispls, MPI_Datatype recvtype, MPI_Comm comm)
final
100 return _ret(MPI_Alltoallv(sendbuf, sendcounts, sdispls, sendtype, recvbuf, recvcounts, rdispls, recvtype, comm));
103 ReturnType barrier(MPI_Comm comm)
final
105 return _ret(MPI_Barrier(comm));
108 ReturnType reduce(
const void* sendbuf,
void* recvbuf,
int count, MPI_Datatype datatype,
109 MPI_Op op,
int root, MPI_Comm comm)
final
111 return _ret(MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm));
114 ReturnType allReduce(
const void* sendbuf,
void* recvbuf,
int count, MPI_Datatype datatype,
115 MPI_Op op, MPI_Comm comm)
final
117 return _ret(MPI_Allreduce(sendbuf, recvbuf, count, datatype, op, comm));
120 ReturnType scan(
const void* sendbuf,
void* recvbuf,
int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
final
122 return _ret(MPI_Scan(sendbuf, recvbuf, count, datatype, op, comm));
125 ReturnType sendRecv(
const void* sendbuf,
int sendcount, MPI_Datatype sendtype,
int dest,
126 int sendtag,
void* recvbuf,
int recvcount, MPI_Datatype recvtype,
127 int source,
int recvtag, MPI_Comm comm, MPI_Status* status)
final
129 return _ret(MPI_Sendrecv(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype,
130 source, recvtag, comm, status));
133 ReturnType iSend(
const void* buf,
int count, MPI_Datatype datatype,
int dest,
int tag,
134 MPI_Comm comm, MPI_Request* request)
final
136 return _ret(MPI_Isend(buf, count, datatype, dest, tag, comm, request));
139 ReturnType send(
const void* buf,
int count, MPI_Datatype datatype,
int dest,
int tag, MPI_Comm comm)
final
141 return _ret(MPI_Send(buf, count, datatype, dest, tag, comm));
144 ReturnType iRecv(
void* buf,
int count, MPI_Datatype datatype,
int source,
int tag,
145 MPI_Comm comm, MPI_Request* request)
final
147 return _ret(MPI_Irecv(buf, count, datatype, source, tag, comm, request));
150 ReturnType recv(
void* buf,
int count, MPI_Datatype datatype,
int source,
int tag, MPI_Comm comm, MPI_Status* status)
final
152 return _ret(MPI_Recv(buf, count, datatype, source, tag, comm, status));
155 ReturnType test(MPI_Request* request,
int* flag, MPI_Status* status)
final
157 return _ret(MPI_Test(request, flag, status));
160 ReturnType probe(
int source,
int tag, MPI_Comm comm, MPI_Status* status)
final
162 return _ret(MPI_Probe(source, tag, comm, status));
165 ReturnType getCount(
const MPI_Status* status, MPI_Datatype datatype,
int* count)
final
167 return _ret(MPI_Get_count(status, datatype, count));
170 ReturnType wait(MPI_Request* request, MPI_Status* status)
final
172 return _ret(MPI_Wait(request, status));
175 ReturnType waitAll(
int count, MPI_Request* array_of_requests, MPI_Status* array_of_statuses)
final
177 return _ret(MPI_Waitall(count, array_of_requests, array_of_statuses));
180 ReturnType testSome(
int incount, MPI_Request* array_of_requests,
int* outcount,
181 int* array_of_indices, MPI_Status* array_of_statuses)
final
183 return _ret(MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses));
186 ReturnType waitSome(
int incount, MPI_Request* array_of_requests,
int* outcount,
187 int* array_of_indices, MPI_Status* array_of_statuses)
final
189 return _ret(MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses));