Výzkumníci z českého národního superpočítačového centra IT4Innovations při VŠB-TUO v Ostravě představili novou metodu, pomocí níž je možné renderovat větší scény, než kolik je pro ně místa v paměti grafických karet zapojených do renderovacích farem.
Ostravská technologie umožňuje kombinovat paměť grafických karet (VRAM) a operační paměti (RAM) s tím, že jde zpracovávat rozsáhlé scény, a to bez výrazného poklesu výkonu. Jde o takzvané out-of-core renderování. K tématu vyšel článek ve Future Generation Computer Systems.
“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. 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í,” shrnula IT4Innovations.
Milan Jaroš z IT4Innovations projekt přibližuje takto:
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ěť. 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.
Navržena byla strategie 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.
Efektivita nové metody byla ověřena 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ž sto 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.