设备带宽的含义

时间:2012-02-08 16:53:55

标签: cuda gpu bandwidth

我正在学习CUDA,我不断发现像

这样的短语

“GPU具有专用内存,其占用CPU内存带宽的5-10倍”

请参阅here以获取第二张幻灯片的参考资料

现在带宽在这里意味着什么?具体来说,一个人是什么意思

  • CPU的带宽
  • GPU的带宽
  • PCI-E插槽的带宽,GPU安装在主板上。 我在计算机体系结构方面的背景非常差,所以如果有人能对这些术语做出非常简单的解释,那将非常有帮助。

我对带宽的理解非常有限,是从CPU到GPU每秒可以传输的最高千兆字节数。但这并不能解释为什么我们需要定义三种类型的带宽。

3 个答案:

答案 0 :(得分:3)

带宽是两个给定对象之间的传输速度。 GPU内存带宽是GPU芯片与其专用内存之间可能发生的最大数据传输量。 CPU内存带宽是可以在CPU和系统内存之间传输的最大数据量。 PCI-E带宽是可以在南桥芯片和特定PCI-E设备之间传输的最大数据量。

当然,如果GPU需要系统内存中的数据,那么它可以接收到的最快的链是链中最慢的链接。所有这些都取决于内存需要什么以及需要哪些节点来检索它。

答案 1 :(得分:3)

当前具有独立GPU的CPU / GPU系统中有三种不同的内存总线:

  1. 将GPU连接到自己的RAM的GPU(也称为“设备”)内存总线。
  2. 将CPU连接到自己的RAM的CPU(也称为“主机”或“系统”)内存总线。
  3. PCI-e总线,它将CPU芯片组连接到其外围设备,包括GPU。
  4. 这些总线中的每一个都具有物理总线宽度(以位为单位),时钟速度(总线上数据信号每秒可以更改多少次)和带宽(也称为吞吐量),以每秒位数为单位(可以转换为每秒千兆字节)。峰值带宽由总线宽度乘以总线的时钟速率决定。可实现的带宽还必须考虑任何开销(例如,PCI-e分组开销)。

    http://en.wikipedia.org/wiki/Bandwidth_(computing)。

答案 2 :(得分:1)

带宽是指可以在任何地方传输数据的速率。

“GPU具有专用内存,其CPU内存带宽为5-10倍” 意味着GPU上组件之间的内存带宽远远高于在主内存和GPU之间移动数据,因此一旦您的数据在卡上,任何副本都非常快。

通常即使在低端CUDA卡上,内部带宽也会达到30-50Gb / s,而PCI-E插槽到主内存的实际可实现带宽可能<1Gb / s。