0

现在我使用 atomicAdd 来更改一些内存单元。我感兴趣的是在定义的warp中更改相同内存(没有atomicAdd)的行为吗?我想到了特定的架构——费米。

假设我有指向内存的指针,所有 32 个线程(相同的块)都相同,根本没有更多线程,我执行:

++(*ptr);

这是未定义的吗?定义?

4

1 回答 1

4

如果ptr在 warp 中跨线程引用相同的全局或共享内存位置,则行为未定义。也就是说*ptr,当操作完成时,指示的内容(即)将是未定义的。

于 2013-03-12T16:54:26.837 回答