Minulý týden Nvidia představovala novinky pro grafiky GeForce – zejména šlo o vydání moddingové platformy RTX Remix a oznámení prvních her používajících Nvidia ACE. Firma má ještě jednu novinku: tzv. Neural Shaders, což je jedna z architektonických novinek v GPU generace Blackwell, se dostanou do DirectX. Microsoft do tohoto API přidává funkci Cooperative Vectors a GeForce RTX 5000 ji právě skrze své Neural Shadery budou podporovat.
Neural Shaders jsou jedna z nových věcí, kterou přinesla GPU architektura Blackwell a spočívá v bližším propojení tensor jader (tedy akcelerátorů AI v GPU Nvidia) s obecnými výpočetními jednotkami, „shadery“. Zatímco u starších GPU Nvidie moc nejde používat kód (nebo to má horší výkon), který by současně používal obecné shaderové výpočty a akceleraci AI na tensor jádrech, u Blackwellu to už je možné.
Nvidia tuto schopnost označuje jako „Neural Shadery“. Jejich využití je takové, že do shaderu běžícího na GPU je možné integrovat jednoduchou neuronovou síť, která může zastoupit nějaký konvenční algoritmus inferencí. Nvidia navrhuje použít takové malé integrované AI modely například k simulaci složitých materiálů, jako je kůže (s efektem průsvitnosti na povrchu), čemuž říká Neural Materials, nebo k simulaci osvětlení (Neural Radiance Cache).
Cooperative Vectors
Implementace podobných technik bude možná v DirectX v rámci technologie, kterou Microsoft pojmenoval Cooperative Vectors. To ovšem není to samé co Neural Shaders od Nvidie. Podpora Neural Shaders je to, co grafikám Blackwell dovolí používat technologii Cooperative Vectors v DirectX (a předpokládáme, že také nějakou obdobu v API Vulkan).
Cooperative Vectors mají umožňovat zapojení AI komponent do tradiční grafické pipeline (a tedy „techniky neuronového vykreslování“), ale s multiplatformní podporou. Což znamená, že tyto techniky mají fungovat na GPU od různých výrobců a Microsoft tím asi míní i podporu na herních konzolích (Xbox, pro něž je DirectX relevantní).
Cooperative Vectors umožňují v shaderech používat maticové výpočetní operace s vektorem o libovolné šířce. Maticové operace jsou přitom přesně to, na čem akcelerace AI staví. Pomocí technologie Cooperative Vectors je možné mít inferenci umělé inteligence integrovanou přímo dovnitř například pixel shaderu. Není třeba přepínat GPU do nějakého zvláštního režimu akcelerace AI. Tento shader poběží na GPU jako obvykle a lze ho zpracovávat spolu s dalšími běžnými grafickými operacemi najednou. Přístup k AI funkcím touto formou by měl být výrazně jednodušší (ale asi se obvykle takto budou používat menší, jednodušší AI modely, ne nějaké „LLM“).
Podpora má být od všech výrobců GPU
Cooperative Vectors mají být vedle grafik Nvidia podporované také na GPU od AMD, Intelu a Qualcommu (tedy i na platformě ARM Windows). U Nvidie zatím zprávy mluví o generaci grafik GeForce RTX 5000 s architekturou Blackwell, jako by starší grafiky GeForce tuto novinku podporovat neměly (podle toho, jak to Nvidia podává, podle firmy na starších GPU bylo pro zapojení tensor jader třeba použít režim Cuda nebo Compute Shaderů, zatímco na Blackwellu lze tensor jádra použít přímo z pixel shaderů).
Je možné, že nejde o něco, co by na starších GPU striktně nešlo udělat, jen je propojení shaderového programu a inference AI na tensor jádrech neefektivní nebo má nějaký výkonnostní postih (něco podobného jako asynchronní shadery na starších GPU).
U konkurenčních grafik zatím nevíme, od jaké generace grafik budou Cooperative Vectors umět. Intel má v grafikách speciální jednotky XMX, u nichž nebylo zatím vyjasněno, zda umožňují propojení shaderového kódu a akcelerace AI, nicméně v nějakých GPU Arc podpora, jak bylo zmíněno, bude.
U grafik AMD (RDNA 3 a RDNA 4) je akcelerace AI hodně úzce spojena s shaderovými jednotkami, protože obojí je poskytováno stejným hardwarem (akcelerace AI běží přes instrukce WMMA). U těchto grafik jsou tedy určité předpoklady k tomu, aby mohly Cooperative Vectors podporovat, ale zatím také podpora nebyla oficiálně potvrzena. Toto bude jasnější časem.
Podpora pro Cooperative Vectors se v SDK DirectX objeví v dubnu, kdy má být vydaná v „preview“ verzi. Bude součástí HLSL, tedy jazyka pro psaní shaderů v DirectX. Zatím je tato podpora asi relevantní pro vývojáře her, ne přímo pro uživatele – bude chvíli trvat, než se techniky neuronového vykreslování využívající tyto schopnosti GPU dostanou do hotových her.
