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

is it atomic for writing a struct to same global memory location in CUDA?

例如:

struct Point
{
    int x,
    int y;
};

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

这个问题与Concurrent writes in the same global memory location and Is global memory write considered atomic in CUDA?

密切相关

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

Is it possible that the final result Point in that location has x value of thread A and y value of thread B?

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