标签: c++ cuda mutex atomic
在我的内核中检查一个条件,如果是,我将tid插入一个数组。 我需要原子地执行以下操作。
rune_list.html
基本上,我希望没有两个线程将它们的tid写入数组中的相同位置。
有一种简单的方法吗?我听说CUDA很难实现锁定。
答案 0 :(得分:1)
cuda库内置了原子功能。你会寻找atomicadd()
Cuda Programming Guide
这个函数接受一个指向int或float的指针,另一个int或float(类型必须匹配我相信)才能添加到它。它还可以在原子操作之前方便地返回指针的值。