CUDA:内存性能,什么是全局内存带宽

时间:2011-11-02 05:44:42

标签: cuda memory-bandwidth

我正在学习CUDA优化。我在此链接上找到了一个演示文稿:Optimizing CUDA by Paulius Micikevicius

在此演示文稿中,他们谈论

  

最大化全局内存带宽

,他们说全局内存合并将改善带宽。

我的问题,您如何计算全局内存带宽。任何人都可以通过简单的程序示例来解释我。

1 个答案:

答案 0 :(得分:7)

理论带宽可以使用硬件规格计算。

例如,NVIDIA GeForce GTX 280使用DDR RAM,内存时钟速率为1,107 MHz,内存接口为512位。使用这些数据项,NVIDIA GeForce GTX 280的峰值理论内存带宽为141.6 GB /秒:

enter image description here

在此计算中,内存时钟速率转换为Hz,乘以 接口宽度(除以8,将位转换为字节)并乘以2,因为 双倍数据率。最后,将该产品除以109,将结果转换为GB /秒 (Gbps)的

有效带宽是通过计时特定计划活动和了解来计算的 如何通过程序访问数据。为此,请使用以下等式:

有效带宽=((Br + Bw)/ 109)/时间

这里,有效带宽以GBps为单位,Br是每个读取的字节数 kernel,Bw是每个内核写入的字节数,时间以秒为单位。

CUDA最佳实践指南中提供了更多信息。