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 |
typedef DataT | value_type |
typedef DataT & | reference_type |
typedef KokkosDimensionType < DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 > ::type | kokkos_data_type |
typedef PHX::View < kokkos_data_type > | 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 |
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::FieldTag & | fieldTag () 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) |
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 CopyDataT , typename T0 = void, typename T1 = void, typename T2 = void, typename T3 = void, typename T4 = void, typename T5 = void, typename T6 = void, typename T7 = void> | |
MDField (const MDField< CopyDataT, T0, T1, T2, T3, T4, T5, T6, T7 > &source) | |
const PHX::FieldTag & | fieldTag () const |
Teuchos::RCP< const PHX::FieldTag > | fieldTagPtr () const |
template<typename CopyDataT , typename T0 = void, typename T1 = void, typename T2 = void, typename T3 = void, typename T4 = void, typename T5 = void, typename T6 = void, typename T7 = void> | |
PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 > & | operator= (const MDField< CopyDataT, T0, T1, T2, T3, T4, T5, T6, T7 > &source) |
template<typename... index_pack> | |
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits < array_type >::return_type | operator() (const index_pack &...) 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 | dimension_0 () const |
KOKKOS_FORCEINLINE_FUNCTION size_type | dimension_1 () const |
KOKKOS_FORCEINLINE_FUNCTION size_type | dimension_2 () const |
KOKKOS_FORCEINLINE_FUNCTION size_type | dimension_3 () const |
KOKKOS_FORCEINLINE_FUNCTION size_type | dimension_4 () const |
KOKKOS_FORCEINLINE_FUNCTION size_type | dimension_5 () const |
KOKKOS_FORCEINLINE_FUNCTION size_type | dimension_6 () const |
KOKKOS_FORCEINLINE_FUNCTION size_type | dimension_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::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 Kokkos::DynRankView< DataT, typename PHX::DevLayout< DataT > ::type, PHX::Device > | get_view () |
KOKKOS_FORCEINLINE_FUNCTION const Kokkos::DynRankView < DataT, typename PHX::DevLayout< DataT >::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 SrcDataT , typename SrcTag0 , typename SrcTag1 , typename SrcTag2 , typename SrcTag3 , typename SrcTag4 , typename SrcTag5 , typename SrcTag6 , typename SrcTag7 > | |
void | deep_copy (const PHX::MDField< SrcDataT, SrcTag0, SrcTag1, SrcTag2, SrcTag3, SrcTag4, SrcTag5, SrcTag6, SrcTag7 > &source) |
void | deep_copy (const DataT source) |
template<typename iType0, typename iType1 , typename iType2 , typename iType3 , typename iType4 , typename iType5 , typename iType6 , typename iType7 > | |
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::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 < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::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 < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::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 < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::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 < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::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 < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::array_type > ::return_type | operator() (iType0 index0, iType1 index1, iType2 index2) const |
template<typename iType0, typename iType1 > | |
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::array_type > ::return_type | operator() (iType0 index0, iType1 index1) const |
template<typename iType0> | |
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::array_type > ::return_type | operator() (iType0 index1) const |
template<typename iType > | |
KOKKOS_FORCEINLINE_FUNCTION PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::size_type | dimension (const iType &ord) const |
template<typename CopyDataT , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > | |
PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >template< typename DataT, typename Tag0, typename Tag1, typename Tag2, typename Tag3, typename Tag4, typename Tag5, typename Tag6, typename Tag7 > | MDField (const MDField< CopyDataT, T0, T1, T2, T3, T4, T5, T6, T7 > &source) |
template<typename... index_pack> | |
KOKKOS_FORCEINLINE_FUNCTION PHX::MDFieldTypeTraits < typename PHX::MDField< DataT, Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >::array_type > ::return_type | operator() (const index_pack &...indices) const |
Static Public Attributes | |
static const int | ArrayRank =array_type::Rank |
Friends | |
template<typename ScalarT , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > | |
class | PHX::MDField |
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);
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);