CUDA原子操作和并发内核启动

时间:2013-12-23 08:08:45

标签: concurrency cuda gpu-atomics

目前我开发了一个基于GPU的程序,该程序使用多个内核,这些内核通过使用多个流同时启动。

在我的应用程序中,多个内核需要访问队列/堆栈 我计划使用原子操作。

但我不知道原子操作是否在多个内核同时启动之间起作用。 请帮助我了解GPU上原子操作的确切机制的人 或谁有这个问题的经验。

1 个答案:

答案 0 :(得分:6)

Atomics在GPU的L2缓存硬件中实现,所有内存操作都必须通过该硬件。没有硬件可以确保主机和设备内存之间或不同GPU之间的一致性;但只要内核在同一个GPU上运行并使用该GPU上的设备内存进行同步,原子将按预期工作。