43 #ifndef PANZER_COMMON_ARRAY_FACTORIES_IMPL_HPP 44 #define PANZER_COMMON_ARRAY_FACTORIES_IMPL_HPP 48 #include "Phalanx_DataLayout_MDALayout.hpp" 50 #include "Phalanx_KokkosUtilities.hpp" 51 #include "Phalanx_KokkosViewFactory.hpp" 56 template <
typename Scalar,
typename T0>
61 return Kokkos::DynRankView<Scalar,PHX::Device>(str,d0);
64 template <
typename Scalar,
typename T0,
typename T1>
69 return Kokkos::DynRankView<Scalar,PHX::Device>(str,d0,d1);
72 template <
typename Scalar,
typename T0,
typename T1,
typename T2>
74 buildArray(
const std::string & str,
int d0,
int d1,
int d2)
const 77 return Kokkos::DynRankView<Scalar,PHX::Device>(str,d0,d1,d2);
80 template <
typename Scalar,
typename T0,
typename T1,
typename T2,
typename T3>
82 buildArray(
const std::string & str,
int d0,
int d1,
int d2,
int d3)
const 85 return Kokkos::DynRankView<Scalar,PHX::Device>(str,d0,d1,d2,d3);
88 template <
typename Scalar,
typename T0,
typename T1,
typename T2,
typename T3,
typename T4>
90 buildArray(
const std::string & str,
int d0,
int d1,
int d2,
int d3,
int d4)
const 93 return Kokkos::DynRankView<Scalar,PHX::Device>(str,d0,d1,d2,d3,d4);
97 template <
typename Scalar,
typename T0>
101 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
111 template <
typename Scalar,
typename T0,
typename T1>
115 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
125 template <
typename Scalar,
typename T0,
typename T1,
typename T2>
127 buildArray(
const std::string & str,
int d0,
int d1,
int d2)
const 129 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
131 PHX::MDField<Scalar>
field = PHX::MDField<Scalar>(
prefix_+str,
Teuchos::rcp(
new PHX::MDALayout<T0,T1,T2>(d0,d1,d2)));
139 template <
typename Scalar,
typename T0,
typename T1,
typename T2,
typename T3>
141 buildArray(
const std::string & str,
int d0,
int d1,
int d2,
int d3)
const 143 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
145 PHX::MDField<Scalar>
field = PHX::MDField<Scalar>(
prefix_+str,
Teuchos::rcp(
new PHX::MDALayout<T0,T1,T2,T3>(d0,d1,d2,d3)));
153 template <
typename Scalar,
typename T0,
typename T1,
typename T2,
typename T3,
typename T4>
155 buildArray(
const std::string & str,
int d0,
int d1,
int d2,
int d3,
int d4)
const 157 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
159 PHX::MDField<Scalar>
field = PHX::MDField<Scalar>(
prefix_+str,
Teuchos::rcp(
new PHX::MDALayout<T0,T1,T2,T3,T4>(d0,d1,d2,d3,d4)));
168 template <
typename Scalar,
typename T0>
172 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
182 template <
typename Scalar,
typename T0,
typename T1>
186 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
188 PHX::MDField<Scalar,T0,T1>
field = PHX::MDField<Scalar,T0,T1>(
prefix_+str,
Teuchos::rcp(
new PHX::MDALayout<T0,T1>(d0,d1)));
196 template <
typename Scalar,
typename T0,
typename T1,
typename T2>
200 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
202 PHX::MDField<Scalar,T0,T1,T2>
field = PHX::MDField<Scalar,T0,T1,T2>(
prefix_+str,
Teuchos::rcp(
new PHX::MDALayout<T0,T1,T2>(d0,d1,d2)));
210 template <
typename Scalar,
typename T0,
typename T1,
typename T2,
typename T3>
214 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
216 PHX::MDField<Scalar,T0,T1,T2,T3>
field = PHX::MDField<Scalar,T0,T1,T2,T3>(
prefix_+str,
Teuchos::rcp(
new PHX::MDALayout<T0,T1,T2,T3>(d0,d1,d2,d3)));
224 template <
typename Scalar,
typename T0,
typename T1,
typename T2,
typename T3,
typename T4>
228 typedef PHX::KokkosViewFactory<Scalar,PHX::Device> ViewFactory;
230 PHX::MDField<Scalar,T0,T1,T2,T3,T4>
field = PHX::MDField<Scalar,T0,T1,T2,T3,T4>(
prefix_+str,
Teuchos::rcp(
new PHX::MDALayout<T0,T1,T2,T3,T4>(d0,d1,d2,d3,d4)));
std::vector< PHX::index_size_type > ddims_
PHX::MDField< Scalar, T0 > buildStaticArray(const std::string &str, int d0) const
PHX::MDField< Scalar > buildArray(const std::string &str, int d0) const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
PHX::MDField< const ScalarT, Cell, IP > field
Kokkos::DynRankView< Scalar, PHX::Device > buildArray(const std::string &str, int d0) const