Cuda原子添加可见性



在CUDA中,原子操作的结果是否立即可见于执行原子操作的同一块中的其他warp线程?在非原子操作的情况下,我知道在调用__syncthreads()之前,结果可能不可见。

是的,根据定义,原子操作在任何其他线程对同一地址执行原子操作访问相同值之前完成并可见。

但是,如果其他线程同时通过非原子访问访问同一地址,则可能出现竞争条件,因此您仍然必须小心编写正确的并发代码。

最新更新