AMD: n ja NVIDIA: n näytönohjaimet, onko tulevaisuus ilman RT-ytimiä RT: lle?

Onko mahdollista, että RT-ytimet katoavat tulevaisuudessa NVIDIA, Intel ja tai AMD? Voivatko Shader-yksiköt valtavalla laskentatehollaan kasvaa tarpeeksi siihen pisteeseen asti, että sisällyttäminen on täysin annettavissa? tämän tyyppisiä yksiköitä?

RT-ytimet, säteilykiihdytinyksiköt tai leikkausyksiköt ovat erikoistuneita yksiköitä, jotka vastaavat yhdestä tehtävästä grafiikkasuorittimissa ja jotka tulivat ensimmäistä kertaa ensimmäisen NVIDIA RTX: n käsistä.

Näytönohjaimet AMD: ltä ja NVIDIA: lta

Tässä artikkelissa emme selitä, mihin ne on tarkoitettu, suosittelemme, että etsit HardZone-artikkelia Mitä ovat RT-ytimet säteen jäljittämiseen ja miten ne toimivat? jossa selitämme yksinkertaisella mutta yksityiskohtaisella tavalla tämän tyyppisten yksiköiden toimintaa.

Mitä ovat RT-ytimet tai leikkausyksiköt?

RT-ytimet NVIDIA

NVIDIA: n RT-ytimet tai AMD: n Ray Accelerator -yksiköt ovat yksiköitä, jotka vastaavat säteiden ja kohtauksen eri elementtien välisen leikkauspisteen laskemisesta ymmärtääkseen, mikä on tämän tyyppisen yksikön tarve uusien grafiikkakorttien laitteistoissa on ymmärrettävä, kuinka yksinkertaisin versio säteen jäljitysalgoritmista toimii:

Jokaisen pikselin tai objektin kohdalla, jossa pikseli sijaitsee, jos säde leikkaa mainitun kohteen: kyseisen pikselin väriarvo muuttuu näytöllä.

Tämä tehdään jatkuvasti ja toistuvasti kaikissa kehyksissä, jotka GPU renderöinnit, jotka on luotu käyttämällä säteen jäljitysalgoritmia tai yhtä sen muunnelmista, joko osittain niiden epäsuorien valaistusongelmien ratkaisemiseksi, joita rasterointi ei pysty ratkaisemaan itse.

Möller-Trumbore-algoritmi säteiden ja kolmioiden risteykselle

Intersección Rayo Triangulo RT -sydämet

Säteen leikkausyksiköt ovat kiinteitä toimintoyksiköitä, jotka suorittavat Moller-Trumbore-algoritmi . On otettava huomioon, että kiinteiden toimintoyksikköjen tehtävä on aina käyttää samaa ohjelmaa joistakin syötetiedoista, mainittu ohjelma on mikrojohdotettu, joten mainitun yksikön muodostavat transistorit on sijoitettu siten, että ne voivat käyttää vain sitä ohjelma eikä toinen.

Kiinteiden toimintoyksiköiden etuna on, että ne tarvitsevat vähemmän transistoreita kuin paljon monimutkaisemmat ohjelmoitavat yksiköt, mutta kiinteällä toimintoyksiköllä on merkitystä vain laitteistossa, jossa ohjelmoitavat yksiköt hallitsevat, jos se pystyy suorittamaan tehtävänsä kerralla. nopeus, jota kustannus- ja nopeustasolla ei voida sovittaa ohjelmoitavaan osaan.

On selvää, että kuten mikä tahansa algoritmi, se on mahdollista suorittaa varjostinyksiköissä, mutta jotta tämä olisi mahdollista, mainittujen yksiköiden olisi oltava riittävän nopeita luopumaan kiinteistä toimintoyksiköistä.

Möller - Trumbore-algoritmin kustannukset

Algoritmo Moller-Trumbore RT -ytimet

Huolimatta siitä, että algoritmeja on enemmän, tämä on tunnetuin ja käytetty, siksi olemme päättäneet käyttää sitä esimerkkinä ja uskokaa minua, että sen hinta ei ole suoraan halpa, koska kaikkiaan pikseliä kohden on 27 liukulukuoperaatiota . Mutta joissakin arkkitehtuureissa, koska jako on monimutkaisempi toteuttaa varjostimissa, sitä eivät suorita tavanomaiset SIMD-yksiköt, vaan SFU: t, jotka voivat suorittaa paljon monimutkaisempia aritmeettisia operaatioita, mutta pienemmällä nopeudella kuin summat. ja kertolaskuja.

Toisin sanoen tarvitsisimme 27 FLOPSia pikseliä kohden, mutta pikseliä ja risteystä kohden. Ajattele nyt kohtauksen risteysten ja pikselien määrää ja saat karkean kuvan siitä, miksi leikkausyksiköt tai RT-ytimet ovat niin välttämättömiä.

RT-ytimiä korvaavan varjostimen tyyppi

Etapas DXR

Reaaliaikaisen säteiden jäljityksen API-määrityksissä, sekä DXR: ssä DX12 Ultimate -ohjelmassa että Vulkanin Ray-jäljitys-laajennuksissa, on vanhentunut eräänlainen varjostin, joka on Intersection Shader, jonka se korvaa kokonaan leikkausyksiköille. laitteistossa, jossa niitä ei ole läsnä.

Pidä mielessä, että varjostin ei ole muuta kuin ohjelma ja se, että ohjelmoijien on tehtävä oma leikkausyksikköpeli pelin avulla, voi olla ikävä, siksi molemmat sovellusliittymät sisältävät esimerkkejä leikkausvarjoista. Tämän kompromissi? Monet kehittäjät saattavat pitää API-liittymiin sisältyvää leikkausalgoritmia sekä kiinteitä toimintoyksiköitä sopimattomina.

Diseño Circuitos -paperi

Laitteistosuunnittelussa ei ole tavallista poistaa kiihdyttiminä toimivia kiinteitä toimintoyksiköitä, vaan on tavallista laajentaa mainittujen yksiköiden kapasiteettia ja jopa tehdä näistä yksiköistä ohjelmoitavia, joten seuraava vaihe leikkausyksiköiden evoluutiossa, jos ei ole jo tehty, se on tarkoitettu tiettyyn verkkotunnustarkoitukseen mikro-ohjelmoidulla koodilla, joka voidaan päivittää.

Siksi on mahdollista, että näemme uusien, paremmalla suorituskyvyllä varustettujen leikkausalgoritmien luomisen, jotka lopulta kirjoitetaan jokaisen yksikön sisäiseen muistiin laiteohjelmistopäivityksellä.

Kiinteitä toimintoyksiköitä ei ole koskaan poistettu GPU: sta

NVIDIA-näytönohjain

GPU: lla on sarja kiinteitä toimintoyksiköitä 3D-grafiikan renderoimiseksi, nämä yksiköt, kuten leikkausyksiköt, ovat vastuussa toistuvien ja toistuvien tehtävien suorittamisesta kussakin kehyksessä. Viitataan yksiköihin, kuten tekstuuriyksiköihin, geometrian rasteroinnista vastaaviin yksiköihin jne.

Näitä yksiköitä ei ole koskaan poistettu johtuen siitä, että heidän tehtävänsä voi suorittaa varjostinyksikkö. Mikä enemmän, jos ottaisimme grafiikkasuorittimen ilman mainittuja kiinteitä yksiköitä ja saisimme heidät tekemään näkymän 3D-muodossa, ne olisivat suuruusluokkaa tehottomampi kuin GPU, jossa on vähemmän varjostinyksiköitä, mutta nämä yksiköt sisältyvät.

Suuntaus on aina se, että kussakin kehyksessä esiintyy toistuva ja toistuva osa, joka vie suuren osan varjoa suorittavien yksiköiden ajasta ja resursseista, koska se päätyi luomaan erityistyyppisen yksikön, joka ei vain tyhjennä mainitusta tehtävästä näihin yksiköihin, mutta tehdä se nopeammin ja osan kustannuksista.