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
https://github.com/fangq/mcxcl/blob/master/src/mcx_core.cl#L212-L215
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.