2011-07-26 25 views
2

在CUDA中,原子操作的結果是否與執行原子操作的那個塊在同一個塊中的其他warp線程立即可見?在非原子操作的情況下,我知道結果可能不可見,直到調用__syncthreads()cuda原子添加可見性

回答

3

是的,根據定義,原子操作是在對同一地址執行原子操作的任何其他線程訪問相同值之前完成和可見的。

但是,如果其他線程同時通過非原子訪問訪問同一地址,則可能會出現競爭條件,因此您仍必須小心編寫正確的併發代碼。