Sugárkövetés újragondolva
A sugárkövetés tekintetében az RDNA 4 jelentős újításokat vezet be. A kapcsolódó részegységek továbbra is a textúrázóblokk mellett találhatók, vagyis CU-nként továbbra is egy úgynevezett RA, azaz Ray Accelerator található. Ezen belül viszont már sok a változás, többek között javult a dobozok és a háromszögek metszésvizsgálatának hatásfoka, mivel órajelenként rendre nyolc és két operáció hajtható végre. Ez már önmagában duplázza a tempót, de a hardver kiegészült egy Ray Transform feldolgozóval, ami bejárási folyamat egyes lépcsőin gyorsít.
A sugárkövetéssel járó feladatok egy kritikus része a BVH gyorsítóstruktúra generálása, illetve az ezzel való munka, és itt az RDNA 4 sokat változott. Egyrészt a rendszer már nem BVH4, hanem BVH8 gyorsítóstruktúrával dolgozik, ami nagyjából 40%-kal csökkenti a memória terhelését, illetve elérhető az úgynevezett OBB képesség, ami az Oriented Bounding Boxes rövidítése.
Hirdetés
Az OBB lényegéhez érdemes megérteni a tradicionális BVH gyorsítóstruktúrában a határolódoboz a tengelyek mentén igazított, vagyis minden doboz egyes élei párhuzamosak vagy merőlegesek lehetnek az alkalmazott koordinátarendszer tengelyeire. Ez igazából nem rossz, de vannak olyan geometriák, amelyek ilyen szempontból nem optimálisan helyezkednek el. Ettől még a jelenlegi rendszer ezekkel is tud bánni, de relatíve sok határolódoboz szükséges ahhoz, hogy kezelve legyenek, és ez az esetek többségében azt eredményezi, hogy a hardver feleslegesen számol, mert a dobozok többsége üres lesz, vagyis nem tartalmaz majd geometriát. Ezt persze előre nem lehet tudni, tehát egy szükséges rosszról van szó van szó, viszont ilyen formában igen mély lesz az adott BVH gyorsítóstruktúra.
Az AMD erre létrehozta az OBB-t, és ez egy olyan határolódoboz, ami nem a tengelyek mentén igazított, hanem inkább a geometriához igazodhat. Ezzel a módszerrel kevésbé mély BVH gyorsítóstruktúra hozható létre, ezáltal csökkentve a szükségtelen számítások elvégzésének arányát. Általánosan elmondható, hogy minél komplexebb egy modell geometriája, annál nagyobb az előnye az OBB bevetésének, mert sok háromszöggel nagyobb a valószínűsége, hogy egy adott háromszög nem fog optimálisan elhelyezkedni. Ezek viszont az RDNA 4 esetében nem kritikus problémák, mert a hardver orientálni tudja a BVH gyorsítóstruktúra határolódobozait.
Az új rendszer másik nagy újítása két részből áll. Az egyik a Pack and Sort, ami az RA feldolgozó része, és hozzá kapcsolódik az LDS-en belül elhelyezkedő Traversal Stack Management. Igazából utóbbi nem is hardverelem, hanem egy kis speciális memóriaszelet, ami segíti a Pack and Sort, de más shaderek esetén is hasznosítható, csak ott nem akkora a jelentősége, mint sugárkövetésnél. A lényege ennek a fejlesztésnek az, hogy sorrendtől független legyen a memória elérése, vagyis az adott SIMD motoron futtatott konkurens wave-ek, azaz azonos szemcsézettségű szálcsoportok elemeinek memóriaelérése ne várjon egymásra. A várakozás ugyanis akkor kifejezetten kellemetlen, ha nincs valamelyik cache-ben találat. Ilyenkor alapból nagyobb késleltetéssel jár az adatelérés, mert a korábbi dizájnokban a találatot eredményező, másik wave-ből származó adatelérések is kényszerűen késleltetve voltak. Az RDNA 4-ben erre nincs szükség. Mostantól a wave-ek egyes szálainak adatelérése hardveresen menedzselt, így ha egy adott wave szerencsés és mindegyik szálához szükséges adat ott van egy közeli gyorsítótárban, akkor maximális hatékonysággal folytatható a munka, függetlenül bármelyik másik wave adatelérési nehézségeitől.
Ez leginkább sugárkövetés során eredményez majd előrelépést, méghozzá akkor, ha nem koherensek a memóriaelérések. Ilyen helyzet gyakorlatilag minden másodlagos sugár, ugyanis ezeknél nem meghatározható, hogy az egymás melletti kiindulóponttal rendelkező sugarak hol találnak el valamit. Szemben az elsődleges sugarakkal, amelyek a kamera pozíciójából indulnak ki, ezáltal egymással garantáltak koherensek.
A cikk még nem ért véget, kérlek, lapozz!