Showing results for 
Search instead for 
Did you mean: 

atomic_add 64bit


I need to use atomic add 64bit with intel opencl 1.2.

how can I do that ? is it possible ? what are my other possibilities ?

Thank You.

0 Kudos
1 Reply

Hi ArtiumA,

Thanks for the interest.

This topic gets into OpenCL extensions, both vendor specific and extensions defined in the spec up on

OpenCL offers optional extensions with respect to a given implementation's features. These extensions are dependent on the vendor actually offering implementation support and perhaps registering on These extensions may or may not only apply on a per OpenCL standard revision basis or per vendor or per vendor device family.

In this kind of case, if we look at the OpenCL-C 1.2 reference for atomic add, we'll see a 64bit version of atomic add referenced in the OpenCL-C manual pages. It's accessible through use of the extension cl_khr_int64_base_atomics: 


64bit extension reference

For use of extensions, it is required that the developer interrogate the devices capabilities to make sure kernels executed on that device are compatible with that device. See clGetDeviceInfo(...) and the CL_DEVICE_EXTENSIONS parameter:



Sidebar: It's theoretical OpenCL standard updates may make past optional extensions core... or vice versa... It's governed by a standard body that wants to reasonably adapt to the needs of developers. 

I hope this addresses these issues and informs some forum viewers.





0 Kudos