Jaka jest różnica między przepustowością pamięci GPU a prędkością?

16

Patrzyłem na specyfikacje kart graficznych Nvidii z serii 10 i zauważyłem, że mają określoną prędkość i przepustowość pamięci. Szybkość pamięci wyrażona jest w Gb / s, a przepustowość pamięci wyrażona w GB / s. Dla mnie wygląda to na to, że szybkość pamięci podzielona przez 8 powinna być równa przepustowości pamięci, ponieważ 8 bitów stanowi jeden bajt, a wszystkie pozostałe jednostki są takie same, ale tak nie jest.

Zastanawiałem się, czy ktoś może mi wyjaśnić, co tak naprawdę wskazuje na rzeczywistą szybkość przesyłania danych. Gdyby były 2 GPU, jedna o większej szybkości pamięci (Gb / s), a druga o większej przepustowości pamięci (GB / s), która mogłaby przesyłać więcej danych w określonych stałych ramach czasowych (lub jest to niemożliwe, a te 2 rzeczy są w jakiś sposób powiązane w jakiś sposób)?

Czy coś mi umyka? Nie mogę znaleźć nigdzie dobrej odpowiedzi ... Co jest tutaj naprawdę ważne? I dlaczego oba pomiary są wyrażane z prawie tymi samymi jednostkami (ponieważ Bajt ma 8 bitów, jeden pomiar powinien być równy drugiemu, jeśli zamienisz oba na bity lub na bajty)?

Dowody tu i tutaj (kliknij „ZOBACZ PEŁNE SPECYFIKACJE” w sekcji SPECYFIKACJE).

BassGuitarPanda
źródło

Odpowiedzi:

17

Wyszczególniono tutaj dwie oddzielne rzeczy. Skopiowałem specyfikację Nvidia ze strony, którą podlinkowałeś, aby pokazać ją lepiej.

wprowadź opis zdjęcia tutaj

Jednym z nich jest szybkość interfejsu linii danych układu pamięci 8 Gb / s, co jest częścią specyfikacji GDDR5, a kolejnym jest łączna prędkość pamięci 256 GB / s.

Pamięć GDDR5 ma zwykle szerokość 32 bitów, więc matematyka (dla 1070) wygląda następująco:

  • 8 gb / s na linię
  • 32 linie na chip
  • 8 układów pamięci na karcie

Pomnożenie tego daje nam prędkość pamięci 2048 Gb / s, podzielmy to przez 8, a otrzymamy przepustowość pamięci 256 GB / s.

8 układów 32-bitowych na układ odpowiada również szerokości interfejsu 256-bitowego, więc możesz z łatwością zrobić (8 gb / s * 256-bitów) / 8 bitów na bajt (co zgrabnie anuluje się do „256”) i wymyślić tę samą liczbę.

Dla 1080: 10 Gb / s * 256b / 8 = 320 GB / s
Dla 1050: 7 Gb / s * 128b / 8 = 112 GB / s


Jeśli masz dwa urządzenia, które mają ten sam Gb / s, ale różne GB / s, oznacza to, że ma inną liczbę układów w banku pamięci. Zazwyczaj chcesz wybrać wyższą łączną przepustowość pamięci (GB / s), ponieważ będzie to ogólnie rzeczywista użyteczna przepustowość pamięci.

Urządzenie z 10 Gb / s na pin, ale tylko 4 układy, miałoby całkowitą przepustowość 160 GB / s ((10 * 32 * 4) podzieloną przez 8), co byłoby niższe niż 8 Gb / s dla 8 układów (256 GB / s), które pokazałem powyżej dla 1070.

Mokubai
źródło
Dziękuje za odpowiadanie. Dobre, zrozumiałe wyjaśnienie z ważnymi szczegółami. To bardzo mi pomogło :)
BassGuitarPanda
4
@BassGuitarPanda jesteś bardzo mile widziany. Przyznaję, że na początku byłem trochę zaskoczony. Mieli dwie pozornie sprzeczne wartości przepustowości pamięci, które miały sens dopiero wtedy, gdy zdałem sobie sprawę, że jedna z nich była liczbą pasma na linię danych. Nauczyłem się również czegoś, więc dziękuję za jasne i zadane pytanie.
Mokubai