【问题标题】:is it atomic for writing a struct to same global memory location in CUDA?将结构写入CUDA中的相同全局内存位置是原子的吗?
【发布时间】:2018-02-13 08:59:00
【问题描述】:

例如:

struct Point
{
    int x,
    int y;
};

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

这个问题与Concurrent writes in the same global memory locationIs global memory write considered atomic in CUDA?密切相关

【问题讨论】:

  • @RobertCrovella:你去吧。

标签: cuda atomic


【解决方案1】:

[此答案是从本应是答案的评论中复制而来。]

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 2012-12-09
    相关资源
    最近更新 更多