5 //OpenCL 1.1 has atomic_inc build-in (no extension needed)
6 //see http://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/atomic_inc.html
7 __kernel void globalAtomicKernelOpenCL1_1( volatile __global int* counter)
12 //OpenCL 1.1 atomic device counters extension, usually faster on current AMD hardware
13 //http://www.khronos.org/registry/cl/extensions/ext/cl_ext_atomic_counters_32.txt
14 #pragma OPENCL EXTENSION cl_ext_atomic_counters_32 : enable
15 __kernel void counterAtomicKernelExt( counter32_t counter)
21 //OpenCL 1.0 optional extension, using atom_inc
22 //see http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/cl_khr_global_int32_base_atomics.html
23 #pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics : enable //atomic_inc
24 __kernel void globalAtomicKernelExt( __global int* counter)
30 __kernel void globalAtomicKernelCounters32Broken( __global int* counter)