For tiden er grafikkort delt inn i to typer, de som er designet for spill og de som brukes til andre applikasjoner av høyere verdi. Det vil si for vitenskapelige og militære simuleringer, blant mye annet. Imidlertid er det en enhet som har vært med oss siden det første vellykkede 3D-kortet, rasterenheten, som kan forsvinne og med det organisasjonen eller arkitekturen til fremtidige GPUer. Konsekvensene? Slutten på skillet mellom modeller kun for spill og de som brukes i andre områder.
Sanntids 3D-spill i dag er 99 % av spillene, men på datamaskiner kom de takket være den populære Voodoo Graphics på sin tid og det faktum å ha en brikke som hadde ansvaret for en felles funksjon. Vi snakker om rasterenheten, som i dag finnes i alle grafikkbrikker, men som vil forsvinne over tid. Hvilke konsekvenser vil dette få for fremtidens maskinvare?
GPUer er i endring
GPU-er er spesialiserte grafikkprosessorer, med en viss evne til å fungere generelt. Dette er fordi kjernene deres for lengst har sluttet å være for spesialiserte oppgaver som skal brukes til generelle oppgaver. Derfor bruker mange av verdens store superdatamaskiner dem i dag til storskala vitenskapelige og militære simuleringer, så vel som andre blomstrende applikasjoner som kunstig intelligens.
Det er imidlertid fortsatt en rekke enheter som utfører spesifikke oppgaver, men som er nødvendige for å kunne generere grafikken. Jobben deres er ikke bare å frigjøre hovedkjernene fra dem, men å jobbe parallelt. Den største fordelen er at ved å ha en fast eller spesifikk oppgave å gjøre, krever de færre transistorer å bygge og er derfor mindre kostbare og bruker mindre enn å få hovedkjernen til å ta seg av oppgaven.
Det kan imidlertid skje at en spesialisert maskinvare blir utdatert, enten fordi den ikke holder tritt med ytelsesfremgangen til andre elementer, eller fordi den fungerer på en mindre ideell måte. Vel, vi finner ut at i hovedbrikken til grafikkortene dukker det opp en bestemt type enhet og en annen type forsvinner.
Farvel til rasterenheten
Hvis du ser på spesifikasjonene til et hvilket som helst grafikkort, vil du se at et som er mindre og mindre viktig er det som snakker om "trekanter per sekund". Mange tror at det er mengden av disse som settes på skjermen og andre vil tro at det er mengden som beregnes. Begge er falske på grunn av at dette avhenger av applikasjonen vi kjører. Dessuten er det en fast rate, og hvis vi legger merke til det er det alltid klokkehastigheten for antall rasterenheter. I hvert fall i dag.
Disse enhetene gikk videre i ytelse, fra å kreve flere klokkesykluser for å rastrere en trekant, til å gjøre det med gjeldende hastighet, men de har ikke utviklet seg på ti år. Hans jobb? Projiser 3D-verdenen beregnet i hjørner til en 2D-overflate som består av piksler, skjermen, som fargen senere skal beregnes til. Derfor er det en essensiell enhet, siden når vi lager en 3D-scene, ender hver og en av trekantene opp med å bli piksler; Imidlertid kunne nevnte enhet snart si farvel.
Grunnen? Dine begrensninger
Problemet med rasterenhetene er at de ikke er laget for å fungere med veldig små trekanter, det vil si de som er rasterisert i noen få piksler. Videre, når et objekt består av bare noen få piksler, er det rasterizeren gjør konkludere med at det er for langt unna og markere det for sletting. Selvfølgelig, før du sjekker avstanden til kameraet med dybdebufferen for å eliminere den fra scenen og at den ikke trenger å beregnes. Dette gjøres også med gjenstander bak en større, noe som gir problemer når den fremste gjenstanden til en viss grad er gjennomsiktig. Noe som skaper problemer, men det er en helt annen sak.
Problemet? Vi beveger oss inn i en verden der geometri brukes på ekstreme nivåer for å detaljere karakterer, objekter og innstillinger. Noe som betyr trekanthastigheter som gjeldende rasterenheter ikke kan støtte. Noe som er en flaskehals, men problemet er at de ikke kan fungere godt med små trekanter. I den forstand at hvis vi har 100 trekanter på 50 piksler, blir ikke dette oversatt til 200 av 25 piksler. Derfor reduseres effektiviteten ettersom polygonene den arbeider med er mindre.
Hva er løsningen?
Så mye at folkene på Epic Games i møte med etableringen av Unreal Engine 5 har måttet lage rasterenheter ved å bruke dataskyggere for det. Det er det GPU kjerner som gjør jobben til en spesialisert funksjonsenhet mye bedre. Som setter fremtiden i fare. For øyeblikket er det ikke utelukket, men det har allerede Damokles-sverdet på seg, så vel som tesseller- eller overflateinndelingsenheten.
I et intervju utført i mai 2020 med Brian Karis , uttalte grafikkprogrammereren at de har utviklet to typer programvaretrekantrasterizere for Unreal Engine 5. Dette forutsetter at Epics nye motor, som vil bli brukt av dusinvis av spill i industrien allerede har muligheten til å unnvære rasterenheten. Det vil si, bytt ut en av GPU-kjernene for å erstatte hver av disse enhetene og få mer ytelse med den.
De aller fleste trekanter er rasterisert av programvare som bruker høyt spesialiserte dataskyggere, som er designet for å dra nytte av det vi kan dra nytte av. Som et resultat har vi vært i stand til å la maskinvarerasterisatorer ligge i støvet på denne spesifikke oppgaven. Programvarerasterisering er et viktig element i Nanite som lar oss gjøre det det gjør. Vi kan ikke slå maskinvarerasterisatorer i alle tilfeller, så vi bruker dem når vi finner ut at det er den raskeste veien.
Hvit og på flaske, som du kan lese. De vil forsvinne på grunn av det faktum at de er transistorer som NVIDIA, Intel og AMD kan utnytte til andre ting som vil bli viktigere i fremtiden.
Hvorfor vil organiseringen av grafikkort endres?
Hvis du ser på diagrammene til en hvilken som helst GPU, vil du se at kjernene er ordnet i blokker rundt en rasterizer. Dette er fordi de sender både data til disse enhetene og også mottar dem, avhengig av hvilket stadium av 3D-rørledningen vi snakker om. Så å fjerne det er en omorganisering. For øyeblikket er den ideelle størrelsen for 100 % effektivitet av rasterenheter 48 piksler for NVIDIA og 64 for AMD. Dette begrenser også antallet kjerner i modeller designet for spill. Som, i tilfellet med merkevaren i grønt, kan sees ved å sammenligne sjetongene for høyytelses databehandling og spill.
Som man kan se, har ikke H100 GPC en Raster Engine, noe som gjør at den ikke har en så fast organisasjon og derfor begrenset. Denne endringen vil tillate at NVIDIA, og også AMD, ikke trenger å designe to forskjellige design for HPC og Gaming, men i stedet vil kunne trekke fra en universell grunnmodell når det gjelder design. Som du kan iterere fra. I dag, uansett om vi snakker om en sentral prosessor eller en grafikkprosessor, finner vi at interkommunikasjonen er mellom 2/3 og 3/4 av den totale brikken og det faktum å måtte jobbe på to forskjellige brikker er skremmende.
La oss ikke glemme at hver ny node er flere transistorer, dette er flere deler og flere ingeniører å ansette. Det vil nå det punktet hvor de samme grafikkortene som tilbys for vitenskapelig arbeid vil være high-end for spill, på grunn av det faktum at det ikke vil være lønnsomt å lage to forskjellige modeller og eliminering av rasterenheten vil være nøkkelen i hele denne utviklingsprosessen. samling.