GPU pentru jocuri vs plăci grafice HPC, asemănări și diferențe

GPU pentru jocuri vs Plăci grafice HPC

În prezent, există două piețe diferite către care se adresează plăcile grafice. Cel mai popular joc este jocurile în care zeci de milioane de fani ai jocurilor video pe PC le folosesc pentru a-și juca jocurile cu cea mai bună rată de cadre și / sau cea mai bună grafică. Cealaltă piață este pentru computere performante sau GPU-uri HPC. Cum sunt diferite cele două tipuri de grafice?

Nu există nicio îndoială că plăcile grafice au cunoscut o evoluție uriașă în ultimii ani. Nu numai că oferă posibilitatea de a reproduce o grafică din ce în ce mai realistă, dar puterea lor de calcul este folosită și pentru aplicații științifice de tot felul și acest lucru le-a permis să ajungă pe mai multe piețe decât jocurile video. Dar pe diferite piețe soluții diferite și, așa cum se știe deja, ambele NVIDIA și AMD au arhitecturi concepute pentru reproducerea jocurilor video pe de o parte și, pe de altă parte, pentru calculul științific.

La nivel general, împărtășesc o serie de elemente comune, dar aduc cu ele o serie de elemente diferențiale care le fac diferite creaturi dacă comparăm un HPC GPU arhitectură cu un GPU pentru jocuri. De aceea, am decis să vă spunem despre diferențele dintre ambele tipuri de GPU.

Precizia datelor, principala diferență în GPU HPC și Gaming

Într-un joc video, faptul că o bucată de date nu este pe deplin precisă nu este o problemă, deoarece de obicei se lucrează cu ceea ce numim matematic o aproximare. Care constă în utilizarea unor cifre de precizie mai mică, dar cu suficiente pentru a efectua o simulare apropiată. Acest lucru se datorează faptului că cantitatea de biți pe care o putem atribui datelor din ALU sunt limitate și mai mulți biți pe ALU, mai mulți tranzistori și, cu aceasta, dimensiunea tranzistoarelor este mai mare. Deoarece bugetul tranzistorului unui GPU comercial este limitat și precizia datelor nu este atât de importantă, acest sacrificiu ajunge să se facă.

Dar în calculul științific este diferit, precizia datelor este foarte importantă pentru efectuarea calculelor. O simplă variație a datelor poate duce la modelul cu care lucrați pentru a devia prea mult sau la rezultate eronate. Imaginați-vă dezastrul care ar fi dacă un GPU de precizie redusă va fi utilizat pentru a calcula anumite elemente atunci când creați un medicament nou și că din cauza lipsei de precizie, o eroare ajunge la un dezastru de sănătate. Prin urmare, multe dintre GPU-urile proiectate pentru HPC utilizează ALU-uri de precizie cu virgulă mobilă pe 64 de biți. Ceea ce nu vedem de obicei GPU-urile utilizate pentru jocuri pentru un fapt foarte evident.

Utilizarea instrucțiunilor de precizie mai mare necesită implementarea ALU-urilor specializate și, odată cu aceasta, se schimbă în întreaga unitate shader, nu numai în ceea ce privește implementarea acestor ALU-uri, ci și în ceea ce privește registrele, setul de instrucțiuni și intercomunicarea.

Structura costurilor este diferită pe un GPU HPC

HBM 2

Pe piața de consum, de exemplu, nu este posibil să se vândă un GPU mare, deoarece ceea ce pot plăti clienții este foarte puțin și nici nu pot fi utilizate tipuri de memorie extrem de scumpe, cum ar fi memoria HBM. Care, în ciuda faptului că sunt mai bune în două dintre cele trei variabile (dimensiune și consum), pierd în termeni de costuri comparativ cu memoria GDDR6, care este mult mai ieftină.

Limitarea costurilor nu apare în cazul GPU-urilor HPC, deoarece acestea sunt concepute pentru o piață în care costurile ridicate fac profitabilă utilizarea memoriei de tip HBM. Prin urmare, GPU-urile de acest tip folosesc de obicei acest tip de memorie în loc de GDDR6. Dacă clienții dvs. sunt dispuși să plătească costul pentru un tip de memorie mai bun, atunci vor face acest lucru.

Celălalt motiv este că supercomputerele și centrele de date care utilizează GPU-uri HPC este faptul că, de obicei, consumul de energie este deja bugetat anterior, unde fiecare watt utilizat trebuie utilizat la maximum. Datorită faptului că memoria HBM are un consum mult mai mic în pJ / bit decât GDDR6, a ajuns să se impună pe piața respectivă și acest lucru a făcut ca toate viitoarele modele GPC HPC să se bazeze pe utilizarea acestui tip de memorie, care necesită utilizarea interpozitorilor și, prin urmare, a structurilor 2.5DIC.

Piețe diferite, nevoi diferite

Nvidia-A100-HPC

GPU-urile pentru redarea graficii folosesc o serie de unități pe care le numim o funcție fixă ​​datorită faptului că nu sunt programabile. Munca lui? Efectuați anumite funcții repetitive și redundante atunci când generați grafica în timp real pe care o vedem pe ecran. Plăcile grafice HPC sunt diferite, multe dintre aceste unități nu au nevoie de ele și, prin urmare, nu le folosesc.

De obicei, cea mai simplă schimbare la convertirea unui GPU pentru jocuri într-un GPU HPC începe cu orbirea ieșirii video. Dar așa cum am văzut în celelalte două secțiuni, GPU-urile HPC merg dincolo de asta. Ceea ce este adevărat este că producătorii tind să lase aceste tipuri de unități în GPU-urile lor HPC. Ceea ce este cel puțin paradoxal, mai ales în cazul GPU-urilor utilizate în NVIDIA Tesla, unde nu sunt utilizate diferitele unități. AMD, pe de altă parte, în instinctul AMD bazat pe CDNA i-au eliminat complet din ecuație.

De ce sunt încă unități neutilizate? Ei bine, datorită faptului că ocupă puțin spațiu, sunt opriți atunci când nu sunt folosiți și este o treabă mai mare să îi scoateți din mijloc și să reconfigurați întregul design fără ele decât să le întrețineți. La urma urmei, nu sunt procesoare complete și ocupă foarte puțin spațiu. Suficient pentru a nu deranja în ciuda faptului că sunt acolo. Deși cea mai mare schimbare este în procesorul de comenzi grafice, majoritatea GPU-urilor HPC au acea unitate dezactivată și, prin urmare, nu pot procesa lista de afișare creată de Procesor pentru a genera grafică.