La velocità dati delle operazioni cudaMemcpy
è fortemente influenzata dal numero di corsie PCI-e 3.0 (o 2.0) assegnate per l'esecuzione dalla CPU alla GPU. Sono curioso di sapere come vengono utilizzate le corsie PCI-e sui dispositivi Nvidia contenenti due GPU.Allocazione della linea PCI-e sulle schede a 2 GPU?
Nvidia ha alcuni prodotti con due GPU su un singolo dispositivo PCI-e. Per esempio:
- La GTX 590 contiene due GPU Fermi GF110
- La GTX 690 contiene due GK104 GPU Kepler
Come per molte schede grafiche più recenti, questi dispositivi montare in PCI-e 16
slot. Per le schede che contengono solo una GPU, la GPU può utilizzare 16 linee PCI-e.
Se ho un dispositivo contenente due GPU (come la GTX 690), ma sto solo l'esecuzione dei processi di elaborazione su un unico delle GPU, può tutti i 16 PCI-e corsie servire quello che GPU viene utilizzato?
Per mostrare questo come ascii art ...
[ GTX690 (2x GF110) ] ------ 16 PCI-e corsie ----- [ CPU ]
sto non parlare del caso in cui la CPU è collegata a due schede che hanno ciascuna una GPU. (Dello schema seguente)
[ GTX670 (1x GK104) ] ------ PCI-e corsie ----- [ CPU ] ------ PCI corsie -e ----- [ GTX670 (1x GK104) ]