10#ifndef TPETRA_DETAILS_PACKCRSMATRIX_DECL_HPP
11#define TPETRA_DETAILS_PACKCRSMATRIX_DECL_HPP
13#include "TpetraCore_config.h"
14#include "Kokkos_DualView.hpp"
40#ifndef DOXYGEN_SHOULD_SKIP_THIS
89template <
typename ST,
typename LO,
typename GO,
typename NT>
90void packCrsMatrix(
const CrsMatrix<ST, LO, GO, NT>& sourceMatrix,
91 Teuchos::Array<char>& exports,
92 const Teuchos::ArrayView<size_t>& numPacketsPerLID,
93 const Teuchos::ArrayView<const LO>& exportLIDs,
94 size_t& constantNumPackets);
125template <
typename ST,
typename LO,
typename GO,
typename NT>
127 Kokkos::DualView<
char*,
128 typename DistObject<char, LO, GO, NT>::buffer_device_type>& exports,
129 const Kokkos::DualView<
size_t*,
130 typename DistObject<char, LO, GO, NT>::buffer_device_type>& numPacketsPerLID,
131 const Kokkos::DualView<
const LO*,
132 typename DistObject<char, LO, GO, NT>::buffer_device_type>& exportLIDs,
133 size_t& constantNumPackets);
166template <
typename ST,
typename LO,
typename GO,
typename NT>
168 Kokkos::DualView<
char*,
typename DistObject<char, LO, GO, NT>::buffer_device_type>& exports_dv,
169 const Teuchos::ArrayView<size_t>& numPacketsPerLID,
170 const Teuchos::ArrayView<const LO>& exportLIDs,
171 const Teuchos::ArrayView<const int>& sourcePIDs,
172 size_t& constantNumPackets);
Forward declaration of Tpetra::CrsMatrix.
Declaration of the Tpetra::DistObject class.
Implementation details of Tpetra.
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)
Pack specified entries of the given local sparse matrix for communication.
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)
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)
Pack specified entries of the given local sparse matrix for communication, for "new" DistObject inter...
Namespace Tpetra contains the class and methods constituting the Tpetra library.