GPU PowerVR dostávají novou architekturu Furian. Má být největším pokrokem od roku 2010

12. 3. 2017

Sdílet

 Autor: Redakce

V oblasti GPU se obvykle zaměřujeme jen na hráče aktivní ve sféře PC, což je Intel, Nvidia a AMD (teoreticky ještě VIA/S3, okolo nichž je ale většinou ticho). Na platformě mobilních čipů ARM ale soutěží skoro kompletně odlišná sestava – mezi ní i značka PowerVR od firmy Imagination Technologies. Právě a nyní přichází s novou grafickou architekturou nazvanou Furian.

GPU Furian mají přinést největší technologickou změnu v linii grafických jader PowerVR od roku 2010, kdy byla poprvé představena architektura Rogue s podporou OpenGL 3.0 ES. Rogue byl od té doby vylepšován během několika generací, až nyní s Furianem ale nastává velký architektonický předěl. Vzhledem k tomu, že GPU PowerVR se vedle angažmá ve všech čipech Apple navíc dostávají i do světa architektury x86 a PC v mobilních čipech Intelu, stojí asi za to se na novou architekturu podívat.

Schéma architektury PowerVR Furian Schéma architektury PowerVR Furian

Jak dostat víc jednotek na stejnou plochu

Architektura Furian má sice koncepčně vycházet z existujícího Rogue (o návrh „na zelené louce“ nejde), ale být výrazně přepracovaná. Podrží si základní koncepci vykreslování, tedy tedy dlaždicový tiled-based deferred rendering. Jednotlivé součásti byly ale přepracovány pro větší efektivitu, kvůli nových technologiím a funkcím, a také proto, aby bylo návrh možno škálovat na větší konfigurace a vyšší výkony. To je důležité, neboť architektura zde opět bude několik let, během nichž výkon poroste a bude třeba použít více a více jednotek, na což koncepce architektury musí být připravená již nyní.

Furian používá v jedné pipeline 32 výpočetních jednotek, zatímco starší generace Rogue jen 16 Furian používá v jedné pipeline 32 výpočetních jednotek, zatímco starší generace Rogue jen 16

Ve snaze dostat na stejnou plochu víc výkonu změnili v Imagination hlavní strukturu výpočetního klastru. GPU založená na Rogue mají v každém 16 pipeline, v nichž byly dvě jednotky ALU se schopností sčítat i násobit. U Furianu má klastr pipeline 32. Při celkově stejném počtu pipeline v celém GPU toto ušetří kontrolní logiku, byť za cenu ztráty pružnosti (je zajímavé, že třeba Nvidia šla opačným směrem). Již architektura Rogue počítala architektonicky s 32 pipeline coby šířkou pro tzv. wavefront, takže zde vlastně nejde o radikální změnu. Furian jen celou wavefront konzumuje naráz, zatímco Rogue si ji rozkládal na poloviny během dvou taktů. Aby byla zachována rovnováha, má klastr také zdvojnásobený výkon ve filtrování textur (8 texelů za takt při bilineárním filtrování).

Furian je navržen tak, aby komunikační cesty v čipu byly kratší, což by mělo šetřit energii a umožnit vyšší takty Furian je navržen tak, aby komunikační cesty v čipu byly kratší, což by mělo šetřit energii a umožnit vyšší takty

Další úsporou, díky které bude v GPU moci být jednotek ve výsledku více, je pak zjednodušení druhé z obou ALU v každé pipeline. Místo symetrického uspořádání s dvěma jednotkami podporujícími sčítání i násobení bude Furian mít jen jednu univerzální ALU. Druhá bude umět jen násobení, což údajně pokrývá většinu operací, které by do druhé ALU směřovaly a je efektivnější než mít druhou jednotku také univerzální a tím složitější. Obě ALU by měly pracovat s 32bitovými hodnotami (FP32), ale umožňují místo jedné této operace zpracovat dvě 16bitové hodnoty (FP16) naráz pro vyšší výkon.

Podle Imagination má Furian přinášet při vztažení na plochu čipu o 35 % vyšší výkon shaderů, 80% zlepšení výkonu rasterizačních či texturovacích jednotek a obecný herní výkon má také být údajně až o 70–90 % lepší. To jsou samozřejmě marketingová čísla, nejspíš vybírající ty nejlepší výsledky. V praxi by zřejmě přínosy měly být méně dramatické, případně pocházet také ze zvětšení počtu jednotek a modernějších výrobních postupů u nových SoC.

furian-statsFurian má také pokročilejší výpočetní možnosti mimo grafické a herní použití. Architektura má podporovat OpenCL 2.0, i když certifikace je teprve rozpracovaná. Zajímavé je, že podporuje koherentní komunikaci a sdílení paměti a obsahů cache s CPU. Měl by dokonce mít částečně schopnosti heterogenních výpočtů odpovídající architektuře HSA, ačkoliv kompatibilní s ní není.

powervr-furian-slajd-custom-units

bitcoin_skoleni

PowerVR si bude možné upravit na míru, třeba pro ray tracing

Furian má jinak ještě jednu zajímavou vlastnost. Imagination nabízí možnost upravit si tato GPU na míru, a to přidáním zcela specifických hardwarových jednotek podle potřeb implementátora. Tyto jednotky mohou mít formu akcelerátoru v rámci pipeline, ale údajně je možné nestandardní funkcionalitu přidat dokonce i do samotných shaderů – pochopitelně za cenu větší náročnosti. Příkladem takovýchto aplikací mohou být například jednotky pro výpočet raytracingové grafiky, které Imagination vyvíjí v rámci architektury Wizard. Výrobci SoC, kteří se chtějí odlišit, ale mohou přinést i jiné vlastní nápady.

Prototyp GPU PowerVR pro výpočet raytracingové grafiky v reálném čase (Zdroj: Imagination Technologies) Prototyp GPU PowerVR GR6500 pro výpočet raytracingové grafiky v reálném čase (Zdroj: Imagination Technologies)

Imagination na novou architekturu nepřejde okamžitě. Z počátku na ní založí jen své nejsilnější „highendové“ GPU, kdežto v nižších patrech nabídky bude ještě zůstávat technologie GPU Rogue. Levnější zařízení či čipy, kde je třeba nízká spotřeba či nízké množství tranzistorů a zabrané rozlohy, se nové architektury dočkají až později, Imagination ji bude na celé své portfolio grafiky rozšiřovat postupně. Zákazníci by údajně měli dostat finální návrhy bloků někdy v polovině roku, což asi znamená, že v hotových čipech a potažmo zařízeních se GPU Furian poprvé asi objeví až v roce 2019, nebo nejdříve koncem roku 2018.