1919#include " KokkosComm_collective.hpp"
2020#include " KokkosComm_version.hpp"
2121#include " KokkosComm_isend.hpp"
22+ #include " KokkosComm_irecv.hpp"
2223#include " KokkosComm_recv.hpp"
2324#include " KokkosComm_send.hpp"
25+ #include " KokkosComm_alltoall.hpp"
2426#include " KokkosComm_concepts.hpp"
2527#include " KokkosComm_comm_mode.hpp"
2628
@@ -33,14 +35,25 @@ Req isend(const ExecSpace &space, const SendView &sv, int dest, int tag, MPI_Com
3335 return Impl::isend<SendMode>(space, sv, dest, tag, comm);
3436}
3537
38+ template <KokkosView RecvView>
39+ void irecv (RecvView &rv, int src, int tag, MPI_Comm comm, MPI_Request req) {
40+ return Impl::irecv (rv, src, tag, comm, req);
41+ }
42+
3643template <CommMode SendMode = CommMode::Default, KokkosExecutionSpace ExecSpace, KokkosView SendView>
3744void send (const ExecSpace &space, const SendView &sv, int dest, int tag, MPI_Comm comm) {
3845 return Impl::send<SendMode>(space, sv, dest, tag, comm);
3946}
4047
4148template <KokkosExecutionSpace ExecSpace, KokkosView RecvView>
42- void recv (const ExecSpace &space, RecvView &sv, int src, int tag, MPI_Comm comm) {
43- return Impl::recv (space, sv, src, tag, comm);
49+ void recv (const ExecSpace &space, RecvView &rv, int src, int tag, MPI_Comm comm) {
50+ return Impl::recv (space, rv, src, tag, comm);
51+ }
52+
53+ template <KokkosExecutionSpace ExecSpace, KokkosView SendView, KokkosView RecvView>
54+ void alltoall (const ExecSpace &space, const SendView &sv, const size_t sendCount, const RecvView &rv,
55+ const size_t recvCount, MPI_Comm comm) {
56+ return Impl::alltoall (space, sv, sendCount, rv, recvCount, comm);
4457}
4558
4659} // namespace KokkosComm
0 commit comments