CUDA:对无符号字符的原子操作

And*_*rew 6 cuda atomic

我是 CUDA 初学者。我在全局内存中有一个无符号字符的像素缓冲区,可以并且由任何和所有线程更新。因此,为了避免像素值出现异常,我想在线程尝试更新一个时执行 atomicExch。但是编程指南说这个函数只适用于 32 位或 64 位字,而我只想以原子方式交换一个 8 位字节。有没有办法做到这一点?

谢谢。

Sim*_*-Cu 1

您可以使用互斥变量来实现关键部分。所以像

get_the_lock
exch_data
release
Run Code Online (Sandbox Code Playgroud)

http://forums.nvidia.com/index.php?showtopic=185809

在 CUDA 中实现关键部分