这个问题与this one密切相关,但我的属于CUDA世界。
我的内核中有几个线程可以在同一个全局内存位置写入相同的值。这一直很好,但我担心它可能是虚假的,到目前为止,我只是幸运。
我的工作流程中是否存在内存损坏或意外行为的可能性(由于数据争用,缓存同步等)?
答案 0 :(得分:10)
我的内核中有几个线程可以在同一个全局内存位置写入相同的值。
与一些评论相反,这是安全的。安全的,我的意思是写入的值将显示在该全局内存位置。写入不会发生,并且不存在其他一些虚假数据损坏的可能性。 Tom's answer here适用于此。
如果正在写入不同的值,则其中一个值将以该位置结束,但哪个值未定义。