几个线程在同一个全局内存位置写入相同的值

时间:2011-12-07 13:50:59

标签: cuda

这个问题与this one密切相关,但我的属于CUDA世界。

我的内核中有几个线程可以在同一个全局内存位置写入相同的值。这一直很好,但我担心它可能是虚假的,到目前为止,我只是幸运。

我的工作流程中是否存在内存损坏或意外行为的可能性(由于数据争用,缓存同步等)?

1 个答案:

答案 0 :(得分:10)

  

我的内核中有几个线程可以在同一个全局内存位置写入相同的值。

与一些评论相反,这是安全的。安全的,我的意思是写入的值将显示在该全局内存位置。写入不会发生,并且不存在其他一些虚假数据损坏的可能性。 Tom's answer here适用于此。

如果正在写入不同的值,则其中一个值将以该位置结束,但哪个值未定义。