Handling Non-continguous Views¶
-
template<KokkosView View>
struct DeepCopy¶ Use Kokkos::deep_copy to translate between non-contiguous and contiguous data.
-
type non_const_packed_view_type¶
-
template<typename ExecSpace>
static args_type allocate_packed_for(const ExecSpace &space, const std::string &label, const View &src)¶ - Returns:
Return an MpiArgs suitable to hold packed data for
src
.
Allocates a contiguous Kokkos::View large enough to hold all the data in
src
.
-
template<typename ExecSpace>
static args_type pack(const ExecSpace &space, const View &src)¶ Uses allocate_packed_for and Kokkos::deep_copy to return a packed view of the data in
src
.
-
template<typename ExecSpace>
static void unpack_into(const ExecSpace &space, const View &dst, const non_const_packed_view_type &src)¶ - Parameters:
space – The execution space to operate in.
src – A Kokkos::View produced by allocate_packed_for.
dst – A corresponding unpacked Kokkos::View.
Uses Kokkos::deep_copy to fill
dst
with an unpacked view of the data insrc
.
-
type non_const_packed_view_type¶
-
template<KokkosView View>
struct MpiDatatype¶ Use the MPI Datatype engine to handle non-continguous data
-
type non_const_packed_view_type¶
-
template<typename ExecSpace>
static args_type allocate_packed_for(const ExecSpace &space, const std::string &label, const View &src)¶ - Returns:
Return an MpiArgs suitable to hold packed data for
src
.
Return an MpiArgs holding the
src
, an MPI_Datatype describing the possibly-non-contiguous data in that Kokkos::View, and a count = 1.
-
template<typename ExecSpace>
static void unpack_into(const ExecSpace &space, const View &dst, const non_const_packed_view_type &src)¶
-
type non_const_packed_view_type¶