Maxwell vděčí za úspěch tiled renderingu. Rasterizací se podobá PowerVR

0

Když přichází na trh nějaký nový hardware, třeba procesor nebo GPU, snaží se výrobci pochlubit se zlepšeními nebo novinkami v jeho fungování, jelikož takové detaily jsou reklamou a kupující o nich chce vědět. Jenže některé technické podrobnosti si zase tvůrci hodlají nechat pro sebe v snaze být o krok napřed před konkurencí. Zdá se, že v současných GPU Nvidie byla jedna taková utajená změna nyní odhalena – a jedná se přitom o docela velkou věc.

Podle zjištění Davida Kantera z webu Real World Technologies totiž Nvidia u architektury Maxwell zcela změnila systém, jakým GPU grafiku rasterizuje, byť o tomto detailu zcela mlčela. Pod „rasterizací“ je třeba rozumět krok při vykreslování, kdy je vypočítaná trojrozměrná scéna (s polygony, texturami) převedena do 2D podoby pro zobrazení. Tato část grafické pipeline používá stále specializované jednotky, na rozdíl od obecnějších ALU v shaderech – změna jejich práce je tudíž něco týkající se přímo hardwarového fungování čipu, nikoliv jen ovladačů.

GPU pro osobní počítače tradičně používají tzv. „immediate mode rendering“, který pracuje s celým snímkem. Tato metoda je ovšem náročná na paměťovou propustnost. Mobilní architektury jako PowerVR, Adreno od Qualcommu nebo ARM Mali proto již léta používají tzv. tile-based rendering (či tiled rendering). Tímto způsobem probíhá rasterizace vždy jen v malém výřezu („tile“, neboli dlaždici), například o rozměru 32 × 32 bodů. Geometrie scény je nejprve rozdělena mezi tyto dlaždice a jejich rasterizace je poté postupně provedena samostatně. Důležité je, že tímto způsobem se velmi zredukuje objem pracovních dat a ta tak mohou být při zpracování lokálně držena přímo v bufferech čipu, bez nutnosti přenosů z RAM, náročných na výkon a také na energii.

Podle Davida Kantera Nvidia u architektury Maxwell tento trik přenesla z mobilních architektur do světa PC (ovšem nikoliv jako první, tiled rendering kdysi fungoval u technologií PowerVR – karty Kyro – nebo u XGI). Zdá se, že implementace dlaždicové rasterizace je jedním a možná hodně důležitým z faktorů, které u Maxwellu umožnily až podivuhodný nárůst efektivity ve srovnání s předchozí architekturou Kepler, byť obě rodiny GPU používají stejný 28nm proces. Díky tile-based renderingu zřejmě také Maxwell funguje dobře s propustností pamětí nižší, než mají konkurenčními Radeony.

 

Tiled rasterization v Maxwellu a Pascalu

Maxwelly a po nich Pascaly tedy rasterizují v dlaždicích, což jim umožňuje více využít interní buffery a cache (měly by stačit k podržení geometrických dat, GPU dokonce zřejmě dlaždice dynamicky zmenšuje a zvětšuje tak, aby se se data přímo na čip vešla). Odlišnost od GPU z telefonů je ale v tom, že není použit tiled deferred rendering, ale tiled immediate rendering.

To, že Maxwell používá rasterizaci po dlaždicích, není jen domněnka – demonstruje to nástroj trianglebin, který je volně dostupný na GitHubu. Vykresluje na obrazovku trojúhelníky, přičemž umožňuje omezit jejich počet, parametry vykreslování a postupně mění jejich barvy (takže podle barvy vidíte, kolik trojúhelníků bylo vykresleno). Nástroj v podstatě umožňuje vidět, jak vypadá nekompletně rasterizovaný výsledek.

Projevy tiled rasterization u GeForce GTX 970 (Zdroj: Real World Tech)
Projevy tiled rasterization u GeForce GTX 970 (Zdroj: Real World Tech)

Na Radeonech (ale také Intelech) je vidět, že vykreslení probíhá po celé obrazovce. Nekompletní trojúhelník ukazuje, že vykreslení probíhá naráz zprava doleva a shora dolů. U Maxwellu (na demonstračním videu je GTX 970) se však nekompletní trojúhelník rozpadá do mnoha fragmentů tím, že vidíme mnoho nehotových trojúhelníků v jednotlivých dlaždičkách. Změny parametrů přitom velikost dlaždiček mění – GPU je evidentně dokáže měnit tak, aby se vešla do cache či bufferů. Podobné je to u Pascalu, ale konkrétní chování a velikosti jsou poněkud odlišné.

 

 

Podle Kantera toto zřejmě ukazuje trend, kdy se „velká“ GPU pro PC (a konzole) zřejmě budou více přibližovat těm mobilním a přejmou jejich techniky pro snížení energetické náročnosti či zmírnění požadavků na paměťovou propustnost. Těmto problémům totiž čelí i desktopová GPU a v poslední době výkon čipu v podstatě přímo závisí na jeho energetické efektivitě, jelikož růst TDP již na rozdíl od minulosti není akceptován.

Zdroj: Real World Technologies

Maxwell vděčí za úspěch tiled renderingu. Rasterizací se podobá PowerVR

Ohodnoťte tento článek!