线程组内存中的atomic_fetch_add_explicit原子



Metal 计算内核中的以下代码片段表明,atomic_fetch_add_explicit 在线程组内存中没有原子读取-修改-写入。

i的值在线程组中并不是我所期望的。

我用错了吗??

threadgroup atomic_int index;  
atomic_store_explicit( &index, 0, memory_order_relaxed );  
threadgroup_barrier( mem_flags::mem_none );  
int i = atomic_fetch_add_explicit( &index, 1, memory_order_relaxed );  

这确实是正确的,并且按预期在原子上运行。错误出在我的代码中,验证i的唯一性。

相关内容

  • 没有找到相关文章

最新更新