我正在学习有关CUDA优化的知识。我找到了关于这个链接的演示文稿:Paulius Micikevicius优化CUDA。
在这个演讲中,他们谈论
最大化全局内存带宽
,他们说,全球内存合并将改善带宽。
我的问题是,如何计算全局内存带宽。有人能用一个简单的程序例子来解释我吗。
发布于 2011-12-11 02:12:46
理论带宽可以用硬件规范来计算。
例如,NVIDIA GeForce GTX 280使用DDR,内存时钟速率为1,107 MHz,内存接口为512位宽。使用这些数据项,NVIDIA GeForce GTX 280的峰值理论内存带宽为141.6 GB/秒:

在此计算中,存储器时钟速率被转换为Hz,乘以接口宽度(除以8,以将位转换为字节),并由于双数据速率而乘以2。最后,将该产品除以109,将结果转换为GB/sec (GBps)。
有效带宽是通过定时特定的程序活动和通过程序如何访问数据来计算的。要做到这一点,请使用以下公式:
有效带宽=( Br + Bw )/ 109 )/时间
这里,有效带宽以GBps为单位,Br为每个内核读取的字节数,Bw为每个内核写入的字节数,时间以秒为单位。
更多信息见数据自动化系统最佳做法指南。
https://stackoverflow.com/questions/7976296
复制相似问题