在开启共享内存的同时,开普勒是否拥有2x或4倍的费米带宽?共享内存带宽费米vs开普勒GPU
编程指南指出:“每个存储具有32个比特每两个时钟周期带宽”(对于2.X),以及“每个银行都有64位每时钟周期的带宽”(3。 X),所以隐含4倍?
在开启共享内存的同时,开普勒是否拥有2x或4倍的费米带宽?共享内存带宽费米vs开普勒GPU
编程指南指出:“每个存储具有32个比特每两个时钟周期带宽”(对于2.X),以及“每个银行都有64位每时钟周期的带宽”(3。 X),所以隐含4倍?
在Fermi上,每个SM有32个bank,每两个时钟周期提供32位。
在开普勒上,每个SMX有32个存储区,每个时钟周期提供64位。然而,由于开普勒的SMX从根本上重新设计为节能,并且由于运行快速时钟吸收了大量功率,开普勒的核心时钟速度非常慢。查看来自GTC的Inside Kepler谈话,大约8分钟,获取更多信息。
所以问题的答案是开普勒有2倍,而不是4倍。
下一版本的文档(CUDA 5.0)应该更好地解释这一点。
我开始明白你的观点。 3.X上的SP在主GPU时钟上运行,而在2.X上运行在着色器时钟上,这是2倍主GPU时钟。所以在开普勒它是“每个主时钟周期”,在费米它是“每两个着色器时钟周期”(=每个主时钟周期)。因此,从主GPU时钟的角度来看,访问同样频繁,2x带宽来自更广泛的64位字。这也体现在开普勒白皮书的“SMX处理核心架构”中。很好学习关于SP时钟频率的东西!谢谢! –
作为
编程指南4.2中给出:共享存储器被组织为使得相继的32位字映射到连续的银行16级的银行。每个存储体每两个时钟周期的带宽为32位。
Kepler白皮书:与Fermi SM相比,64b和更大负载操作的共享内存带宽也增加了一倍,达到每核心时钟256B。
对于小负载操作,它是4倍。
@Tom:我从5.0 PG引用。 (事实上,关于3.X带宽的句子已经添加了w.r.t 4.2 PG。)。在这两种情况下,有32家银行。我的问题部分是由于[本演示文稿]的p81(http://developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S0514-GTC2012-GPU-Performance-Analysis.pdf),他们在这里说带宽是x2。我没有看到对2.X和3.X上的不同时钟的任何引用,并且我相信何时使用“时钟周期”,这意味着在所有计算能力上都是相同的(例如,与指令吞吐量一样)。这些时钟周期以赫兹为单位与本问题无关。 –
时钟频率是很重要的,因为您正在讨论通常以字节/秒为单位进行测量的带宽,从字节/周期到字节/秒需要时钟频率。我同意文档不清楚,并希望CUDA 5.0最终版本将得到改进(您所拥有的版本大概来自发布候选版本)。 – Tom