16#ifndef CABANA_TYPES_HPP
17#define CABANA_TYPES_HPP
19#include <Kokkos_Core.hpp>
42 Kokkos::MemoryTraits<Kokkos::Unmanaged | Kokkos::Aligned |
59 Kokkos::MemoryTraits<Kokkos::Unmanaged | Kokkos::Aligned |
60 Kokkos::RandomAccess>;
75 Kokkos::MemoryTraits<Kokkos::Unmanaged | Kokkos::Aligned |
86template <
typename MemorySpace,
typename ExecutionSpace,
typename =
void>
89 static_assert( Kokkos::is_memory_space<MemorySpace>::value,
"" );
90 static_assert( Kokkos::is_execution_space<ExecutionSpace>::value,
"" );
93template <
typename MemorySpace,
typename ExecutionSpace>
95 std::enable_if_t<Kokkos::SpaceAccessibility<
96 ExecutionSpace, MemorySpace>::accessible>>
Core: particle data structures and algorithms.
Definition Cabana_AoSoA.hpp:36
Atomic memory access. All reads and writes are atomic.
Definition Cabana_Types.hpp:70
Kokkos::MemoryTraits< Kokkos::Unmanaged|Kokkos::Aligned| Kokkos::Atomic > kokkos_memory_traits
Kokkos traits.
Definition Cabana_Types.hpp:74
AtomicAccessMemory memory_access_type
Access type.
Definition Cabana_Types.hpp:72
Definition Cabana_Types.hpp:37
DefaultAccessMemory memory_access_type
Access type.
Definition Cabana_Types.hpp:39
Kokkos::MemoryTraits< Kokkos::Unmanaged|Kokkos::Aligned| Kokkos::Restrict > kokkos_memory_traits
Kokkos traits.
Definition Cabana_Types.hpp:41
Random access memory. Read-only and const with limited spatial locality.
Definition Cabana_Types.hpp:54
Kokkos::MemoryTraits< Kokkos::Unmanaged|Kokkos::Aligned| Kokkos::RandomAccess > kokkos_memory_traits
Kokkos traits.
Definition Cabana_Types.hpp:58
RandomAccessMemory memory_access_type
Access type.
Definition Cabana_Types.hpp:56
Definition Cabana_Types.hpp:88
Memory access type checker.
Definition Cabana_Types.hpp:31