10 #ifndef TPETRA_MATRIX_APPLY_HELPER_HPP
11 #define TPETRA_MATRIX_APPLY_HELPER_HPP
13 #include "Kokkos_Core.hpp"
14 #include "KokkosSparse_spmv_handle.hpp"
15 #include "Tpetra_Details_IntRowPtrHelper.hpp"
27 template<
typename LocalMatrix,
typename IntLocalMatrix,
typename MultiVectorLocalView>
32 using XVectorType =
typename MultiVectorLocalView::const_type;
33 using YVectorType = MultiVectorLocalView;
34 using SPMVHandle = KokkosSparse::SPMVHandle<typename LocalMatrix::device_type, LocalMatrix, XVectorType, YVectorType>;
35 using SPMVHandleInt = KokkosSparse::SPMVHandle<typename LocalMatrix::device_type, IntLocalMatrix, XVectorType, YVectorType>;
37 MatrixApplyHelper(
size_t nnz,
const typename LocalMatrix::row_map_type& rowptrs, KokkosSparse::SPMVAlgorithm algo = KokkosSparse::SPMV_DEFAULT)
44 SPMVHandleInt handle_int;
49 #endif // TPETRA_MATRIX_APPLY_HELPER_HPP