共享存储器与显存带宽差异

如果能够做到合并访问的话,假设每次访问每线程32BIT的数据。
那么共享存储器与显存带宽的区别有多少?是不是相差4倍(指在开普勒上)?

您好,差别不是绝对的4倍。

您可能看到如下数据:L2到SMX的port宽度是64B, 一个SMX里的Shared memory的宽度是256B。所以您得到4倍的差别。

但实际上并非如此,
(1)因为不是所有的SMX都可以同时访问L2 cache的。但是却几乎在处理好的情况下,所有的SMX都同时访问他们的shared memory.
(2)L2 cache的命中率不会是100%. 所以从最坏情况,你应当考虑的是显存的带宽。

所以实际中,3.x上shared memory的总有效带宽一般要远大于global memory的有效带宽的4倍的。

我建议您使用:贵卡的SMX个数256频率 除以 您的显存的带宽(GPU-Z显示值,GB/S单位), 来估计实际的倍数。

这也是常用的估计方式。