44 #ifndef KOKKOS_MEMORYTRAITS_HPP 45 #define KOKKOS_MEMORYTRAITS_HPP 47 #include <impl/Kokkos_Traits.hpp> 48 #include <impl/Kokkos_Tags.hpp> 70 template <
unsigned T >
73 typedef MemoryTraits memory_traits ;
75 enum { Unmanaged = T & unsigned(Kokkos::Unmanaged) };
76 enum { RandomAccess = T & unsigned(Kokkos::RandomAccess) };
77 enum { Atomic = T & unsigned(Kokkos::Atomic) };
78 enum { Restrict = T & unsigned(Kokkos::Restrict) };
79 enum { Aligned = T & unsigned(Kokkos::Aligned) };
89 typedef Kokkos::MemoryTraits<0> MemoryManaged ;
90 typedef Kokkos::MemoryTraits< Kokkos::Unmanaged > MemoryUnmanaged ;
91 typedef Kokkos::MemoryTraits< Kokkos::Unmanaged | Kokkos::RandomAccess > MemoryRandomAccess ;
106 enum { MEMORY_ALIGNMENT =
107 #if defined( KOKKOS_MEMORY_ALIGNMENT ) 108 ( 1 << Kokkos::Impl::integral_power_of_two( KOKKOS_MEMORY_ALIGNMENT ) )
110 ( 1 << Kokkos::Impl::integral_power_of_two( 128 ) )
112 , MEMORY_ALIGNMENT_THRESHOLD = 4
MemoryTraitsFlags
Memory access traits for views, an extension point.