Valasek Gábor
1 Kis terem
Shaderoptimalizálás a fordító után: AMD és NVIDIA ISA assembly a gyakorlatban
Az előadás azt mutatja be, hogy milyen formában hajtják végre a modern GPU-k a gondosan megírt shaderkódunkat. Ehhez a jelenlegi konzolgeneráció (PS5, XBOX Series X) alapját is adó AMD RDNA architektúrákat valamint a PC-s játékvilág jelenleg legelterjedtebb GPU-ját, az NVIDIA Ampere-generációs architektúráját vizsgáljuk. Áttekintjük ezen hardverek legfontosabb közös vonásait és eltérő tervezési döntéseit, majd az alacsony, úgynevezett ISA-szintű assembly segítségével követjük végig, hogyan fordulnak le a magas szintű shadernyelvek műveletei a GPU által ténylegesen végrehajtott elemi utasításokra. Az előadás célja nem az assembly programozás megtanítása, hanem egy pontosabb mentális modell kialakítása arról, hogy mi történik a shader forráskódja és a hardveren futó program között: hogyan jelenik meg a vektorizáció, az utasításválasztás, a regiszterhasználat, a memóriaelérés, a párhuzamos végrehajtás és a vezérlési divergencia. Ez a szemlélet segít felismerni azokat a teljesítményproblémákat, amelyek a forráskódból önmagukban nem feltétlenül láthatók, és megérteni, miért viselkedhet ugyanaz a shader eltérően AMD és NVIDIA hardveren. Végül arra is kitérünk, hogyan használható ez a tudás az AI-val támogatott programozás során: miként ellenőrizhető a generált kód valódi költsége, hogyan adhatók pontosabb optimalizálási szempontok a kódgeneráló eszközöknek, és hogyan választhatjuk el a meggyőzőnek tűnő módosításokat a ténylegesen mérhető gyorsulástól.