Description
// Requires OpenCL C 3.0 or newer and both the __opencl_c_atomic_order_seq_cst
// and __opencl_c_atomic_scope_device features.
void atomic_store(volatile __global A *object, C desired)
void atomic_store(volatile __local A *object, C desired)
// Requires OpenCL C 2.0, or OpenCL C 3.0 or newer and all of the
// __opencl_c_generic_address_space, __opencl_c_atomic_order_seq_cst and
// __opencl_c_atomic_scope_device features.
void atomic_store(volatile A *object, C desired)
// Requires OpenCL C 3.0 or newer and the __opencl_c_atomic_scope_device
// feature.
void atomic_store_explicit(volatile __global A *object,
C desired,
memory_order order)
void atomic_store_explicit(volatile __local A *object,
C desired,
memory_order order)
// Requires OpenCL C 2.0 or OpenCL C 3.0 or newer and both the
// __opencl_c_generic_address_space and __opencl_c_atomic_scope_device
// features.
void atomic_store_explicit(volatile A *object,
C desired,
memory_order order)
// Requires OpenCL C 3.0 or newer.
void atomic_store_explicit(volatile __global A *object,
C desired,
memory_order order,
memory_scope scope)
void atomic_store_explicit(volatile __local A *object,
C desired,
memory_order order,
memory_scope scope)
// Requires OpenCL C 2.0, or OpenCL C 3.0 or newer and the
// __opencl_c_generic_address_space feature.
void atomic_store_explicit(volatile A *object,
C desired,
memory_order order,
memory_scope scope)
The order argument shall not be memory_order_acquire, nor
memory_order_acq_rel.
Atomically replace the value pointed to by object with the value of
desired.
Memory is affected according to the value of order.
The non-explicit atomic_store function requires
support for OpenCL C 2.0, or OpenCL C 3.0 or newer and both the
__opencl_c_ and __opencl_c_
features.
For the explicit variants, memory order and scope enumerations must respect the
restrictions section below.
|
The function variants that use the generic address space, i.e. no
explicit address space is listed, require support for OpenCL
C 2.0, or OpenCL C 3.0 or newer and the __opencl_c_
feature.
|
Document Notes
For more information, see the OpenCL C Specification
This page is extracted from the OpenCL C Specification. Fixes and changes should be made to the Specification, not directly.