Floating point atomic operations are not supported, at least in OpenCL 1.2 or earlier, I have to use the atomic_xchg hack other people proposed. see
I am wondering if there is any official/unofficial support of floating point atomic functions? or atomc_xchg is currently the only way to use with opencl? can't imagine such important operators are still not supported.