在CUDA中写入全局内存

时间:2012-02-02 05:26:06

标签: cuda opencl gpu gpgpu nvidia

我想问一下在CUDA中写入全局内存的效果。众所周知,全局内存读取通常会对性能产生很大影响(合并,缓存,存储体冲突),因为它们可能需要相当多的周期来等待传入的内存,这可能会阻止执行。

然而,CUDA的写作记忆呢?它是否受到任何类型的内存写入模式的影响?总成本是否直接是内核中所有写入的总和?

任何相关的参考和评论都将不胜感激。

1 个答案:

答案 0 :(得分:3)

一般来说,你的问题的答案是“是”,商店类似于负载。不同之处在于,由于商店是“火上浇油而忘记”,如果有工作要做,这不依赖于存储的地址,那么多个处理器可以在发布商店后立即运行,而停转只会发生在遇到了read-after-write依赖。

有关详细信息,建议您阅读最新CUDA programming guide的第5.3.2节。

另请参阅该文档的附录F,了解有关不同架构系列的具体信息。例如,计算能力1.x具有比计算能力2.x(费米)设备更多的性能“悬崖”。