11#include "vecmem/memory/device_address_space.hpp"
14#include <sycl/sycl.hpp>
24template <device_address_space address>
30 static constexpr ::sycl::memory_order ord = ::sycl::memory_order::relaxed;
31 static constexpr ::sycl::memory_scope scp = ::sycl::memory_scope::device;
32 static constexpr ::sycl::access::address_space add =
33 ::sycl::access::address_space::global_space;
39 static constexpr ::sycl::memory_order ord = ::sycl::memory_order::relaxed;
40 static constexpr ::sycl::memory_scope scp =
41 ::sycl::memory_scope::work_group;
42 static constexpr ::sycl::access::address_space add =
43 ::sycl::access::address_space::local_space;
52 ::sycl::atomic_ref<T, details::builtin_address_space<address>::ord,
::sycl::atomic_ref< T, details::builtin_address_space< address >::ord, details::builtin_address_space< address >::scp, details::builtin_address_space< address >::add > builtin_device_atomic_ref
Atomic reference based on ::sycl::atomic_ref.
Definition sycl_builtin_device_atomic_ref.hpp:54
Main namespace for the vecmem classes/functions.
Definition atomic_ref.hpp:16
device_address_space
Custom definition for the device memory adress space.
Definition device_address_space.hpp:12
std::vector< T, vecmem::polymorphic_allocator< T > > vector
Alias type for vectors with our polymorphic allocator.
Definition vector.hpp:35
Helper trait for setting up an atomic reference on global or local memory.
Definition sycl_builtin_device_atomic_ref.hpp:25