libMesh
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
libMesh::Kokkos::static_dim_storage_policy< Scalar, Layout > Struct Template Reference

Storage policy describing Kokkos views that hold runtime-many vectors or tensors whose per-entry dimensions are fixed at LIBMESH_DIM. More...

#include <kokkos_storage_policy.h>

Public Types

using scalar_type = Scalar
 
using layout_type = Layout
 
using vector_view = ::Kokkos::View< scalar_type *[LIBMESH_DIM], layout_type >
 View type holding n vectors: the runtime extent indexes the entry, the static LIBMESH_DIM extent indexes the component.
 
using tensor_view = ::Kokkos::View< scalar_type *[LIBMESH_DIM][LIBMESH_DIM], layout_type >
 View type holding n tensors: the runtime extent indexes the entry, the static LIBMESH_DIM x LIBMESH_DIM extents index the components.
 

Static Public Member Functions

static constexpr const char * name ()
 

Detailed Description

template<typename Scalar, typename Layout>
struct libMesh::Kokkos::static_dim_storage_policy< Scalar, Layout >

Storage policy describing Kokkos views that hold runtime-many vectors or tensors whose per-entry dimensions are fixed at LIBMESH_DIM.

Template Parameters
ScalarThe component type stored in the views.
LayoutThe Kokkos memory layout (e.g. Kokkos::LayoutLeft or Kokkos::LayoutRight) used to order components in memory.

Definition at line 55 of file kokkos_storage_policy.h.

Member Typedef Documentation

◆ layout_type

template<typename Scalar , typename Layout >
using libMesh::Kokkos::static_dim_storage_policy< Scalar, Layout >::layout_type = Layout

Definition at line 58 of file kokkos_storage_policy.h.

◆ scalar_type

template<typename Scalar , typename Layout >
using libMesh::Kokkos::static_dim_storage_policy< Scalar, Layout >::scalar_type = Scalar

Definition at line 57 of file kokkos_storage_policy.h.

◆ tensor_view

template<typename Scalar , typename Layout >
using libMesh::Kokkos::static_dim_storage_policy< Scalar, Layout >::tensor_view = ::Kokkos::View<scalar_type * [LIBMESH_DIM][LIBMESH_DIM], layout_type>

View type holding n tensors: the runtime extent indexes the entry, the static LIBMESH_DIM x LIBMESH_DIM extents index the components.

Definition at line 71 of file kokkos_storage_policy.h.

◆ vector_view

template<typename Scalar , typename Layout >
using libMesh::Kokkos::static_dim_storage_policy< Scalar, Layout >::vector_view = ::Kokkos::View<scalar_type * [LIBMESH_DIM], layout_type>

View type holding n vectors: the runtime extent indexes the entry, the static LIBMESH_DIM extent indexes the component.

Definition at line 64 of file kokkos_storage_policy.h.

Member Function Documentation

◆ name()

template<typename Scalar , typename Layout >
static constexpr const char * libMesh::Kokkos::static_dim_storage_policy< Scalar, Layout >::name ( )
inlinestaticconstexpr
Returns
A short human-readable name for the policy's layout, suitable for labeling tests or output.

Definition at line 78 of file kokkos_storage_policy.h.

79 {
80 return std::is_same<layout_type, ::Kokkos::LayoutLeft>::value ? "layoutleft" :
81 std::is_same<layout_type, ::Kokkos::LayoutRight>::value ? "layoutright" :
82 "layoutcustom";
83 }

The documentation for this struct was generated from the following file: