atomic — stdgpu Latest documentation (original) (raw)
atomic#
stdgpu: atomic
stdgpu Latest
Efficient STL-like Data Structures on the GPU
| Functions | |
|---|---|
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY bool | stdgpu::atomic_compare_exchange_strong (atomic< T, Allocator > *obj, typename atomic< T, Allocator >::value_type *expected, const typename atomic< T, Allocator >::value_type desired) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY bool | stdgpu::atomic_compare_exchange_weak (atomic< T, Allocator > *obj, typename atomic< T, Allocator >::value_type *expected, const typename atomic< T, Allocator >::value_type desired) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_exchange (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type desired) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_exchange_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type desired, const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_add (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::difference_type arg) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_add_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::difference_type arg, const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_and (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_and_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_max (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_max_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_min (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_min_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_or (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_or_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_sub (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::difference_type arg) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_sub_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::difference_type arg, const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_xor (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_DEVICE_ONLY T | stdgpu::atomic_fetch_xor_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type arg, const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_HOST_DEVICE bool | stdgpu::atomic_is_lock_free (const atomic< T, Allocator > *obj) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_HOST_DEVICE T | stdgpu::atomic_load (const atomic< T, Allocator > *obj) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_HOST_DEVICE T | stdgpu::atomic_load_explicit (const atomic< T, Allocator > *obj, const memory_order order) noexcept |
| STDGPU_DEVICE_ONLY void | stdgpu::atomic_signal_fence (const memory_order order) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_HOST_DEVICE void | stdgpu::atomic_store (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type desired) noexcept |
| template<typename T , typename Allocator > | |
| STDGPU_HOST_DEVICE void | stdgpu::atomic_store_explicit (atomic< T, Allocator > *obj, const typename atomic< T, Allocator >::value_type desired, const memory_order order) noexcept |
| STDGPU_DEVICE_ONLY void | stdgpu::atomic_thread_fence (const memory_order order) noexcept |
| Variables | |
|---|---|
| constexpr memory_order | stdgpu::memory_order_acq_rel |
| constexpr memory_order | stdgpu::memory_order_acquire |
| constexpr memory_order | stdgpu::memory_order_consume |
| constexpr memory_order | stdgpu::memory_order_relaxed |
| constexpr memory_order | stdgpu::memory_order_release |
| constexpr memory_order | stdgpu::memory_order_seq_cst |