|
| template<int n_rows, int n_columns, bool contract_over_rows, bool add, int stride_in, int stride_out, typename TypeMatrix , typename TypeIn , typename TypeOut > |
| void | apply_matrix_vector_product (const TypeMatrix matrix, const TypeIn in, TypeOut out) |
| |
| template<int n_rows, int n_columns, bool contract_over_rows, bool add, typename TypeMatrix , typename TypeIn , typename TypeOut > |
| void | apply_matrix_vector_product (const TypeMatrix matrix, const TypeIn in, TypeOut out, const int stride_in, const int stride_out) |
| |
| template<int dim, int direction, int n_rows, int n_columns, bool contract_over_rows, bool add, typename ViewTypeMatrix , typename ViewTypeIn , typename ViewTypeOut , typename = std::enable_if_t<Kokkos::is_view<ViewTypeOut>::value>> |
| void | apply (const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &team_member, const ViewTypeMatrix shape_data, const ViewTypeIn in, ViewTypeOut out, const int batch_size=1) |
| |
| template<bool add, typename ViewTypeOut , typename ViewTypeIn , typename = std::enable_if_t<Kokkos::is_view<ViewTypeOut>::value>> |
| void | populate_view (const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &team_member, ViewTypeOut dst, const ViewTypeIn src, const int N) |
| |
template<
int n_rows,
int n_columns,
bool contract_over_rows,
bool add,
int stride_in,
int stride_out, typename TypeMatrix , typename TypeIn , typename TypeOut >
| void Portable::internal::batched::apply_matrix_vector_product |
( |
const TypeMatrix |
matrix, |
|
|
const TypeIn |
in, |
|
|
TypeOut |
out |
|
) |
| |
|
inline |
One-dimensional kernel for use by the generic tensor product interpolation as provided by the class batched::EvaluatorTensorProduct, implementing a matrix-vector product along this dimension, controlled by the number of rows and columns and the stride in the input and output arrays, which are embedded into some lexicographic ordering of unknowns in a tensor-product arrangement.
TypeMatrix, TypeIn and TypeOut can be any 1-dimensional array type compatible with execution on device, including Kokkos::View and raw pointer arrays.
Definition at line 693 of file portable_tensor_product_kernels.h.