标签: cuda synchronization
现在我使用atomicAdd来改变一些内存单元格。我感兴趣的是在warp中定义的更改相同内存(没有atomicAdd)的行为?我有特殊的建筑 - 费米。
假设我有指向内存的指针,对于所有32个线程(相同的块)都是一样的,根本没有线程,我执行:
++(*ptr);
这是不确定的?定义?
答案 0 :(得分:4)
如果ptr在warp中的线程间引用相同的全局或共享内存位置,则行为未定义。也就是说,当操作完成时,指定的内容(即*ptr)将是未定义的。
ptr
*ptr