Dacă ați urmărit Nvidia și AMD, probabil că știți despre specificațiile GPU-urilor lor pe care ambele companii le plac să le folosească. De exemplu, Nvidia îi place să sublinieze numărul de bază CUDA pentru a diferenția oferta de cardurile AMD, în timp ce AMD face același lucru cu unitățile sale de calcul.
Dar ce înseamnă de fapt acești termeni? Este un nucleu CUDA același lucru cu o unitate de calcul? Dacă nu, atunci care este diferența?
Să răspundem la aceste întrebări și să vedem ce diferențiază un GPU AMD de unul Nvidia.
Arhitectura generală a unui GPU
Toate GPU-urile, de la AMD, Nvidia sau Intel, funcționează la fel în general. Au aceleași componente cheie, iar aspectul general al acestor componente este similar la un nivel superior.
Deci, dintr-o perspectivă de sus în jos, toate GPU-urile sunt la fel.
Când ne uităm la componentele specifice, proprietare pe care fiecare producător le împachetează în GPU-ul lor, diferențele încep să apară. De exemplu, Nvidia încorporează nuclee Tensor în GPU-urile lor, în timp ce GPU-urile AMD nu au nuclee Tensor.
În mod similar, AMD folosește componente precum Infinity Cache, pe care GPU-urile Nvidia nu le au.
Deci, pentru a înțelege diferența dintre unitățile de calcul (CU) și nucleele CUDA, trebuie să ne uităm mai întâi la arhitectura generală a unui GPU. Odată ce putem înțelege arhitectura și putem vedea cum funcționează un GPU, putem vedea clar diferența dintre unitățile de calcul și nucleele CUDA.
Cum funcționează un GPU?
Primul lucru pe care trebuie să îl înțelegeți este că un GPU procesează mii sau chiar milioane de instrucțiuni simultan. Prin urmare, un GPU are nevoie de o mulțime de nuclee mici, foarte paralele, pentru a gestiona aceste instrucțiuni.
Aceste nuclee GPU mici sunt diferite de nucleele CPU mari care procesează o instrucțiune complexă pe nucleu la un moment dat.
De exemplu, un Nvidia RTX 3090 are 10496 nuclee CUDA. Pe de altă parte, AMD Threadripper 3970X de vârf are doar 64 de nuclee.
Deci, nu putem compara nucleele GPU cu nucleele CPU. Sunt destul de mulți diferențele dintre un CPU și GPU deoarece inginerii i-au proiectat pentru a îndeplini diferite sarcini.
În plus, spre deosebire de un procesor mediu, toate nucleele GPU sunt aranjate în clustere sau grupuri.
În cele din urmă, un grup de nuclee pe un GPU are alte componente hardware, cum ar fi nucleele de procesare a texturii, unitățile cu virgulă mobilă și cache-urile
pentru a ajuta la procesarea a milioane de instrucțiuni în același timp. Acest paralelism definește arhitectura unui GPU. De la încărcarea unei instrucțiuni până la procesarea acesteia, un GPU face totul în conformitate cu principiile procesării paralele.
- În primul rând, GPU primește o instrucțiune de procesat dintr-o coadă de instrucțiuni. Aceste instrucțiuni sunt aproape întotdeauna covârșitor legate de vector.
- Apoi, pentru a rezolva aceste instrucțiuni, un planificator de fire le transmite clusterelor individuale de bază pentru procesare.
- După primirea instrucțiunilor, un planificator de cluster de bază încorporează instrucțiunile nucleelor sau elementelor de procesare pentru procesare.
- În cele din urmă, diferite clustere de bază procesează instrucțiuni diferite în paralel, iar rezultatele sunt afișate pe ecran. Deci, toate graficele pe care le vedeți pe ecran, un joc video, de exemplu, sunt doar o colecție de milioane de vectori procesați.
Pe scurt, un GPU are mii de elemente de procesare pe care le numim „nuclee” dispuse în clustere. Programatorii atribuie lucrări acestor clustere pentru a realiza paralelism.
Ce sunt unitățile de calcul?
După cum se vede în secțiunea anterioară, fiecare GPU are grupuri de nuclee care conțin elemente de procesare. AMD numește aceste grupuri principale „Unități de calcul”.
www.youtube.com/watch? v = uu-3aEyesWQ & t = 202s
Unitățile de calcul sunt o colecție de resurse de procesare, cum ar fi unitățile aritmetice și logice paralele (ALU), cache-uri, unități cu virgulă mobilă sau procesoare vectoriale, registre și o parte din memorie pentru stocarea firului informație.
Pentru a fi simplu, AMD face publicitate doar numărul de unități de calcul ale GPU-urilor lor și nu detaliază componentele care stau la baza lor.
Deci, ori de câte ori vedeți numărul de unități de calcul, gândiți-vă la ele ca la un grup de elemente de procesare și toate componentele aferente.
Ce sunt nucleele CUDA?
Acolo unde AMD îi place să păstreze lucrurile simple cu numărul de unități de calcul, Nvidia complică lucrurile folosind termeni precum nucleele CUDA.
Nucleele CUDA nu sunt exact nuclee. Sunt doar unități în virgulă mobilă pe care Nvidia le place să le numească nuclee în scopuri de marketing. Și, dacă vă amintiți, clusterele de bază au încorporate multe unități în virgulă mobilă. Aceste unități efectuează calcule vectoriale și nimic altceva.
Deci, numirea lor „nucleu” este marketing pur.
Prin urmare, un nucleu CUDA este un element de procesare care efectuează operații în virgulă mobilă. Pot exista multe nuclee CUDA într-un singur cluster de nuclee.
În cele din urmă, Nvidia numește clusterele de bază „Streaming multiprocesoare sau SM-uri.” SM-urile sunt echivalente cu unitățile de calcul AMD, deoarece unitățile de calcul sunt ele însele clustere de bază.
Care este diferența dintre unitățile de calcul și nucleele CUDA?
Principala diferență între o unitate de calcul și un nucleu CUDA este că prima se referă la un cluster de bază, iar cea de-a doua se referă la un element de procesare.
Pentru a înțelege mai bine această diferență, să luăm exemplul unei cutii de viteze.
O cutie de viteze este o unitate cuprinzând mai multe trepte de viteză. Vă puteți gândi la cutia de viteze ca la o unitate de calcul și la uneltele individuale ca la unități în virgulă mobilă ale nucleelor CUDA.
Cu alte cuvinte, unde Unitățile de calcul sunt o colecție de componente, nucleele CUDA reprezintă o componentă specifică din colecție. Deci, unitățile de calcul și nucleele CUDA nu sunt comparabile.
De aceea, atunci când AMD menționează numărul de unități de calcul pentru GPU-urile lor, acestea sunt întotdeauna destul de mici în comparație cu cardurile Nvidia concurente și cu numărul lor de bază CUDA. O comparație mai favorabilă ar fi între numărul multiprocesoarelor de streaming ale cardului Nvidia și numărul de unități de calcul ale cardului AMD.
Legate de: AMD 6700XT vs. Nvidia RTX 3070: Care este cel mai bun GPU sub 500 USD?
Nucleurile și unitățile de calcul CUDA sunt diferite și nu se compară
Companiile au obiceiul de a folosi o terminologie confuză pentru a-și prezenta produsele în cea mai bună lumină. Acest lucru nu numai că încurcă clientul, dar face și dificilă urmărirea lucrurilor importante.
Deci, asigurați-vă că știți ce să căutați atunci când căutați un GPU. Starea departe de jargonul de marketing va face decizia dvs. mult mai bună și mai lipsită de stres.
Dacă sunteți un jucător, este posibil să fiți tentați să vă actualizați placa grafică la seria 30 a NVIDIA. Dar merită?
Citiți în continuare
- Tehnologie explicată
- Placă grafică
- Nvidia
- Procesor AMD
Fawad este un scriitor freelance cu normă întreagă. Iubește tehnologia și mâncarea. Când nu mănâncă sau nu scrie despre Windows, fie se joacă jocuri video, fie scrie pentru blogul său ciudat Techsava.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Faceți clic aici pentru a vă abona