DPC++ Runtime
Runtime libraries for oneAPI DPC++
atomic_ref.hpp File Reference
#include <CL/sycl/access/access.hpp>
#include <CL/sycl/atomic.hpp>
#include <sycl/ext/oneapi/atomic_enums.hpp>
#include <atomic>
#include <type_traits>
Include dependency graph for atomic_ref.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cl::sycl::ext::oneapi::detail::IsValidAtomicRefType< T >
 
struct  cl::sycl::ext::oneapi::detail::memory_order_traits< ReadModifyWriteOrder >
 
struct  cl::sycl::ext::oneapi::detail::memory_order_traits< memory_order::relaxed >
 
struct  cl::sycl::ext::oneapi::detail::memory_order_traits< memory_order::acq_rel >
 
struct  cl::sycl::ext::oneapi::detail::memory_order_traits< memory_order::seq_cst >
 
struct  cl::sycl::ext::oneapi::detail::bit_equal< T, typename >
 
struct  cl::sycl::ext::oneapi::detail::bit_equal< T, typename detail::enable_if_t< std::is_integral< T >::value > >
 
struct  cl::sycl::ext::oneapi::detail::bit_equal< float >
 
struct  cl::sycl::ext::oneapi::detail::bit_equal< double >
 
class  cl::sycl::ext::oneapi::detail::atomic_ref_base< T, DefaultOrder, DefaultScope, AddressSpace >
 
class  cl::sycl::ext::oneapi::detail::atomic_ref_impl< T, DefaultOrder, DefaultScope, AddressSpace, typename >
 
class  cl::sycl::ext::oneapi::detail::atomic_ref_impl< T, DefaultOrder, DefaultScope, AddressSpace, typename detail::enable_if_t< std::is_integral< T >::value > >
 
class  cl::sycl::ext::oneapi::detail::atomic_ref_impl< T, DefaultOrder, DefaultScope, AddressSpace, typename detail::enable_if_t< std::is_floating_point< T >::value > >
 
class  cl::sycl::ext::oneapi::detail::atomic_ref_impl< T *, DefaultOrder, DefaultScope, AddressSpace >
 

Namespaces

 cl
 We provide new interfaces for matrix muliply in this patch:
 
 cl::sycl
 
 cl::sycl::ext
 
 cl::sycl::ext::oneapi
 
 cl::sycl::ext::oneapi::detail
 

Typedefs

using cl::sycl::ext::oneapi::detail::memory_order = cl::sycl::ext::oneapi::memory_order
 
using cl::sycl::ext::oneapi::detail::memory_scope = cl::sycl::ext::oneapi::memory_scope
 
template<cl::sycl::access::address_space AS>
using cl::sycl::ext::oneapi::detail::IsValidAtomicAddressSpace = bool_constant< AS==access::address_space::global_space||AS==access::address_space::local_space||AS==access::address_space::global_device_space >
 
template<memory_order Order>
using cl::sycl::ext::oneapi::detail::IsValidDefaultOrder = bool_constant< Order==memory_order::relaxed||Order==memory_order::acq_rel||Order==memory_order::seq_cst >
 

Functions

constexpr memory_order cl::sycl::ext::oneapi::detail::getLoadOrder (memory_order order)