2012-10-20 9 views
7

Szybkość transmisji danych w operacjach cudaMemcpy jest silnie uzależniona od liczby pasów PCI-e 3.0 (lub 2.0) przydzielonych do uruchomienia z procesora na GPU. Ciekawi mnie sposób wykorzystania pasów PCI-e na urządzeniach Nvidii zawierających dwa procesory graficzne.Alokacja linii PCI-e na kartach 2-GPU?

Nvidia ma kilka produktów, które mają dwa procesory graficzne na jednym urządzeniu PCI-e. Na przykład:

  • GTX 590 zawiera dwa układy GPU Fermi GF110
  • GTX 690 zawiera dwa układy GPU Kepler GK104

Jak wiele nowszych kart graficznych, urządzenia te zamontować w PCI-e 16 gniazd. W przypadku kart zawierających tylko jeden procesor GPU, GPU może wykorzystywać 16 pasów PCI-e.

Jeśli mam urządzenie zawierające dwa procesory graficzne (jak GTX 690), ale używam tylko zadania obliczeniowe na tylko jeden z GPU, może wszystkie pasy 16 PCI-E służyć jeden GPU że jest używany?


Aby pokazać jak ten ASCII techniki ...

[ GTX690 (2x GF110) ] ------ 16 linii PCI-e ----- [ CPU ]


mam nie mówić o przypadku gdzie procesor jest podłączony do dwóch kart, które mają po jednym GPU. (Jak na poniższym schemacie)

[ GTX670 (1x GK104) ] ------ linii PCI-e ----- [ procesora ] ------ PCI -e pasy ----- [ GTX670 (1x GK104) ]

Odpowiedz

9

GTX 690 wykorzystuje PLX PCIe Gen 3 bridge chip do łączenia dwóch GK104 GPU z magistrali hosta PCI Express. Istnieje pełne połączenie x16 z hosta do urządzenia PLX, a z urządzenia PLX do każdego GPU (urządzenie PLX ma w sumie 48 pasów). Dlatego, jeśli używasz tylko jednego procesora graficznego, możesz osiągnąć w przybliżeniu pełną przepustowość x16 dla tego GPU. Możesz to zbadać, korzystając z bandwidthTest, który jest dołączony do próbek CUDA. bandwidthTest będzie ukierunkowany na pojedynczy GPU (z dwóch, które są na karcie, i można to wybrać za pomocą opcji wiersza poleceń), a powinieneś zobaczyć w przybliżeniu pełną przepustowość w zależności od systemu. Jeśli twój system jest w stanie Gen3, powinieneś zobaczyć pełną przepustowość PCIe x16 Gen 3 (nie zapomnij użyć opcji --memory = przypięte), która będzie się różnić w zależności od konkretnego systemu, ale powinna znajdować się na północ od 6GB/s (prawdopodobnie w zakresie 9-11 GB/s). Jeśli twój system jest w stanie Gen2, powinieneś zobaczyć coś w zakresie 4-6 GB/s. Podobne stwierdzenie można sformułować na temat GTX 590, jednak jest to urządzenie tylko Gen2 i wykorzystuje inny układ mostkowy. Wyniki testu przepustowości potwierdzają, że istnieje pełna logiczna ścieżka x16 między portem głównym a GPU. Oczywiście nie ma darmowego lunchu, więc nie możesz uzyskać równoczesnej pełnej przepustowości dla obu procesorów graficznych: jesteś ograniczony przez slot x16.