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.
- Co je to out-of-core renderování?
- Out-of-core renderování je metoda, která umožňuje zpracovávat data, která se nevejdou do paměti grafické karty, pomocí operační paměti počítače.
- Jaké výhody přináší nová metoda renderování?
- Nová metoda umožňuje efektivně zpracovávat rozsáhlé scény bez výrazného poklesu výkonu, což je klíčové pro moderní filmové efekty a vědecké vizualizace.
- Kdo vyvinul tuto novou metodu?
- Metodu vyvinul výzkumný tým z národního superpočítačového centra IT4Innovations.
- Jaké technologie metoda využívá?
- Metoda využívá technologii NVIDIA Unified Memory, která umožňuje sdílený adresní prostor mezi procesorem a grafickými kartami.
