libMesh
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions | Variables
kokkos_linalg_base.h File Reference

Go to the source code of this file.

Classes

struct  libMesh::Kokkos::is_vector_like< T >
 Opt-in trait marking the types the generic vector operations in kokkos_vector_ops.h (and their SFINAE constraints) accept, all of which expose components as v(i): specialized below for the libMesh owning vector types and vector_ref. More...
 
struct  libMesh::Kokkos::is_tensor_like< T >
 Opt-in trait marking the types the generic tensor operations in kokkos_tensor_ops.h accept, all of which expose components as T(i,j): specialized below for the libMesh owning tensor types and tensor_ref. More...
 
struct  libMesh::Kokkos::is_vector_ref< T >
 Type trait satisfied only by vector_ref instantiations. More...
 
struct  libMesh::Kokkos::is_tensor_ref< T >
 Type trait satisfied only by tensor_ref instantiations; the tensor-ref analogue of is_vector_ref. More...
 
class  libMesh::Kokkos::vector_ref< ViewType >
 Non-owning handle to one vector entry of a Kokkos storage view. More...
 
class  libMesh::Kokkos::tensor_ref< ViewType >
 Non-owning handle to one tensor entry of a Kokkos storage view. More...
 
struct  libMesh::Kokkos::vector_traits< libMesh::TypeVector< T > >
 
struct  libMesh::Kokkos::vector_traits< libMesh::VectorValue< T > >
 
struct  libMesh::Kokkos::vector_traits< libMesh::Point >
 
struct  libMesh::Kokkos::vector_traits< vector_ref< ViewType > >
 
struct  libMesh::Kokkos::is_vector_like< libMesh::TypeVector< T > >
 
struct  libMesh::Kokkos::is_vector_like< libMesh::VectorValue< T > >
 
struct  libMesh::Kokkos::is_vector_like< libMesh::Point >
 
struct  libMesh::Kokkos::is_vector_like< vector_ref< ViewType > >
 
struct  libMesh::Kokkos::is_vector_ref< vector_ref< ViewType > >
 
struct  libMesh::Kokkos::tensor_traits< libMesh::TypeTensor< T > >
 
struct  libMesh::Kokkos::tensor_traits< libMesh::TensorValue< T > >
 
struct  libMesh::Kokkos::tensor_traits< tensor_ref< ViewType > >
 
struct  libMesh::Kokkos::is_tensor_like< libMesh::TypeTensor< T > >
 
struct  libMesh::Kokkos::is_tensor_like< libMesh::TensorValue< T > >
 
struct  libMesh::Kokkos::is_tensor_like< tensor_ref< ViewType > >
 
struct  libMesh::Kokkos::is_tensor_ref< tensor_ref< ViewType > >
 

Namespaces

namespace  libMesh
 The libMesh namespace provides an interface to certain functionality in the library.
 
namespace  libMesh::Kokkos
 
namespace  libMesh::Kokkos::detail
 

Typedefs

template<typename T >
using libMesh::Kokkos::detail::remove_cvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
 Strips reference and const/volatile qualifiers from T, turning e.g.
 
template<typename ViewType >
using libMesh::Kokkos::detail::vector_view_value_t = remove_cvref_t< decltype(std::declval< ViewType & >()(0, 0))>
 The plain component type stored by a vector view.
 
template<typename ViewType >
using libMesh::Kokkos::detail::tensor_view_value_t = remove_cvref_t< decltype(std::declval< ViewType & >()(0, 0, 0))>
 The plain component type stored by a tensor view, recovered from an (entry, row, column) indexing expression the same way vector_view_value_t is from its (entry, component) expression.
 
template<typename T >
using libMesh::Kokkos::vector_semantic_type_t = typename vector_traits< detail::remove_cvref_t< T > >::semantic_type
 The owning libMesh type a vector-like T materializes to, with any cv/reference qualification on T stripped first.
 
template<typename T >
using libMesh::Kokkos::tensor_semantic_type_t = typename tensor_traits< detail::remove_cvref_t< T > >::semantic_type
 The owning libMesh type a tensor-like T materializes to, with any cv/reference qualification on T stripped first.
 

Functions

template<typename ViewType >
LIBMESH_DEVICE_INLINE vector_ref< typename std::remove_reference< ViewType >::type > libMesh::Kokkos::make_vector_ref (ViewType &&view, const unsigned int index)
 
template<typename ViewType >
LIBMESH_DEVICE_INLINE tensor_ref< typename std::remove_reference< ViewType >::type > libMesh::Kokkos::make_tensor_ref (ViewType &&view, const unsigned int index)
 
template<typename OutputVector , typename VectorLike >
LIBMESH_DEVICE_INLINE OutputVector libMesh::Kokkos::materialize_vector (const VectorLike &v)
 
template<typename OutputTensor , typename TensorLike >
LIBMESH_DEVICE_INLINE OutputTensor libMesh::Kokkos::materialize_tensor (const TensorLike &T_in)
 

Variables

template<typename T >
constexpr bool libMesh::Kokkos::is_vector_like_v = is_vector_like<detail::remove_cvref_t<T>>::value
 Variable template shorthands for the traits above.
 
template<typename T >
constexpr bool libMesh::Kokkos::is_tensor_like_v = is_tensor_like<detail::remove_cvref_t<T>>::value
 
template<typename T >
constexpr bool libMesh::Kokkos::is_vector_ref_v = is_vector_ref<detail::remove_cvref_t<T>>::value
 
template<typename T >
constexpr bool libMesh::Kokkos::is_tensor_ref_v = is_tensor_ref<detail::remove_cvref_t<T>>::value