标签: cuda synchronization gpu-atomics
在CUDA中,原子操作的结果是否与执行原子操作的块中的其他warp的线程立即可见?在非原子操作的情况下,我知道在调用__syncthreads()之前结果可能不可见。
__syncthreads()
答案 0 :(得分:3)
是的,根据定义,在对同一地址执行原子操作的任何其他线程访问相同值之前,原子操作已完成且可见。
但是,如果其他线程同时通过非原子访问访问同一地址,则可能存在竞争条件,因此您仍必须小心编写正确的并发代码。