GPU: er från AMD och NVIDIA, är framtiden utan RT-kärnor för RT?

Är det möjligt att RT Cores i framtiden kommer att försvinna från de framtida GPU: erna NVIDIA, Intel och / eller AMD? Kan Shader-enheterna med sin enorma datorkraft växa tillräckligt till att göra inkluderingen helt dispensabel? av dessa typer av enheter?

RT-kärnorna, Ray Accelerator-enheterna eller korsningsenheterna är specialenheter som ansvarar för en enda uppgift i GPU: erna och som kom för första gången från den första NVIDIA RTX-handen.

GPU: er från AMD och NVIDIA

I den här artikeln kommer vi inte att förklara vad de är för, för detta rekommenderar vi att du letar efter artikeln i HardZone med titeln Vad är RT-kärnor för strålespårning och hur fungerar de? där vi på ett enkelt men detaljerat sätt förklarar hur denna typ av enheter fungerar.

Vad är RT-kärnor eller korsningsenheter?

RT -kärnor NVIDIA

RT-kärnorna i NVIDIA- eller Ray Accelerator-enheter i AMD är enheter som ansvarar för att beräkna skärningspunkten mellan strålarna och de olika delarna av scenen, för att förstå vad som är behovet av denna typ av enhet i hårdvaran för de nya grafikkorten vi måste förstå hur den enklaste versionen av strålspårningsalgoritmen fungerar:

För varje pixel eller objekt i vilket pixeln finns, om strålen skär med objektet: färgvärdet för den pixeln på skärmen ändras.

Detta görs kontinuerligt och repetitivt i var och en av ramarna som GPU renderar som genereras med strålspårningsalgoritmen eller en av dess varianter, antingen delvis för att lösa de indirekta belysningsproblemen som rasterisering inte kan lösa av sig själv.

Möller - Trumbore-algoritmen för skärningspunkten mellan strålar och trianglar

Intersección Rayo Triangulo RT-kärnor

Strålkorsningsenheter är fasta funktionsenheter som utför Moller-Trumbore-algoritm . Det måste tas i beaktande att vad fasta funktionsenheter gör är att alltid tillämpa samma program från vissa ingångsdata, nämnda program är mikrotråd, så transistorerna som utgör nämnda enhet är placerade på ett sådant sätt att de bara kan köra program och inte ett annat.

Fördelen med fasta funktionsenheter är att de behöver färre transistorer än programmerbara enheter som är mycket mer komplexa, men en fast funktionsenhet är bara meningsfullt i hårdvara där programmerbara enheter dominerar om den kan utföra sin uppgift samtidigt. hastighet som till kostnad och hastighetsnivå inte kan matchas av den programmerbara delen.

Uppenbarligen är det, som vilken algoritm som helst, möjligt att utföra den i skuggsenheter, men för att detta ska vara möjligt skulle det vara nödvändigt för nämnda enheter att vara tillräckligt snabba för att avstå från fasta funktionsenheter.

Kostnaden för Möller - Trumbore-algoritmen

Algoritmo Moller-Trumbore RT-kärnor

Trots att det finns fler algoritmer är detta den mest kända och använda, det är därför vi har bestämt oss för att använda den som ett exempel och tro mig att kostnaden inte är direkt billig eftersom det totalt finns 27 flytpunktsoperationer per pixel . Men i vissa arkitekturer, eftersom divisionen är mer komplex att implementera i shaders, utförs den inte av konventionella SIMD-enheter utan av SFU: er, som kan utföra mycket mer komplexa aritmetiska operationer men med en lägre hastighet än summor. och multiplikationer.

Med andra ord skulle vi behöva 27 FLOPS inte per pixel utan per pixel och korsning, tänk nu på antalet korsningar och pixlar i en scen och du får en grov uppfattning om varför korsningsenheterna eller RT-kärnorna är så nödvändiga.

Den typ av skuggprogram som ersätter RT Cores

Etapas DXR

I API-specifikationerna för realtidsstrålespårning, både i DXR inom DX12 Ultimate och i Ray Tracing-tillägg för Vulkan, finns det en typ av skuggning som har blivit föråldrad, det vill säga korsningsskuggningen, som den helt ersätter till korsningsenheter i hårdvara där de inte finns.

Tänk på att en skuggning inte är något annat än ett program och det faktum att programmerare måste skapa sin egen korsningsenhet spel för spel kan vara en kedja, det är därför båda API: erna innehåller exempelvis korsningsskuggor. Avvägningen för detta? Många utvecklare kan se korsningsalgoritmen som ingår i API: er samt fasta funktionsenheter som olämpliga.

Diseño Circuitos Papel

I hårdvarudesign är det inte vanligt att eliminera fasta funktionsenheter som fungerar som acceleratorer, utan det är vanligt att utöka kapaciteten hos nämnda enheter och till och med göra dessa enheter programmerbara, så nästa steg i utvecklingen av korsningsenheter, om det inte redan har gjorts är det för ett specifikt domänändamål med mikroprogrammerad kod som kan uppdateras.

Därför är det möjligt att vi ser skapandet av nya korsningsalgoritmer med bättre prestanda, som slutligen skrivs i internminnet på var och en av enheterna med en firmwareuppdatering.

Fasta funktionsenheter har aldrig tagits bort från en GPU

NVIDIA GPU

En GPU har en serie fasta funktionsenheter för att återge 3D-grafik, dessa enheter, liksom korsningsenheterna, är ansvariga för att utföra repetitiva och repetitiva uppgifter i varje ram. Vi hänvisar till enheter som texturenheter, de som ansvarar för rasteriserande geometri etc.

Dessa enheter har aldrig eliminerats på grund av att deras uppgifter kan utföras av en skuggsenhet, vad mer, om vi tog en GPU utan nämnda fasta enheter och fick dem att göra en scen i 3D, skulle de vara i storleksordning mer ineffektiv än en GPU med färre skuggningsenheter men med dessa enheter inkluderade.

Tendensen är alltid att en del visas som är repetitiv och repetitiv i varje ram, vilket skulle uppta en bra del av tiden och resurserna för de enheter som kör skuggorna, eftersom det slutar skapa en typ av specialiserad enhet som inte bara laddar från nämnda uppgift till dessa enheter men att göra det snabbare och för en del av kostnaden.