Optional extensions that implement atomic operations on 32-bit signed and unsigned integers to locations in __local memory.
An application that wants to use this extension will need to include the #pragma
OPENCL EXTENSION cl_khr_local_int32_base_atomics : enable
directive in the OpenCL program source.
The atomic functions supported by the cl_khr_local_int32_base_atomics
extension are
described in the table below. All of the functions listed in the table are performed in one atomic transaction.
Function | Description |
---|---|
int unsigned int |
Read the 32-bit value (referred to as old )
stored at location pointed by p . Compute
(old + val ) and store result at location
pointed by p . The function returns old .
|
int unsigned int |
Read the 32-bit value (referred to as old )
stored at location pointed by p . Compute
(old - val ) and store result at location
pointed by p . The function returns old .
|
int unsigned int |
Swaps the old value
stored at location p with new value given by
val ). Returns old value.
|
int unsigned int |
Read the 32-bit value (referred to as old )
stored at location pointed by p . Compute
(old + 1) and store result at location
pointed by p . The function returns old .
|
int unsigned int |
Read the 32-bit value (referred to as old )
stored at location pointed by p . Compute
(old - 1) and store result at location
pointed by p . The function returns old .
|
int unsigned int |
Read the 32-bit value (referred to as old )
stored at location pointed by p . Compute
(old == cmp ) ? val : old and store result at location pointed by p . The function returns old .
|