在CUDA中将结构写入相同的全局内存位置是原子的吗?

时间:2015-03-17 07:51:45

标签: cuda atomic

例如:

struct Point
{
    int x,
    int y;
};

如果所有线程同时将自己的Point写入全局内存中的同一位置,那么该位置的最终结果Point是否有x个线程值线程B的A和y值?

此问题与Concurrent writes in the same global memory locationIs global memory write considered atomic in CUDA?

密切相关

1 个答案:

答案 0 :(得分:1)

[这个答案是从应该是答案的评论中复制过来的。]

  

该位置的最终结果Point是否有线程A的x值和线程B的y值?

是。为了避免这种情况,您需要将Point写为单个原子值(即,将Point重新解释为doubleint64并使用原子集。