Blog użytkownika marcel111

marcel111 marcel111 12.09.2020, 10:07
RTX 3000 sztuczka Nvidii. Czy 3070 faktycznie ma 20 TF?
609V

RTX 3000 sztuczka Nvidii. Czy 3070 faktycznie ma 20 TF?

O tym jak Nvidia sprytnie wykorzystała trend do fascynacji jednostką miary mocy obliczeniowej TF.

Teraflopy są od lat popularnym sposobem mierzenia „mocy graficznej”. Termin ten odnosi się do liczby obliczeń, jakie może wykonać GPU. Ostatnio teraflop przeszedł do głównego nurtu, pojawiając się w komunikatach marketingowych na premierze konsol takich jak Xbox Series X czy PS5.


Termin teraflop pochodzi od FLOP, czyli „operacji zmiennoprzecinkowych na sekundę”. Tera oznacza bilion, więc teraflop oznacza „bilion operacji zmiennoprzecinkowych na sekundę”.
Najpopularniejszy obecnie procesor graficzny wśród użytkowników Steam, GTX 1060 , jest w stanie wykonać 4,4 teraflopa. 2080 Ti może obsłużyć około 13,5TF, a nadchodzący Xbox Series X może obsłużyć 12TF. Liczby te są obliczane przez liczbę rdzeni cieniujących w układzie scalonym, mnożoną że przez szczytowe taktowanie karty, a następnie mnożone to przez liczbę instrukcji na cykl.


peak floating point throughput = shaders * 2 * clock frequency


Seria RTX 3000 zaskoczyła nas  szokującymi specyfikacjami. RTX 3070, karta o wartości 500 USD, jest opisana jako posiadająca 5888 rdzeni CUDA (nazwa NVIDIA dla shaderów) zdolnych do osiągnięcia 20 teraflopów. A nowa flagowa karta o wartości 1500 USD, RTX 3090 10 496 rdzeni, dla 36 teraflopów. Dla porównania RTX 2080 Ti ma 4352 „rdzenie CUDA”. 


Jakie CUDA

Karty NVIDIA składają się z wielu „streaming multiprocessor” lub SM. Każdy z 68 modułów SM 2080 Ti zawiera, między innymi, 64 rdzenie CUDA "FP32" przeznaczone do obliczeń zmiennoprzecinkowych i 64 rdzenie "INT32" przeznaczone do obliczeń całkowitych (obliczenia na liczbach całkowitych). 
Dużą innowacją w Turing SM, oprócz sztucznej inteligencji i przyspieszenia śledzenia promieni, była możliwość jednoczesnego wykonywania obliczeń liczb całkowitych i zmiennoprzecinkowych. Była to znacząca zmiana w stosunku do poprzedniej generacji, Pascala, w której banki rdzeni przełączały się między liczbami całkowitymi a zmiennoprzecinkowymi.

Karty RTX 3000 są zbudowane na architekturze, „Ampere”, a jej SM, pod pewnymi względami, przyjmuje zarówno podejście Pascal, jak i Turing. Ampere zachowuje 64 rdzenie FP32 jak poprzednio, ale 64 pozostałe rdzenie są teraz oznaczone jako „FP32 i INT32”. Tak więc połowa rdzeni Ampere jest przeznaczona na zmiennoprzecinkowe, ale druga połowa może wykonywać obliczenia zmiennoprzecinkowe lub całkowite, tak jak w Pascalu.
Dzięki temu mechanizmowi NVIDIA liczy teraz każdy moduł SM jako zawierający 128 rdzeni FP32, a nie 64 rdzeni, które miał Turing. To umożliwiło Nvidii zwiększenie liczby CUDA, ale... za pewną cenę.


W 3070  „5,888 rdzenie CUDA” to tak naprawdę 2,944 CUDA i 2,944 rdzeni, które „mogą być cuda.”

5888 x 2 x 1755 = 20TF

Tylko, że tak wartość osiągana jest tylko wtedy gdy obliczamy jedynie liczby zmiennoprzecinkowe. Jeśli 25% obliczeń będzie typu int32 połowa z 2944 rdzeni przestanie liczyć zmiennoprzecinkowo i zostajemy z 15TF mocy. Jeśli 50% obliczeń będzie dotyczyła liczb całkowitych zostanie nam 10TF.

Wadą Turing SM było potencjalne niepełne wykorzystanie. Jeśli na przykład obciążenie wynosi 25% matematyki całkowitej, około jedna czwarta rdzeni GPU może siedzieć bezczynnie. Ale przynajmniej nie wpływało to na osiągi zmiennoprzecinkowe karty. 
W Ampere dano możliwość przekazania całej mocy na FP32 co wygenerowało piekielnie wysoki parametr TFLOP, ale w realnych zastosowaniach będzie on zawsze niższy. 


Takim oto sposobem Nvidia wprowadzając sprytny mechanizm zarządzania obliczeniami wykorzystała modę na „teraflopy” i jak widać po wysypie memów i "dramatach" że jeszcze nie wydane konsole są już przestarzałe, osiągnęła zamierzony efekt. 
W praktyce karty serii 3000 operują na znacznie niższych wartościach (około 30% obliczeń to obliczenia całkowite), dodatkowo trzeba pamiętać o przepustowości pamięci, gdzie 3070 ma 448GB/s , nowy Xbox 560 GB/s a a 2080Ti 616GB/s.

Nie zmienia to faktu, że 3070 za 500usd jest ciekawą propozycją z osiągami zbliżonymi do 2080Ti (i prawdopodobnie podobnymi do  Xbox Series X) ale odwoływanie się do 20 TFLOP i zakładanie ogromnej przewagi jest nieporozumieniem. 

Tagi: rtx 3000 nvidia amd xbox ps5 3070 3080 2080ti

Oceń notkę
+ +10 -

Oceń profil
+ +2 -
marcel111
Ranking: 1224 Poziom: 42
PD: 10285
REPUTACJA: 2152