42 #ifndef TPETRA_DETAILS_PACKCRSMATRIX_DECL_HPP
43 #define TPETRA_DETAILS_PACKCRSMATRIX_DECL_HPP
45 #include "TpetraCore_config.h"
46 #include "Kokkos_DualView.hpp"
72 #ifndef DOXYGEN_SHOULD_SKIP_THIS
75 template<
class T>
class Array;
77 template<
class T>
class ArrayView;
79 #endif // DOXYGEN_SHOULD_SKIP_THIS
83 #ifndef DOXYGEN_SHOULD_SKIP_THIS
86 #endif // DOXYGEN_SHOULD_SKIP_THIS
126 template<
typename ST,
typename LO,
typename GO,
typename NT>
128 packCrsMatrix (
const CrsMatrix<ST, LO, GO, NT>& sourceMatrix,
129 Teuchos::Array<char>& exports,
130 const Teuchos::ArrayView<size_t>& numPacketsPerLID,
131 const Teuchos::ArrayView<const LO>& exportLIDs,
132 size_t& constantNumPackets,
133 Distributor& distor);
166 template<
typename ST,
typename LO,
typename GO,
typename NT>
169 Kokkos::DualView<
char*,
171 const Kokkos::DualView<
size_t*,
173 const Kokkos::DualView<
const LO*,
175 size_t& constantNumPackets,
176 Distributor& distor);
211 template<
typename ST,
typename LO,
typename GO,
typename NT>
215 const Teuchos::ArrayView<size_t>& numPacketsPerLID,
216 const Teuchos::ArrayView<const LO>& exportLIDs,
217 const Teuchos::ArrayView<const int>& sourcePIDs,
218 size_t& constantNumPackets,
219 Distributor& distor);
224 #endif // TPETRA_DETAILS_PACKCRSMATRIX_DECL_HPP
void packCrsMatrixWithOwningPIDs(const CrsMatrix< ST, LO, GO, NT > &sourceMatrix, Kokkos::DualView< char *, typename DistObject< char, LO, GO, NT >::buffer_device_type > &exports_dv, const Teuchos::ArrayView< size_t > &numPacketsPerLID, const Teuchos::ArrayView< const LO > &exportLIDs, const Teuchos::ArrayView< const int > &sourcePIDs, size_t &constantNumPackets, Distributor &distor)
Pack specified entries of the given local sparse matrix for communication.
void packCrsMatrixNew(const CrsMatrix< ST, LO, GO, NT > &sourceMatrix, Kokkos::DualView< char *, typename DistObject< char, LO, GO, NT >::buffer_device_type > &exports, const Kokkos::DualView< size_t *, typename DistObject< char, LO, GO, NT >::buffer_device_type > &numPacketsPerLID, const Kokkos::DualView< const LO *, typename DistObject< char, LO, GO, NT >::buffer_device_type > &exportLIDs, size_t &constantNumPackets, Distributor &distor)
Pack specified entries of the given local sparse matrix for communication, for "new" DistObject inter...
void packCrsMatrix(const CrsMatrix< ST, LO, GO, NT > &sourceMatrix, Teuchos::Array< char > &exports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, const Teuchos::ArrayView< const LO > &exportLIDs, size_t &constantNumPackets, Distributor &distor)
Pack specified entries of the given local sparse matrix for communication.
Forward declaration of Tpetra::CrsMatrix.
Declaration of the Tpetra::DistObject class.
Kokkos::Device< typename device_type::execution_space, buffer_memory_space > buffer_device_type