Raytracingová grafika i pro mobily. Nové GPU Immortalis-G715 od ARMu už umí „RTX“

4. 7. 2022

Sdílet

 Autor: ARM
S novými jádry CPU uvedl ARM letos také nová mobilní GPU – zejména novou řadu ARM Immortalis-G715. Telefonní SoC s ní získají Variable Rate Shading a akceleraci raytracingu ve hrách.

Tento týden ARM oznámil nové architektury CPU (už jsme psali o novém velkém jádru Cortex-X3, které bude nejrychlejší architekturou ARMu, a novém efektivním jádru Cortex-A715). S nimi ale také oznámil nové GPU pro mobilní čipy – novou generaci Mali, ale také novou řadu grafik nazvanou Immortalis. A ta je velmi zajímavá: přináší totiž podporu raytracingových efektů, které teď podle ARMu mohou nastoupit do mobilních her.

ARM v letošní sérii licencovatelného „IP“ představil tři návrhy GPU pro mobilní procesory: Mali-G715, levnější Mali-G615 a pak prémiovou architekturu nazvanou již ne Mali, ale Immortalis-G715. Jsou založená na základně čtvrté generace grafické architektury Valhall, která se poprvé objevila v Mali-G77 a poté v Mali-G78/G68 a Mali-G710/G610.

Generace GPU ARM pro rok 2022 Generace GPU ARM pro rok 2022 (zdroj: ARM, via: ComputerBase)

Tři zmíněná nová GPU se liší výkonem implementace této společné architektury a částečně funkcemi. Mali-G615 je varianta pro levné SoC, která má mít 6 nebo méně grafických „jader“ (6 jader by mělo odpovídat 384 shaderům / jednotkám FP32). Lepší Mali-G715 se liší tím, že může mít 7–9 jader (448–576 shaderů).

Ryzen 9 5950X3D? Platforma AMD AM4 ještě dostane nové procesory, prý i další s 3D V-Cache Přečtěte si také:

Ryzen 9 5950X3D? Platforma AMD AM4 ještě dostane nové procesory, prý i další s 3D V-Cache

Nejzajímavější verze Immoratalis-G715 podporuje 10 až 16 jader (640–1024 shaderů), zejména se ale liší tím, že grafická jádra mají přidané jednotky pro hardwarovou akceleraci raytracingových efektů, tedy obdobu RT Cores v GPU Nvidia a Ray Acceleratorů v GPU od AMD.

GPU ARM Immortalis G715 GPU ARM Immortalis-G715 (zdroj: ARM, via: ComputerBase)

Valhall IV se inspiroval u Nvidia Ampere

Použitá architektura Valhall 4. generace má vedle podpory ray tracingu (ve verzi Immortalis) také docela závažné obecné změny. Nejdůležitější novinka je něco podobajícího se přidání dalších shaderových jednotek, které Nvidia provedla v architektuře Ampere (s předstupněm v Turingu). Předchozí třetí verze architektury Valhall měla v každém jádru 32 shaderů – ve dvou Execution Enginech po 16 shaderech (předchozí generace měly jen jeden). Tyto dva Execution Enginy mají společný frontend, load-store část a texturovací a další fixní jednotky.

Execution Engine architektury Valhall Execution Engine architektury Valhall před čtvrtou generací (zdroj: ARM, via: ComputerBase)

Nová čtvrtá generace do každého Execution Engine zavedla dvojnásobný počet FP32 jednotek (ARM o nich mluví jako o DMA jednotkách), přesněji by mělo jít o to, že zatímco dříve měl Engine jednu SIMD jednotku o 16 „pruzích“, teď jsou tyto SIMD16 jednotky FMA dvě. V jednom Execution Enginu je tedy nyní 32 shaderů a v celém jádru 64. Podobně jako u Nvidie (a možná u AMD v RDNA 3) se tedy zvýšil počet FP32 shaderů na jednu základní výpočetní jednotku.

Execution Engine architektury Valhall čtvrté generace se zdvojenými jednotkami FMA Execution Engine architektury Valhall čtvrté generace se zdvojenými jednotkami FMA (zdroj: ARM, via: ComputerBase)

Toto je podle ARMu efektivnější způsob zvýšení hrubého výkonu, protože neroste počet fixních jednotek a různé další funkcionality a řídicí logiky. Dvojnásobný hrubý výkon v FP32 výpočtech (aspoň teoretický) byl dosažen výměnou za jen 27% zvětšení plochy.

Zdvojnásobení jednotek FMA v poměru k celkovému zvětšení plochy GPU Zdvojnásobení jednotek FMA v poměru k celkovému zvětšení plochy GPU (zdroj: ARM, via: ComputerBase)

Zlepšení efektivity

ARM uvádí i další zlepšení nových GPU. Jednotky FMA mají podporovat také maticové operace (MMUL) pro akceleraci AI (což má také 2× zlepšit výkon pro tyto operace) a řada dalších bloků údajně doznala zlepšení výkonu, zabrané plochy na čipu a/nebo spotřeby.

Tiler (GPU ARMu používají tile-based rendering) by údajně měl špičkově zvládat až 3× více trojúhelníků. Další zlepšení mají být v rychlejším Command Stream Frontendu, v load-store části, v mapování textur a byla přidána podpora komprese textur AFRC (ARM Fixed Rate Compression), která šetří propustnost paměti.

Jednotka RTU pro raytracing

Raytracingové efekty bude v Immortalis-G715 počítat specializovaná jednotka RTU (Ray Tracing Unit) umístěná v každém grafickém jádru, jejich počet v GPU by tedy měl odpovídat počtu „jader“ (10 až 16). Tato jednotka podle slajdů funguje na stejném principu jako akcelerace raytracingu v DirectX 12 Ultimate (DXR) u Radeonů a Nvidií.

Akcelerace ray tracingu jednotkami RTU v GPU Immortalis G715 2 Akcelerace ray tracingu jednotkami RTU v GPU Immortalis-G715 (zdroj: ARM, via: ComputerBase)

Při výpočtech raytracingu se používá BVH (Bounding Volume Hierarchy) Traversal, kdy se nejprve hledají průsečíky paprsku s „boxy“ členícími objekty na scéně a nakonec se analyzuje již přímo průnik s trojúhelníky tvořícími objekt v rámci nalezeného boxu. RTU v GPU architektuře Immortalis-G715 akceleruje jak hledání průsečíku s boxy, tak s trojúhelníky. Ostatní operace, jako třeba denoising, pak přebírají standardní shaderové jednotky.

Akcelerace ray tracingu jednotkami RTU používá analýzu BVH stromu Akcelerace ray tracingu jednotkami RTU používá analýzu BVH stromu (zdroj: ARM, via: ComputerBase)

Podle ARMu jsou jednotky RTU poměrně malé, a neměly by tedy integrovanou grafiku moc prodražit – údajně zabírají jen 4 % plochy jádra, ale jejich použití zlepšuje výkon raytracingových efektů až o 300 % proti tomu, kdyby se počítaly čistě „softwarově“ jen pomocí shaderů, což už bylo podporováno v ovladačích předchozí generace Mali-G710. Zní to podobně jako zrychlení, jaké Nvidia zhruba uváděla pro první generaci raytracingových GPU Turing.

Akcelerace ray tracingu jednotkami RTU v GPU Immortalis G715 Akcelerace ray tracingu jednotkami RTU v GPU Immortalis-G715 (zdroj: ARM, via: ComputerBase)

Ray tracing v mobilních hrách zralý na boom?

Architektura Immortalis-G715 je první od ARMu, které podporu raytracingových efektů přináší, ale není první obecně. V grafikách pro PC tuto funkcionalitu již nyní mají všichni tři konkurenti (Nvidia od GeForce RTX 2000/Turing, AMD v Radeonech RX 6000/RDNA 2 a Intel v nedávno vydaných grafikách Arc).

Podpora se ale již objevila i v mobilních GPU, a to v PowerVR od Imagination, která byla vůbec průkopníkem v experimentech s raytracingem, ale nikdy se jí tuto technologii do mobilů nepodařilo prosadit. Poslední generace mobilních GPU Imagination již má také akceleraci ray tracingu standardně. ARM má ale již v mobilech přichystanou konkurenci v podobě architektury AMD RDNA 2, kterou má včetně podpory ray tracingu licencovanou Samsung pro své mobilní čipy Exynos 2200. Kdo zatím raytracingové GPU nenabízí, je Qualcomm ve svých GPU Adreno a Apple ve stých vlastních GPU, které vycházejí z technologií Imagination PowerVR, s různými úpravami Applu.

Podle ARMu je právě teď dobrá doba, aby se raytracingové efekty objevily v mobilním hraní – partneři a vývojáři her jsou podle firmy připravení, i když rozšiřování asi může ještě trvat a být jen pozvolné. Podobného názoru je ale i již zmíněný Samsung, takže ARM zde není jediný, kdo tlačí na pilu.

Variable Rate Shading v GPU od ARMu

Přidání podpory ray tracingu není ovšem jediná významná změna v těchto GPU. Zdá se, že ARM míří na podporu i dalších technologií z DirectX 12 Ultimate. Všechna tři nová GPU (tedy i levnější Mali-G615 a Mali-G715) mají nově podporu technologie Variable Rate Shading, jejíž využití dokáže ušetřit výkon shaderů tím, že se adaptivně shadery provádí nikoliv v plném rozlišení, ale například jen na blok 2×2 pixelů.

Variable Rate Shading v GPU ARM Mali G715 G615 a Immortalis G715 Variable Rate Shading v GPU ARM Mali-G715, G615 a Immortalis-G715 (zdroj: ARM, via: ComputerBase)

Podle ARMu může Variable Rate Shading v některých případech zlepšit výkon až o 40 %, ale v kontextu mobilního hraní je také důležité to, že může snížit množství energie, které výpočet grafiky spotřebuje, a tedy prodloužit výdrž a baterie.

Variable Rate Shading v GPU ARM Mali G715 G615 a Immortalis G715 2 Variable Rate Shading v GPU ARM Mali-G715, G615 a Immortalis-G715 (zdroj: ARM, via: ComputerBase)

Pravidelné aktualizace ovladačů separátně od operačního systému, jako na Windows

Je ještě jedna menší změna, která má být s těmito novými architekturami GPU spojena, ale mohla by hrát důležitou roli. V počítačích jsme zvyklí na to, že výrobci GPU vydávají pravidelné aktualizace ovladačů, které jsou docela stěžejní pro dobré fungování her a opravy chyb v nich. Na mobilních platformách to tak ale úplně nefunguje.

ICTS24

ARM ale uvádí, že architektury Mali-G615/G715 a Immortalis-G715 začnou také dostávat četnější aktualizace, které nebudou spojené s aktualizací jádra OS a celého systému. Novější ovladače budou GPU dostávat přes obchod Google Play, což by obešlo známou bariéru v podobě aktualizací systému Android.

Zdroje: ARM, ComputerBase