Phalanx Development
Loading...
Searching...
No Matches
PHX::MDField< Scalar, Props > Class Template Reference
Inheritance diagram for PHX::MDField< Scalar, Props >:

Public Types

typedef DataT value_type
typedef DataT & reference_type
typedef KokkosDimentionType< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::type kokkos_data_type
typedef Kokkos::View< kokkos_data_type, PHX::Device > array_type
typedef array_type::array_layout layout_type
typedef array_type::device_type device_type
typedef PHX::Device::size_type size_type
typedef array_type::execution_space execution_space
using traits = FieldTraits<Scalar,Props...>
using layout_type = typename traits::layout
using device_type = typename traits::device
using data_type = typename traits::data_type
using array_type = typename traits::array_type
using size_type = typename device_type::size_type
using execution_space = typename array_type::execution_space
typedef Scalar value_type
typedef Scalar & reference_type

Public Member Functions

KOKKOS_FORCEINLINE_FUNCTION MDField (const std::string &name, const Teuchos::RCP< PHX::DataLayout > &t)
KOKKOS_FORCEINLINE_FUNCTION MDField (const PHX::Tag< DataT > &v)
KOKKOS_FORCEINLINE_FUNCTION const PHX::FieldTagfieldTag () const
template<typename iType0, typename iType1, typename iType2, typename iType3, typename iType4, typename iType5, typename iType6, typename iType7>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits< array_type >::return_type operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5, iType6 index6, iType7 index7) const
template<typename iType0, typename iType1, typename iType2, typename iType3, typename iType4, typename iType5, typename iType6>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits< array_type >::return_type operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5, iType6 index6) const
template<typename iType0, typename iType1, typename iType2, typename iType3, typename iType4, typename iType5>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits< array_type >::return_type operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4, iType5 index5) const
template<typename iType0, typename iType1, typename iType2, typename iType3, typename iType4>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits< array_type >::return_type operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3, iType4 index4) const
template<typename iType0, typename iType1, typename iType2, typename iType3>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits< array_type >::return_type operator() (iType0 index0, iType1 index1, iType2 index2, iType3 index3) const
template<typename iType0, typename iType1, typename iType2>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits< array_type >::return_type operator() (iType0 index0, iType1 index1, iType2 index2) const
template<typename iType0, typename iType1>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits< array_type >::return_type operator() (iType0 index0, iType1 index1) const
template<typename iType0>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits< array_type >::return_type operator() (iType0 index0) const
KOKKOS_FORCEINLINE_FUNCTION size_type rank () const
template<typename iType>
KOKKOS_INLINE_FUNCTION constexpr std::enable_if< std::is_integral< iType >::value, size_t >::type extent (const iType &r) const
template<typename iType>
KOKKOS_INLINE_FUNCTION constexpr std::enable_if< std::is_integral< iType >::value, int >::type extent_int (const iType &r) const
KOKKOS_FORCEINLINE_FUNCTION size_type extent (0) const
KOKKOS_FORCEINLINE_FUNCTION size_type extent (1) const
KOKKOS_FORCEINLINE_FUNCTION size_type extent (2) const
KOKKOS_FORCEINLINE_FUNCTION size_type extent (3) const
KOKKOS_FORCEINLINE_FUNCTION size_type extent (4) const
KOKKOS_FORCEINLINE_FUNCTION size_type extent (5) const
KOKKOS_FORCEINLINE_FUNCTION size_type extent (6) const
KOKKOS_FORCEINLINE_FUNCTION size_type extent (7) const
template<typename iType>
KOKKOS_FORCEINLINE_FUNCTION size_type dimension (const iType &ord) const
KOKKOS_FORCEINLINE_FUNCTION size_type size () const
void setFieldTag (const PHX::Tag< DataT > &t)
void setFieldData (const PHX::any &a)
void print (std::ostream &os, bool printValues=false) const
template<typename iType>
KOKKOS_FORCEINLINE_FUNCTION void dimensions (std::vector< iType > &dims)
KOKKOS_FORCEINLINE_FUNCTION array_type get_kokkos_view ()
KOKKOS_FORCEINLINE_FUNCTION const array_type get_kokkos_view () const
template<typename MDFieldType>
void deep_copy (const MDFieldType &source)
void deep_copy (const DataT source)
template<typename... Extents>
 MDField (const std::string name, const std::string layout_name, Extents... e)
 ONLY USE THIS CTOR FOR UNMANAGED FIELDS!!!! It will allocate memory unassociated with the DAG!
 MDField (const std::string &name, const Teuchos::RCP< PHX::DataLayout > &dl)
 MDField (const PHX::FieldTag &t)
 MDField (const Teuchos::RCP< const PHX::FieldTag > &t)
template<typename SourceScalar, typename... SourceProps>
 MDField (const MDField< SourceScalar, SourceProps... > &source)
constexpr bool is_static () const
constexpr bool is_dynamic () const
KOKKOS_INLINE_FUNCTION constexpr size_type rank () const
KOKKOS_INLINE_FUNCTION constexpr size_t size () const
KOKKOS_INLINE_FUNCTION constexpr size_t span () const
const PHX::FieldTagfieldTag () const
Teuchos::RCP< const PHX::FieldTagfieldTagPtr () const
template<typename SrcScalar, typename... SrcProps>
PHX::MDField< Scalar, Props... > & operator= (const MDField< SrcScalar, SrcProps... > &source)
template<typename... index_pack>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldReturnType< array_type >::return_type operator() (const index_pack &... indices) const
template<typename... index_pack>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldReturnType< array_type >::return_type access (const index_pack &... indices) const
template<typename iType0>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldReturnType< array_type >::return_type operator[] (iType0 index0) const
template<typename iType>
KOKKOS_INLINE_FUNCTION constexpr std::enable_if< std::is_integral< iType >::value, size_t >::type extent (const iType &r) const
template<typename iType>
KOKKOS_INLINE_FUNCTION constexpr std::enable_if< std::is_integral< iType >::value, int >::type extent_int (const iType &r) const
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension_0 () const
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension_1 () const
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension_2 () const
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension_3 () const
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension_4 () const
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension_5 () const
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension_6 () const
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension_7 () const
template<typename iType>
KOKKOS_FORCEINLINE_FUNCTION constexpr size_type dimension (const iType &ord) const
void setFieldTag (const PHX::FieldTag &t)
void setFieldTag (const Teuchos::RCP< const PHX::FieldTag > &t)
void setFieldData (const PHX::any &a)
void print (std::ostream &os, bool printValues=false) const
template<typename iType>
void dimensions (std::vector< iType > &dims)
KOKKOS_FORCEINLINE_FUNCTION operator array_type () const
KOKKOS_FORCEINLINE_FUNCTION Kokkos::DynRankView< Scalar, typename PHX::DevLayout< Scalar >::type, PHX::Device > get_view ()
KOKKOS_FORCEINLINE_FUNCTION const Kokkos::DynRankView< Scalar, typename PHX::DevLayout< Scalar >::type, PHX::Device > get_view () const
KOKKOS_FORCEINLINE_FUNCTION array_type get_static_view ()
 Returns a static view of the underlying kokkos static view.
KOKKOS_FORCEINLINE_FUNCTION const array_type get_static_view () const
 Returns a static view of the underlying kokkos static view.
template<typename SrcScalar, typename... SrcProps>
void deep_copy (const PHX::MDField< SrcScalar, SrcProps... > &source)
void deep_copy (const Scalar &source)
PHX::any get_static_view_as_any ()
void releaseFieldData ()
 Resets the underlying view ptr to null.
template<typename iType>
KOKKOS_FORCEINLINE_FUNCTION PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::size_type dimension (const iType &ord) const

Static Public Attributes

static const int ArrayRank =array_type::Rank

Friends

template<typename FScalar, typename... FProps>
class PHX::MDField

Member Function Documentation

◆ dimensions() [1/2]

template<typename DataT, typename Tag0, typename Tag1, typename Tag2, typename Tag3, typename Tag4, typename Tag5, typename Tag6, typename Tag7>
template<typename iType>
KOKKOS_FORCEINLINE_FUNCTION void PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::dimensions ( std::vector< iType > & dims)

WARNING: The vector data in this method should be a "size_type" to be consistent with Kokkos, but for backwards compatibility during the transition, needs to be templated in the index type.

void dimensions(std::vector<size_type>& dims);

◆ dimensions() [2/2]

template<typename Scalar, typename... Props>
template<typename iType>
void PHX::MDField< Scalar, Props >::dimensions ( std::vector< iType > & dims)
inline

WARNING: The vector data in this method should be a "size_type" to be consistent with Kokkos, but for backwards compatibility during the transition, needs to be templated in the index type.

void dimensions(std::vector<size_type>& dims);


The documentation for this class was generated from the following files: