Class MPIManagerKokkos

Inheritance Relationships

Base Type

  • public MPIManager

Class Documentation

class MPIManagerKokkos : public MPIManager

MPI operation class for Lightning Kokkos. Maintains MPI related operations.

Public Functions

inline MPIManagerKokkos(MPI_Comm communicator = MPI_COMM_WORLD)
inline MPIManagerKokkos(int argc, char **argv)
template<typename T>
inline void Sendrecv(Kokkos::View<T*> &sendBuf, std::size_t dest, Kokkos::View<T*> &recvBuf, std::size_t source, std::size_t size, std::size_t tag = 0)

MPI_Sendrecv wrapper for Kokkos::Views.

Template Parameters

T – C++ data type.

Parameters
  • sendBuf – Send buffer Kokkos::View.

  • dest – Rank of destination.

  • recvBuf – Receive buffer Kokkos::View.

  • source – Rank of source.

  • size – Number of elements of the data to send/receive.

  • tag – Tag for the MPI message.

template<typename T>
inline void AllGatherV(Kokkos::View<T*> &sendBuf, Kokkos::View<T*> &recvBuf, std::vector<int> &recvCounts, std::vector<int> &displacements)

MPI_AllGatherV wrapper for Kokkos::Views.

Template Parameters

T – C++ data type.

Parameters
  • sendBuf – Send buffer Kokkos::View.

  • recvBuf – Receive buffer Kokkos::View.

  • recvCounts – Number of elements received from each rank.

  • displacements – Elements shifted from each rank for gather.

template<typename T>
inline void Bcast(Kokkos::View<T*> &sendBuf, std::size_t root)

MPI_Bcast wrapper for Kokkos::Views.

Template Parameters

T – C++ data type.

Parameters
  • sendBuf – Send buffer Kokkos::View.

  • root – Rank of broadcast root.