21 #ifndef __KokkosTypes_hpp__
22 #define __KokkosTypes_hpp__
25 #include <Kokkos_Core.hpp>
26 #include <Kokkos_DualView.hpp>
27 #include <Kokkos_UnorderedMap.hpp>
38 template<
typename s
ide>
45 using OpenMP = Kokkos::OpenMP;
53 template<
typename T1,
typename T2>
54 using kPair = Kokkos::pair<T1,T2>;
63 template<
typename T,
typename... properties>
66 template<
typename T,
typename... properties>
69 template<
typename T,
typename... properties>
72 template<
typename T,
typename... properties>
75 template<
typename Key,
typename Value,
typename... properties>
76 using unorderedMap = Kokkos::UnorderedMap<Key, Value, properties...>;
78 template<
typename Key,
typename... properties>
79 using unorderedSet = Kokkos::UnorderedMap<Key, void, properties...>;
81 template<
typename Key,
typename Value>
84 template<
typename Key,
typename Value>
85 using hostHashMap= Kokkos::UnorderedMap<Key, Value, Kokkos::HostSpace>;
87 template<
typename Key>
90 template<
typename Key>
91 using hostHashSet = Kokkos::UnorderedMap<Key,void, Kokkos::HostSpace>;
100 template<
typename T,
typename Layout=
void>
111 template<
typename T,
typename Layout=
void>
116 using Cuda = Kokkos::Cuda;
118 using cudaViewTypeScalar = Kokkos::View<T, Kokkos::CudaSpace>;
121 using cudaViewType1D = Kokkos::View<T*, Kokkos::CudaSpace>;
123 template<
typename T,
typename Layout=
void>
124 using cudaViewType2D = Kokkos::View<T*,Layout, Kokkos::CudaSpace>;
132 Kokkos::MemoryTraits<std::is_same<DefaultExecutionSpace,Serial>::value?0:Kokkos::Atomic>>;
138 Kokkos::MemoryTraits<std::is_same<DefaultExecutionSpace,Serial>::value?0:Kokkos::Atomic>>;
143 os<<
"["<<rng.first<<
" "<<rng.second<<
")";
150 #endif //__KokkosTypes_hpp__