Možnosti renderování grafických karet

Moderní filmové efekty, animace nebo vědecké vizualizace dnes pracují s digitálními scénami o velikosti stovek gigabajtů. Pro grafické karty, které tyto obrazy počítají, to představuje zásadní problém – jejich vlastní paměť je řádově menší. Vědci z Národního superpočítačového centra IT4Innovations VŠB-TUO proto představili novou metodu, která umožňuje renderovat scény větší, než je součet pamětí všech grafických karet v systému. Díky chytré kombinaci paměti grafických karet a operační paměti počítače může systém zpracovávat extrémně rozsáhlé scény bez výrazného poklesu výkonu.

Navzdory tomu, že kapacita pamětí grafických karet (GPU) každoročně roste, stále nedokáže držet krok s nároky moderní produkce. Ať už jde o filmové efekty, animaci nebo vědecké vizualizace, komplexní digitální prostředí často obsahují stovky milionů geometrických prvků a tisíce textur. Příkladem může být známá testovací scéna ostrova z filmu Moana od studia Disney, která zabírá téměř 170 gigabajtů dat. Pokud se taková scéna nevejde do paměti grafické karty, je její renderování výrazně omezené nebo velmi neefektivní.

Výzkumný tým z IT4Innovations tento problém řeší pomocí tzv. out-of-core renderování. Princip spočívá v tom, že část dat scény zůstává v rychlé paměti grafických karet, zatímco méně často využívané informace jsou uloženy v operační paměti počítače (RAM). Algoritmus krátkým testovacím výpočtem určí, které části scény jsou nejvíce využívány, a tyto klíčové části prioritně udržuje v paměti GPU, zatímco zbytek přesouvá do systémové RAM. Tím se minimalizují pomalejší přístupy k datům a celý výpočet zůstává efektivní.

„Naším cílem bylo vytvořit systém, který umožní grafickým kartám pracovat i se scénami výrazně většími, než je jejich vlastní paměť,“ říká Milan Jaroš z IT4Innovations. „Výsledky ukazují, že díky této metodě mohou i menší systémy s několika grafickými kartami zpracovávat velmi rozsáhlé scény, které byly dříve doménou mnohem větších výpočetních systémů.“

Metoda využívá technologii NVIDIA Unified Memory, která umožňuje sdílený adresní prostor mezi procesorem a grafickými kartami. V kombinaci se statistickou analýzou přístupů k datům dokáže algoritmus dynamicky rozhodovat o tom, kde bude která část scény uložena, a tím minimalizovat náročné přenosy dat mezi jednotlivými částmi systému. Přístup je kompatibilní s vysokorychlostními propojeními mezi grafickými kartami, jako je NVLink, což umožňuje rychlý a efektivní přenos dat mezi jednotlivými výpočetními jednotkami.

Výzkumníci zároveň navrhli strategii pro renderování animací. Systém dokáže kombinovat statistiky přístupů k datům z různých pozic kamery, což umožňuje optimalizovat práci s pamětí napříč celou sekvencí snímků. Díky tomu není nutné znovu provádět náročnou analýzu pro každý snímek.

Efektivitu nové metody vědci ověřili na několika výpočetních systémech, včetně superpočítačů Karolina a Barbora i systému NVIDIA DGX-2 v IT4Innovations. Testy na extrémně náročných scénách o velikosti více než 100 gigabajtů ukázaly, že přístup funguje napříč různými hardwarovými architekturami a dokáže efektivně využít jak moderní vysokorychlostní propojení grafických karet, tak i běžné komunikační sběrnice.

Navržené řešení navíc nevyžaduje zásadní změny ve stávajících renderovacích nástrojích. Lze jej integrovat například do populárního open-source nástroje Blender Cycles. To otevírá nové možnosti nejen velkým filmovým studiím, ale také menším tvůrcům, výzkumným týmům a vědeckým institucím, které potřebují pracovat s velmi rozsáhlými 3D daty.

Nový přístup publikovaný v odborném časopise Future Generation Computer Systems tak ukazuje, že i menší multi-GPU systémy mohou efektivně pracovat s extrémně velkými scénami. Inteligentní správa dat mezi pamětí grafických karet a operační pamětí počítače představuje důležitý krok k tomu, aby bylo vysoce kvalitní renderování dostupnější pro širší spektrum aplikací – od filmové produkce až po vědeckou vizualizaci.

Zdroje:

https://www.disneyanimation.com/data-sets/?drawer=/resources/moana-island-scene/ – Moana Island Scene.
https://media.disneyanimation.com/uploads/production/data_set_asset/4/asset/License.txt

https://www.vsb.cz/cs/detail-novinky?reportId=51514

Co je to out-of-core renderování?
Out-of-core renderování je metoda, která umožňuje zpracovávat scény větší, než je kapacita paměti grafických karet, tím, že využívá operační paměť počítače.
Jaké jsou výhody nové metody renderování?
Nová metoda zvyšuje efektivitu renderování velkých scén, což je klíčové pro moderní filmové efekty a vědecké vizualizace.
Jaké příklady velkých scén existují?
Příkladem může být testovací scéna ostrova z filmu Moana, která zabírá téměř 170 gigabajtů dat.
Jak vědci určují, které části scény udržovat v paměti GPU?
Vědci používají algoritmus, který na základě krátkých testovacích výpočtů určuje, které části scény jsou nejvíce využívány a tyto prioritně udržují v paměti GPU.