Radeony RX 7000 asi mají něco jako Tensor Core. RDNA 3 přinese maticové instrukce WMMA

30. 6. 2022

Sdílet

 Autor: AMD
AMD doteď nenásledovalo Nvidii a neintegrovalo do herních GPU jednotky vyhrazené pro akceleraci AI. Ale podle linuxových ovladačů to přicházející grafiky s architekturou RDNA 3 možná změní.

Na podzim chystá AMD vydání nové generace GPU s architekturou RDNA 3, která by měla dostat jméno Radeon RX 7000. Firma řekla, že jejich architektura by měla být výrazně přepracovaná s novými výpočetními jednotkami a lepší energetickou efektivitou, ale zatím nejsou moc jasné konkrétní detaily těchto změn. Vypadá to ale, že by mezi nimi mohlo být přidání hardwarové akcelerace neuronových sítí („AI“) podobné tensor jádrům u Nvidie.

AMD už pomalu posílá různé patche přidávající linuxovou podporu RDNA 3 a díky open-source kódu ovladačů (jedna z nevýhod pro dotyčné firmy) se z nich dá hodně vypozorovat. AMD teď v patchi zaslaném 28. 6. uvádí, že architektura či instrukční sada „gfx11“ obsahuje nové instrukce WMMA. Přičemž tato zkratka znamená Wave Matrix Multiply-accumulate. Označení gfx11 znamená GPU architektury RDNA 3, není tu tedy řeč o nějakých výpočetních GPU, ale zřejmě přímo o herních grafikách Radeon RX 7000.

Instrukce WMMA by měly provádět operace typu FMA nad maticí čísel, což je přesně typ operace, kterou akcelerují specializované jednotky pro AI výpočty včetně tensor jader v GPU Nvidie. Jedná se tedy téměř určitě o obdobu této funkcionality určenou k akceleraci neuronových sítí.

GPU RDNA 3 podle patche přinášejí instrukce WMMA GPU RDNA 3 podle patche přinášejí instrukce WMMA (zdroj: LLVM)

Instrukce WMMA by zřejmě měly podporovat matice 16×16×16, přičemž výsledek výpočtů má být ve formátu FP16 nebo Bfloat16. Otázka je, jak jsou tyto instrukce zpracovány v GPU, tedy zda pro ně RDNA 3 přidává nějaké samostatné výkonné jednotky. O tom, jak užitečné budou, bude rozhodovat zejména hrubý výkon.

AMD již má specializovanou akceleraci AI výpočtů v linii GPU architektury CDNA, kde se jmenují „Matrix Core“. Ovšem architektura CDNA (a následníci CDNA 2 a další) je oddělená linie, která vychází spíše z architektury Vega/GCN než z linie RDNA. Tudíž není jisté, zda se podobné jednotky prostě dostanou i do architektury RDNA 3. Místo nich může být použito něco jiného. Architektura CDNA také nazývá instrukce používající Matrix Core jinak (MFMA).

Zatím tedy těžko říct, zda bude podpora AI výpočtů v RDNA 3 mít nějaký dramatický význam pro výkon. Pokud ano, mohlo by AMD tyto operace využít podobně jako Nvidia, u které je asi nejviditelnější aplikací tensor jader herní upscaling DLSS a zejména vylepšený DLSS 2.x. AMD proti němu přišlo s FSR 2.0, což je podobný temporální upscaling, který ale nevyužívá neuronovou síť.

Použití pro upscaling her?

FSR 2.0 je až překvapivě konkurenceschopné v obrazové kvalitě, ale AMD by přesto asi mohlo vyvinout i verzi FSR 2.0 (FSR 3.0?), která by do této sady filtrů přidala interpolaci pomocí neuronové sítě. Mohlo by to vylepšit tu dílčí část celého procesu, která čistě spatiálně interpoluje jednotlivý snímek na vyšší rozlišení. Zdá se sice, že hlavní přínos v FSR 2.0 i DLSS 2.x má spíše temporální rekonstrukce probíhající poté, ale nějaké zlepšení by mohlo, či spíše mělo nastat.

Intel by měl u svého vlastního upscalingu XeSS sledovat podobnou strategii – měl by fungovat na bázi neuronové sítě, která využívá AI akcelerátory XMX v grafikách Intel Arc, ale zároveň má jako „fallback“ pro univerzální kompatibilitu režim, kdy upscaler používá jednodušší algoritmus běžící na obecných shaderech GPU. Případné FSR 3.0 by možná mohlo fungovat podobně – s režimem využívajícím AI instrukce i s režimem podporujícím všechna, i starší GPU ve stylu FSR 2.0. Nicméně to je zatím spekulace, uvidíme, jak se to s akcelerací AI na Radeonech RX 7000 vyvine.

bitcoin_skoleni

Tip: AMD potvrdilo, že u Radeonů RX 7000 také naroste spotřeba. Bude to méně než u Nvidie?

Zdroj: Kepler, LLVM, VideoCardz