Cuda原子地执行操作

时间:2016-03-27 19:54:02

标签: c++ cuda mutex atomic

在我的内核中检查一个条件,如果是,我将tid插入一个数组。 我需要原子地执行以下操作。

rune_list.html

基本上,我希望没有两个线程将它们的tid写入数组中的相同位置。

有一种简单的方法吗?我听说CUDA很难实现锁定。

1 个答案:

答案 0 :(得分:1)

cuda库内置了原子功能。你会寻找atomicadd()

Cuda Programming Guide

这个函数接受一个指向int或float的指针,另一个int或float(类型必须匹配我相信)才能添加到它。它还可以在原子操作之前方便地返回指针的值。