44 #ifndef KOKKOS_MEMORYTRAITS_HPP 45 #define KOKKOS_MEMORYTRAITS_HPP 47 #include <impl/Kokkos_Traits.hpp> 48 #include <impl/Kokkos_Tags.hpp> 68 template <
unsigned T >
71 typedef MemoryTraits memory_traits ;
73 enum { Unmanaged = T & unsigned(Kokkos::Unmanaged) };
74 enum { RandomAccess = T & unsigned(Kokkos::RandomAccess) };
75 enum { Atomic = T & unsigned(Kokkos::Atomic) };
85 typedef Kokkos::MemoryTraits<0> MemoryManaged ;
86 typedef Kokkos::MemoryTraits< Kokkos::Unmanaged > MemoryUnmanaged ;
87 typedef Kokkos::MemoryTraits< Kokkos::Unmanaged | Kokkos::RandomAccess > MemoryRandomAccess ;
102 enum { MEMORY_ALIGNMENT =
103 #if defined( KOKKOS_MEMORY_ALIGNMENT ) 104 ( 1 << Kokkos::Impl::integral_power_of_two( KOKKOS_MEMORY_ALIGNMENT ) )
106 ( 1 << Kokkos::Impl::integral_power_of_two( 128 ) )
108 , MEMORY_ALIGNMENT_THRESHOLD = 4
MemoryTraitsFlags
Memory access traits for views, an extension point.