我想问一下在CUDA中写入全局内存的效果。众所周知,全局内存读取通常会对性能产生很大影响(合并,缓存,存储体冲突),因为它们可能需要相当多的周期来等待传入的内存,这可能会阻止执行。
然而,CUDA的写作记忆呢?它是否受到任何类型的内存写入模式的影响?总成本是否直接是内核中所有写入的总和?
任何相关的参考和评论都将不胜感激。
答案 0 :(得分:3)
一般来说,你的问题的答案是“是”,商店类似于负载。不同之处在于,由于商店是“火上浇油而忘记”,如果有工作要做,这不依赖于存储的地址,那么多个处理器可以在发布商店后立即运行,而停转只会发生在遇到了read-after-write依赖。
有关详细信息,建议您阅读最新CUDA programming guide的第5.3.2节。
另请参阅该文档的附录F,了解有关不同架构系列的具体信息。例如,计算能力1.x具有比计算能力2.x(费米)设备更多的性能“悬崖”。