Nvidia RT Cores vs. AMD Ray Accelerators - Explicat

Cu prima generație de plăci grafice RTX în 2018, Nvidia a introdus lumea într-o caracteristică nouă, care trebuia să schimbe peisajul jocurilor așa cum îl cunoaștem. Plăcile grafice din prima generație RTX 2000 s-au bazat pe noua arhitectură Turing și au adus suport pentru Ray Tracing în timp real în jocuri. Ray Tracing existase deja în animația 3D profesională și în câmpurile sintetice, dar Nvidia a oferit suport pentru redarea în timp real a jocurilor folosind tehnologia Ray Tracing în loc de rasterizarea tradițională care trebuia să schimbe jocul. Rasterizarea este tehnica tradițională prin care jocurile sunt redate, în timp ce Ray Tracing folosește calcule complexe pentru a descrie cu exactitate modul în care lumina ar interacționa și se va comporta în mediul de joc așa cum ar fi în viața reală. Puteți afla mai multe despre Ray Tracing și Rasterization în această piesă de conținut .



Reflecțiile Ray Traced pot fi cea mai plăcută aplicație a Ray Tracing în jocuri - Imagine: Nvidia

În 2018, AMD nu avea niciun răspuns pentru seria de plăci grafice RTX Nvidia și funcționalitatea Ray Tracing. Echipa Roșie pur și simplu nu era pregătită pentru introducerea inovatoare a Nvidia și acest lucru a pus ofertele lor de top într-un dezavantaj semnificativ în comparație cu Echipa Verde. AMD RX 5700 XT a fost o placă grafică fantastică la prețul de 399 USD, care a rivalizat cu performanța RTX 2070 Super de 499 USD. Cea mai mare problemă pentru AMD a fost însă faptul că competiția a oferit o tehnologie pe care nu o dețineau. Acest lucru, combinat cu setul de caracteristici diverse, suport DLSS, drivere stabile și performanță generală superioară, oferă ofertele Nvidia într-un avantaj semnificativ atunci când s-a ajuns la generația Turing vs RDNA.



Seria AMD RX 6000 cu Ray Tracing

Avansăm până în 2020, iar AMD a adus în cele din urmă lupta pentru ofertele de top ale Nvidia. Nu numai că AMD a introdus suport pentru Real-Time Ray Tracing în jocuri, dar a lansat și 3 plăci grafice extrem de competitive față de cele mai bune plăci grafice de la Nvidia. AMD RX 6800, RX 6800 XT și RX 6900 XT se luptă cap la cap cu Nvidia RTX 3070, RTX 3080 și respectiv RTX 3090. AMD este din nou competitiv din nou în capătul superior al stivei de produse, ceea ce reprezintă o veste promițătoare și pentru consumatori.



Raytracing este una dintre caracteristicile cheie pe care AMD le-a introdus în această generație - Imagine: AMD



Cu toate acestea, nici lucrurile nu sunt în totalitate pozitive pentru AMD. Deși AMD a introdus suport pentru Real-Time Ray Tracing în jocuri, performanța lor Ray Tracing a primit o recepție călduță atât de la recenzii, cât și de la consumatorii generali. Este de înțeles totuși, deoarece aceasta este prima încercare a lui AMD de Ray Tracing, așa că ar fi puțin nedrept să ne așteptăm ca aceștia să ofere cea mai bună performanță Ray Tracing în prima lor încercare. Cu toate acestea, ridică întrebări despre modul în care funcționează implementarea AMD Ray Tracing în comparație cu implementarea Nvidia pe care am văzut-o cu Turing și acum cu arhitectura Ampere.

Suita de tehnologii RTX de la Nvidia

Principalul motiv pentru care încercarea AMD pare a fi dezamăgitoare în comparație cu cea a lui Nvidia este că AMD joacă în esență ritmuri cu Nvidia și a avut mai mult sau mai puțin doar 2 ani de timp pentru a dezvolta și perfecționa implementarea Ray Tracing. Nvidia, pe de altă parte, dezvoltă această tehnologie de mult mai mult timp, deoarece nu au avut pe nimeni cu care să concureze chiar în partea de sus a stivei de produse. Nvidia nu numai că a oferit suport Ray Tracing înainte de AMD, dar a avut și un ecosistem de suport mai bun construit în jurul tehnologiei.

Nvidia și-a proiectat seria de plăci grafice RTX 2000 cu Ray Tracing ca obiectiv principal. Acest lucru este evident pe parcursul proiectării arhitecturii Turing în sine. Nu numai că Nvidia a înmulțit numărul de nuclee CUDA, dar a adăugat și nuclee dedicate Ray Tracing specifice cunoscute sub numele de „RT Cores” care gestionează cea mai mare parte a calculelor necesare pentru Ray Tracing. Nvidia a dezvoltat, de asemenea, o tehnologie cunoscută sub numele de „Deep Learning Super Sampling sau DLSS”, care este o tehnologie fantastică care folosește învățarea profundă și AI pentru a efectua sarcini de upscaling și reconstrucție și, de asemenea, pentru a compensa pierderea de performanță a Ray Tracing. Nvidia a introdus, de asemenea, „Tensor Cores” în cardurile din seria GeForce, care sunt concepute pentru a ajuta în Deep Learning și în Sarcini AI, cum ar fi DLSS. În plus, Nvidia a lucrat și cu studiourile de jocuri pentru a optimiza viitoarele jocuri Ray Tracing pentru hardware-ul dedicat Nvidia, astfel încât performanța să poată fi maximizată.



În Ray Tracing, lumina se comportă în joc așa cum ar fi în viața reală - Imagine: Nvidia

RT Cores de la Nvidia

RT sau Ray Tracing Cores sunt nucleele hardware dedicate Nvidia, care sunt proiectate special pentru a gestiona volumul de lucru de calcul asociat cu Real-Time Ray Tracing în jocuri. Având nuclee specializate pentru Ray Tracing descarcă o mulțime de muncă din nucleele CUDA care sunt dedicate redării standard în jocuri, astfel încât performanța să nu fie afectată prea mult de saturația utilizării nucleului. RT Cores sacrifică versatilitatea și implementează hardware cu o arhitectură specială pentru calcule speciale sau algoritmi pentru a atinge viteze mai mari.

Algoritmii de accelerație Ray Tracing mai obișnuiți, care sunt cunoscuți în mod obișnuit, sunt BVH și Ray Packet Tracing, iar diagrama schematică a arhitecturii Turing menționează, de asemenea, BVH (Bounding Volume Hierarchy) Transversal. RT Core este conceput pentru a identifica și accelera comenzile care se referă la redarea Ray Traced în jocuri.

RT Core Explained - Imagine: Nvidia

Potrivit fostului arhitect senior GPU al Nvidia, Yubo Zhang:

„[Tradus] Miezul RT adaugă în esență o conductă dedicată (ASIC) la SM pentru a calcula intersecția razelor și triunghiurilor. Poate accesa BVH și configura unele tampoane L0 pentru a reduce întârzierea accesului la date BVH și triunghi. Solicitarea este făcută de SM. Instrucțiunea este emisă, iar rezultatul este returnat în registrul local al SM. Instrucțiunea intercalată și alte instrucțiuni aritmetice sau IO de memorie pot fi concurente. Deoarece este o logică de circuit specifică ASIC, performanța / mm2 poate fi crescută cu un ordin de mărime în comparație cu utilizarea codului de umbrire pentru calculul intersecției. Deși am părăsit NV, am fost implicat în proiectarea arhitecturii Turing. Am fost responsabil pentru colorarea cu rată variabilă. Sunt încântat să văd lansarea acum. ”

Nvidia afirmă, de asemenea, în Cartea albă Turing Architecture că RT Cores funcționează împreună cu filtrarea avansată a denoisingului, o structură de accelerație BVH extrem de eficientă dezvoltată de NVIDIA Research și API-uri compatibile RTX pentru a realiza urmărirea razelor în timp real pe un singur GPU Turing. RT Cores traversează BVH în mod autonom și, prin accelerarea testelor de traversare și intersecție raze / triunghiuri, descarcă SM, permițându-i să gestioneze un alt vârf, pixel și să calculeze munca de umbrire. Funcțiile precum construirea și remontarea BVH sunt gestionate de driver, iar generarea și umbrirea razelor sunt gestionate de aplicație prin noi tipuri de umbrere. Acest lucru eliberează unitățile SM pentru a face alte lucrări grafice și de calcul.

AMD’s Ray Accelerators

AMD a intrat în cursa Ray Tracing cu seria lor RX 6000 și, cu aceasta, au introdus și câteva elemente cheie în designul arhitectural RDNA 2 care ajută la această caracteristică. Pentru a îmbunătăți performanțele Ray Tracing ale GPU-urilor RDNA 2 ale AMD, AMD a încorporat o componentă Ray Accelerator în proiectarea sa centrală de calcul. Se presupune că aceste acceleratoare de raze vor crește eficiența unităților de calcul standard în sarcinile de lucru de calcul legate de Ray Tracing.

Mecanismul din spatele funcționării acceleratoarelor de raze este încă relativ vag, cu toate acestea AMD a oferit o oarecare perspectivă asupra modului în care aceste elemente ar trebui să funcționeze. Potrivit AMD, aceste acceleratoare de raze au un scop expres de a parcurge structura Ierarhiei volumului limitat (BVH) și de a determina eficient intersecțiile dintre raze și cutii (și, eventual, triunghiuri). Designul acceptă pe deplin DirectX Ray Tracing (DXR de la Microsoft), care este standardul industrial pentru jocurile pe PC. În plus, AMD folosește un denoiser bazat pe calcul pentru a curăța efectele speculare ale scenelor trasate pe raze, mai degrabă decât să se bazeze pe hardware special construit. Acest lucru va pune probabil o presiune suplimentară pe capacitățile de precizie mixtă ale noilor unități de calcul.

Acceleratoarele de raze explicate - Imagine: AMD

Acceleratoarele Ray sunt, de asemenea, capabile să proceseze patru intersecții ale cutiei de volum delimitat sau o intersecție triunghiulară pe secundă, ceea ce este mult mai rapid decât redarea unei scene Ray Traced fără hardware dedicat. Există un mare avantaj în abordarea AMD, care este că acceleratoarele RT ale RDNA 2 pot interacționa cu memoria infinită a cardului. Este posibil să stocați un număr mare de structuri de volum delimitate simultan în cache, astfel încât o anumită încărcare poate fi scoasă din celulele de gestionare a datelor și de citire a memoriei.

Diferența cheie

Cea mai mare diferență care este imediat evidentă în timp ce comparăm nucleele RT și acceleratoarele de raze este că, deși ambele își îndeplinesc funcțiile destul de similar, nucleele RT sunt nuclee hardware dedicate separate care au o funcție singulară, în timp ce acceleratoarele de raze fac parte din structura standard a Unității de calcul în arhitectura RDNA 2. Nu numai atât, RT Cores de la Nvidia se află la a doua generație cu Ampere, cu multe îmbunătățiri tehnice și arhitecturale sub capotă. Acest lucru face ca implementarea RT Core a Nvidia să fie o metodă mult mai eficientă și mai puternică de urmărire a Ray decât implementarea AMD cu Ray Accelerators.

Deoarece există un singur accelerator de raze încorporat în fiecare unitate de calcul, AMD RX 6900 XT primește 80 de acceleratoare de raze, 6800 XT primește 72 de accelerații de raze și RX 6800 primește 60 de accelere de raze. Aceste numere nu sunt direct comparabile cu numerele RT Core ale Nvidia, deoarece acestea sunt nuclee dedicate construite având în vedere o singură funcție. RTX 3090 obține 82 2ndGen RT nuclee, RTX 3080 obține 60 2ndGen RT Cores și RTX 3070 primesc 46 2ndGen RT Cores. Nvidia are, de asemenea, nuclee tensoriale separate în toate aceste carduri, care ajută la învățarea automată și aplicații AI, cum ar fi DLSS, despre care puteți afla mai multe în acest articol .

Există un Ray Accelerator încorporat în fiecare unitate de calcul din RDNA 2 - Imagine: AMD

Optimizare viitoare

Este greu de spus în acest moment ce va rezerva viitorul în Ray Tracing pentru Nvidia și AMD, dar se pot face câteva presupuneri educate analizând situația actuală. În momentul scrierii, Nvidia deține un avantaj destul de semnificativ în performanța Ray Tracing în comparație direct cu ofertele AMD. În timp ce AMD a făcut un început impresionant pentru RT, sunt încă cu 2 ani în urmă față de Nvidia în ceea ce privește cercetarea, dezvoltarea, suportul și optimizarea. Nvidia s-a blocat în majoritatea titlurilor Ray Tracing chiar acum în 2020 pentru a utiliza hardware-ul dedicat Nvidia mai bine decât ceea ce AMD a pus la punct. Acest lucru, combinat cu faptul că RT Cores de la Nvidia sunt mai maturi și mai puternici decât Ray Accelerators de la AMD, pune AMD în dezavantaj atunci când vine vorba de situația actuală Ray Tracing.

Cu toate acestea, AMD cu siguranță nu se oprește aici. AMD a anunțat deja că lucrează la o alternativă AMD la DLSS, care este un ajutor masiv în îmbunătățirea performanței Ray Tracing. AMD lucrează, de asemenea, cu studiourile de jocuri pentru a optimiza jocurile viitoare pentru hardware-ul lor, ceea ce arată în titluri precum GodFall și Dirt 5, unde cardurile din seria RX 6000 ale AMD au performanțe surprinzătoare de bune. Prin urmare, ne putem aștepta ca suportul Ray Tracing al AMD să devină din ce în ce mai bun cu titlurile viitoare și cu dezvoltarea tehnologiilor viitoare, cum ar fi DLSS Alternative.

Acestea fiind spuse, încă din momentul scrierii RTV Suite a Nvidia este prea puternic pentru a fi ignorat pentru oricine caută performanțe serioase de Ray Tracing. Recomandarea noastră standard va fi noua serie de plăci grafice RTX 3000 de la Nvidia față de seria RX 6000 a AMD pentru oricine consideră că Ray Tracing este un factor important în decizia de cumpărare. Acest lucru s-ar putea și ar trebui să se schimbe odată cu ofertele viitoare ale AMD, precum și cu îmbunătățirile atât ale driverelor, cât și ale optimizării jocului pe măsură ce trece timpul.

Jocuri viitoare care acceptă atât RTX, cât și DLSS - Imagine: Nvidia

Cuvinte finale

AMD a intrat în sfârșit pe scena Ray Tracing odată cu introducerea seriei lor de plăci grafice RX 6000 bazată pe arhitectura RDNA 2. Deși nu depășesc cardurile seriei RTX 3000 ale Nvidia în reperele directe Ray Tracing, ofertele AMD oferă performanțe de rasterizare extrem de competitive și o valoare impresionantă, care poate atrage jucătorii cărora nu le pasă la fel de mult de Ray Tracing. Cu toate acestea, AMD este pe drumul său de a îmbunătăți performanțele Ray Tracing cu mai mulți pași cheie în succesiune rapidă.

Abordarea adoptată de Nvidia și AMD pentru Ray Tracing este destul de similară, dar ambele companii folosesc tehnici hardware diferite pentru a face acest lucru. Testarea inițială a arătat că nucleele RT dedicate Nvidia depășesc acceleratoarele Ray ale AMD, care sunt încorporate în unitățile de calcul. S-ar putea ca acest lucru să nu fie o preocupare pentru utilizatorul final, dar este un lucru important de luat în considerare pentru viitor, deoarece dezvoltatorii de jocuri se confruntă acum cu o decizie de a-și optimiza caracteristicile RT pentru una dintre ambele abordări.