deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
portable_tensor_product_kernels.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/memory_space.h>
#include <deal.II/base/utilities.h>
#include <Kokkos_Core.hpp>

Go to the source code of this file.

Classes

struct  Portable::internal::EvaluatorTensorProduct< variant, dim, n_rows, n_columns, Number, ShapeDataMemorySpace >
 
struct  Portable::internal::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number, ShapeDataMemorySpace >
 
struct  Portable::internal::batched::EvaluatorTensorProduct< variant, dim, n_rows, n_columns, Number >
 
struct  Portable::internal::batched::EvaluatorTensorProduct< evaluate_general, dim, n_rows, n_columns, Number >
 

Namespaces

namespace  Portable
 
namespace  Portable::internal
 
namespace  Portable::internal::batched
 

Enumerations

enum  Portable::internal::EvaluatorVariant { Portable::internal::evaluate_general , Portable::internal::evaluate_symmetric , Portable::internal::evaluate_evenodd }
 

Functions

template<bool add, typename ViewTypeIn , typename ViewTypeOut >
void Portable::internal::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 dim, int n_rows, int n_columns, typename Number , typename ShapeDataMemorySpace , int direction, bool contract_over_rows, bool add, typename ViewTypeIn , typename ViewTypeOut >
void Portable::internal::apply (const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &team_member, const Kokkos::View< Number *, ShapeDataMemorySpace > shape_data, const ViewTypeIn in, ViewTypeOut out)
 
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)
 
template<int n_rows, int n_columns, bool contract_over_rows, bool add, typename TypeMatrix , typename TypeIn , typename TypeOut >
void Portable::internal::batched::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 Portable::internal::batched::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 Portable::internal::batched::populate_view (const Kokkos::TeamPolicy< MemorySpace::Default::kokkos_space::execution_space >::member_type &team_member, ViewTypeOut dst, const ViewTypeIn src, const int N)