cudaMemcpy
操作的数据传输速率受PCI-e 3.0(或2.0)通道数量的影响,该通道从CPU到GPU进行分配。我想了解在包含两个GPU的Nvidia设备上如何使用PCI-e通道。
Nvidia有一些产品,在单个PCI-e设备上具有两个GPU。例如:
- GTX 590 包含两个Fermi GF110 GPU
- GTX 690 包含两个Kepler GK104 GPU
与许多新型显卡一样,这些设备安装在PCI-e 16
插槽中。对于仅包含一个GPU的显卡,GPU可以使用16个PCI-e通道。
如果我拥有包含两个GPU的设备(如GTX 690),但我仅在一个GPU上运行计算任务,所有16个PCI-e通道是否都可以为被利用的那个GPU服务?
将此显示为ASCII艺术:
[ GTX690(2x GF110)] ------16个PCI-e通道----- [ CPU ]
我不是在谈论CPU连接到具有一个GPU的两张显卡的情况。 (例如下图)
[ GTX670(1x GK104)] ------ PCI-e通道----- [ CPU ] ------ PCI-e通道 ----- [ GTX670(1x GK104)]