Nvidia RT-kernen versus AMD-straalversnellers - uitgelegd

Met de eerste generatie RTX grafische kaarten in 2018, introduceerde Nvidia de wereld met een gloednieuwe functie die het landschap van gaming zoals we die kennen moest veranderen. De eerste generatie grafische kaarten uit de RTX 2000-serie waren gebaseerd op de nieuwe Turing-architectuur en brachten ondersteuning voor realtime Ray Tracing in games. Ray Tracing bestond al in professionele 3D-animatie en synthetische velden, maar Nvidia bracht ondersteuning voor real-time weergave van games met behulp van Ray Tracing-technologie in plaats van traditionele rastering die het spel moest veranderen. Rasteren is de traditionele techniek waarmee games worden weergegeven, terwijl Ray Tracing complexe berekeningen gebruikt om nauwkeurig weer te geven hoe licht zou interageren en zich in de game-omgeving zou gedragen zoals in het echte leven. U kunt meer leren over Ray Tracing en Rasterization in dit inhoudsstuk .



Ray Traced Reflections kan de meest in het oog springende toepassing van Ray Tracing in games zijn - Afbeelding: Nvidia

In 2018 had AMD geen antwoord op Nvidia's RTX-serie grafische kaarten en hun Ray Tracing-functionaliteit. Het rode team was gewoon niet klaar voor de innovatieve introductie van Nvidia, en dit zette hun topaanbod op een aanzienlijk nadeel in vergelijking met Team Green. De AMD RX 5700 XT was een fantastische grafische kaart voor de prijs van $ 399 die wedijverde met de prestaties van de $ 499 RTX 2070 Super. Het grootste probleem voor AMD was echter het feit dat de concurrentie een technologie aanbood die ze niet bezaten. Dit in combinatie met de diverse functieset, DLSS-ondersteuning, stabiele stuurprogramma's en algehele superieure prestaties zorgde ervoor dat het aanbod van Nvidia een aanzienlijk voordeel had als het ging om de Turing versus RDNA-generatie.



AMD RX 6000-serie met Ray Tracing

Snel vooruit naar 2020 en AMD heeft eindelijk de strijd aangegaan met het topaanbod van Nvidia. AMD heeft niet alleen ondersteuning voor Real-Time Ray Tracing in games geïntroduceerd, maar ze hebben ook 3 grafische kaarten uitgebracht die extreem concurrerend zijn met de beste grafische kaarten van Nvidia. De AMD RX 6800, de RX 6800 XT en de RX 6900 XT nemen het op tegen respectievelijk de Nvidia RTX 3070, RTX 3080 en RTX 3090. AMD is eindelijk weer concurrerend aan de bovenkant van de productstapel, wat ook veelbelovend nieuws is voor consumenten.



Raytracing is een van de belangrijkste functies die AMD deze generatie heeft geïntroduceerd - Afbeelding: AMD



De zaken zijn echter ook niet helemaal positief voor AMD. Hoewel AMD ondersteuning heeft geïntroduceerd voor Real-Time Ray Tracing in games, werden hun Ray Tracing-prestaties lauw onthaald door zowel recensenten als de algemene consumenten. Het is echter begrijpelijk, aangezien dit AMD's eerste poging tot Ray Tracing is, dus het zou een beetje oneerlijk zijn om van hen te verwachten dat ze bij hun eerste poging de beste Ray Tracing-prestaties leveren. Het roept echter vragen op over de manier waarop AMD's Ray Tracing-implementatie werkt in vergelijking met de implementatie van Nvidia die we zagen met de Turing en nu de Ampere-architectuur.

Nvidia's suite met RTX-technologieën

De belangrijkste reden waarom AMD's poging teleurstellend lijkt te zijn in vergelijking met die van Nvidia, is dat AMD in wezen een inhaalslag speelde met Nvidia en min of meer slechts 2 jaar de tijd had om hun implementatie van Ray Tracing te ontwikkelen en te perfectioneren. Nvidia heeft deze technologie daarentegen al veel langer ontwikkeld, omdat er helemaal niemand was om tegen te concurreren. Nvidia leverde niet alleen Ray Tracing-ondersteuning vóór AMD, maar het had ook een beter ondersteunend ecosysteem dat rond de technologie was gebouwd.

Nvidia ontwierp zijn RTX 2000-serie grafische kaarten met Ray Tracing als primaire focus. Dit is duidelijk door het ontwerp van de Turing-architectuur zelf. Nvidia heeft niet alleen het aantal CUDA-kernen vermenigvuldigd, maar ze hebben ook specifieke speciale Ray Tracing-kernen toegevoegd, bekend als 'RT-kernen', die het grootste deel van de berekeningen verwerken die nodig zijn voor Ray Tracing. Nvidia heeft ook een technologie ontwikkeld die bekend staat als 'Deep Learning Super Sampling of DLSS', een fantastische technologie die deep learning en AI gebruikt om opschaling- en heropbouwtaken uit te voeren en ook het prestatieverlies van Ray Tracing te compenseren. Nvidia introduceerde ook speciale 'Tensor Cores' in kaarten uit de GeForce-serie, die zijn ontworpen om te helpen bij Deep Learning en AI-taken zoals DLSS. Daarnaast werkte Nvidia ook samen met gamestudio's om de aankomende Ray Tracing-games te optimaliseren voor de speciale Nvidia-hardware, zodat de prestaties kunnen worden gemaximaliseerd.



In Ray Tracing gedraagt ​​licht zich in de game zoals in het echte leven - Afbeelding: Nvidia

De RT-kernen van Nvidia

RT- of Ray Tracing-kernen zijn Nvidia's speciale hardwarernen die specifiek zijn ontworpen om de rekenkracht aan te kunnen die gepaard gaat met Real-Time Ray Tracing in games. Het hebben van gespecialiseerde kernen voor Ray Tracing ontlast veel werklast van de CUDA-kernen die zijn toegewijd aan standaardweergave in games, zodat de prestaties niet te veel worden beïnvloed door de verzadiging van het kerngebruik. RT Cores offeren veelzijdigheid op en implementeren hardware met een speciale architectuur voor speciale berekeningen of algoritmen om hogere snelheden te bereiken.

De meer gebruikelijke Ray Tracing-versnellingsalgoritmen die algemeen bekend zijn, zijn BVH en Ray Packet Tracing en het schematische diagram van de Turing-architectuur vermeldt ook BVH (Bounding Volume Hierarchy) Transversal. De RT Core is ontworpen om de opdrachten die betrekking hebben op Ray Traced-rendering in games te identificeren en te versnellen.

The RT Core Explained - Afbeelding: Nvidia

Volgens Nvidia's voormalige Senior GPU-architect Yubo Zhang:

“[Vertaald] De RT-kern voegt in wezen een speciale pijplijn (ASIC) toe aan de SM om het snijpunt van straal en driehoek te berekenen. Het heeft toegang tot de BVH en kan enkele L0-buffers configureren om de vertraging van BVH en driehoekige gegevenstoegang te verminderen. Het verzoek wordt gedaan door SM. De instructie wordt uitgegeven en het resultaat wordt teruggestuurd naar het lokale register van de SM. De interleaved instructie en andere rekenkundige of geheugen-IO-instructies kunnen gelijktijdig zijn. Omdat het een ASIC-specifieke circuitlogica is, kan de prestatie / mm2 worden verhoogd met een orde van grootte vergeleken met het gebruik van arceringcode voor het berekenen van kruispunten. Hoewel ik de NV heb verlaten, was ik betrokken bij het ontwerp van de Turing-architectuur. Ik was verantwoordelijk voor kleuring met variabele snelheid. Ik ben opgewonden om de release nu te zien. '

Nvidia stelt ook in de Turing Architecture White Paper dat RT Cores samenwerken met geavanceerde ruisonderdrukkingsfiltering, een zeer efficiënte BVH-versnellingsstructuur ontwikkeld door NVIDIA Research en RTX-compatibele API's om realtime ray tracing op een enkele Turing GPU te bereiken. RT-kernen doorkruisen de BVH autonoom, en door het versnellen van traversale en straal / driehoek-intersectietests, ontlasten ze de SM, waardoor deze een ander hoekpunt, pixel en schaduwwerk kan verwerken. Functies zoals BVH-bouwen en opnieuw monteren worden afgehandeld door de bestuurder, en het genereren van stralen en schaduw worden beheerd door de applicatie via nieuwe soorten shaders. Dit geeft de SM-eenheden de vrijheid om ander grafisch en rekenwerk te doen.

AMD's Ray Accelerators

AMD is met hun RX 6000-serie aan de Ray Tracing-race begonnen en daarmee hebben ze ook een paar sleutelelementen aan het architectonische ontwerp van RDNA 2 geïntroduceerd die bij deze functie helpen. Om de Ray Tracing-prestaties van AMD's RDNA 2 GPU's te verbeteren, heeft AMD een Ray Accelerator-component opgenomen in zijn kern Compute Unit Design. Deze Ray Accelerators zouden de efficiëntie van de standaard Compute Units in de computationele workloads met betrekking tot Ray Tracing moeten verhogen.

Het mechanisme achter de werking van Ray Accelerators is nog relatief vaag, maar AMD heeft enig inzicht verschaft in hoe deze elementen zouden moeten werken. Volgens AMD hebben deze straalversnellers het uitdrukkelijke doel om de Bounded Volume Hierarchy (BVH) -structuur te doorkruisen en op efficiënte wijze snijpunten tussen stralen en dozen (en uiteindelijk driehoeken) te bepalen. Het ontwerp ondersteunt volledig DirectX Ray Tracing (Microsoft's DXR), de industriestandaard voor pc-gaming. Daarnaast gebruikt AMD een op computers gebaseerde ruisonderdrukking om de spiegeleffecten van scènes met raytracing op te ruimen in plaats van te vertrouwen op speciaal gebouwde hardware. Dit zal waarschijnlijk de gemengde precisie-mogelijkheden van de nieuwe Compute Units extra onder druk zetten.

The Ray Accelerators Explained - Afbeelding: AMD

Ray Accelerators zijn ook in staat om vier begrensde volumeboxen of één driehoeksnijpunt per seconde te verwerken, wat veel sneller is dan het renderen van een Ray Traced-scène zonder speciale hardware. De aanpak van AMD heeft een groot voordeel, namelijk dat de RT Accelerators van RDNA 2 kunnen communiceren met de Infinity Cache van de kaart. Het is mogelijk om een ​​groot aantal Bounded Volume Structures tegelijkertijd in de cache op te slaan, zodat er wat belasting kan worden ontlast van gegevensbeheer en geheugenleescellen.

Belangrijkste verschil

Het grootste verschil dat direct opvalt bij het vergelijken van de RT Cores en de Ray Accelerators is dat, hoewel ze allebei hun functies redelijk op dezelfde manier uitvoeren, de RT Cores speciale aparte hardware cores zijn met een unieke functie, terwijl de Ray Accelerators een onderdeel zijn van de standaard Compute Unit-structuur in de RDNA 2-architectuur. Niet alleen dat, de RT Cores van Nvidia zijn op hun tweede generatie met Ampere met veel technische en architectonische verbeteringen onder de motorkap. Dit maakt de RT Core-implementatie van Nvidia een veel efficiëntere en krachtigere Ray Tracing-methode dan de implementatie van AMD met de Ray Accelerators.

Aangezien er in elke Compute Unit een enkele Ray Accelerator is ingebouwd, krijgt de AMD RX 6900 XT 80 Ray Accelerators, de 6800 XT 72 Ray Accelerators en de RX 6800 60 Ray Accelerators. Deze cijfers zijn niet direct vergelijkbaar met de RT Core-nummers van Nvidia, aangezien dit speciale cores zijn die zijn gebouwd met één enkele functie in gedachten. De RTX 3090 krijgt 82 2ndGen RT-cores, de RTX 3080 krijgt 60 2ndGen RT Cores en de RTX 3070 krijgen 46 2ndGen RT-kernen. Nvidia heeft ook aparte Tensor Cores in al deze kaarten die helpen bij machine learning en AI-toepassingen zoals DLSS, waarover je meer kunt leren in dit artikel .

Er is één Ray Accelerator ingebouwd in elke Compute Unit in RDNA 2 - Afbeelding: AMD

Toekomstige optimalisatie

Het is op dit moment moeilijk te zeggen wat de toekomst in Ray Tracing voor Nvidia en AMD inhoudt, maar je kunt een paar weloverwogen gissingen doen door de huidige situatie te analyseren. Op het moment van schrijven heeft Nvidia een behoorlijk significante voorsprong in Ray Tracing-prestaties in vergelijking met het aanbod van AMD. Hoewel AMD een indrukwekkende start heeft gemaakt voor RT, lopen ze nog steeds 2 jaar achter op Nvidia op het gebied van onderzoek, ontwikkeling, ondersteuning en optimalisatie. Nvidia heeft de meeste Ray Tracing-titels op dit moment in 2020 vergrendeld om de speciale hardware van Nvidia beter te gebruiken dan wat AMD heeft samengesteld. Dit, gecombineerd met het feit dat de RT Cores van Nvidia volwassener en krachtiger zijn dan de Ray Accelerators van AMD, zet AMD in het nadeel als het gaat om de huidige Ray Tracing-situatie.

AMD stopt hier echter zeker niet. AMD heeft al aangekondigd dat ze werken aan een AMD-alternatief voor DLSS, wat een enorme hulp is bij het verbeteren van de prestaties van Ray Tracing. AMD werkt ook samen met gamestudio's om aankomende games voor hun hardware te optimaliseren, wat blijkt uit titels als GodFall en Dirt 5, waar AMD's RX 6000-serie kaarten verrassend goed presteren. Daarom kunnen we verwachten dat AMD's Ray Tracing-ondersteuning steeds beter wordt met aankomende titels en de ontwikkeling van opkomende technologieën zoals het DLSS Alternative.

Dat gezegd hebbende, vanaf het moment van schrijven is Nvidia's RTX Suite gewoon te krachtig om te negeren voor iedereen die op zoek is naar serieuze Ray Tracing-prestaties. Onze standaardaanbeveling is de nieuwe RTX 3000-serie grafische kaarten van Nvidia over AMD's RX 6000-serie voor iedereen die Ray Tracing als een belangrijke factor in de aankoopbeslissing beschouwt. Dit kan en zou moeten veranderen met AMD's toekomstige aanbiedingen, evenals verbeteringen in zowel stuurprogramma's als game-optimalisatie naarmate de tijd verstrijkt.

Aankomende games die zowel RTX als DLSS ondersteunen - Afbeelding: Nvidia

Laatste woorden

AMD is eindelijk op de Ray Tracing-scène gesprongen met de introductie van hun RX 6000-serie grafische kaarten op basis van de RDNA 2-architectuur. Hoewel ze de kaarten uit de RTX 3000-serie van Nvidia niet verslaan in directe Ray Tracing-benchmarks, bieden de AMD-aanbiedingen extreem competitieve rasterisatieprestaties en een indrukwekkende waarde die gamers kunnen aanspreken die niet zo veel om Ray Tracing geven. AMD is echter goed op weg om de prestaties van Ray Tracing te verbeteren met een aantal belangrijke stappen die elkaar snel opvolgen.

De aanpak van Nvidia en AMD voor Ray Tracing is vrij gelijkaardig, maar beide bedrijven gebruiken hiervoor verschillende hardwaretechnieken. Uit eerste tests is gebleken dat de speciale RT Cores van Nvidia beter presteren dan de Ray Accelerators van AMD die in de Compute Units zelf zijn ingebouwd. Dit is misschien niet zo'n zorg voor de eindgebruiker, maar het is een belangrijk ding om te overwegen voor de toekomst, aangezien game-ontwikkelaars nu worden geconfronteerd met de beslissing om hun RT-functies te optimaliseren voor een van beide benaderingen.