2

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

4

1 回答 1

3

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

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

于 2011-07-27T00:41:47.763 回答