Nová generace nVidia Quadro s technologií Fermi
PCTuning Článek

Nová generace nVidia Quadro s technologií Fermi

Jan Buriánek

Jan Buriánek

12. 8. 2010 03:00 10

Na začátku akcelerované grafiky byl pevně zakotvený algoritmus stínování ploch, v roce 2000 spatřila světlo světa nová generace karet využívající obecné stínovací algoritmy, nyní v roce 2010 vstupujeme do nové epochy tzv. výpočetní počítačové grafiky. Co že to v praxi znamená nejen pro herní, ale zejména filmový a designérský průmysl?

Reklama
Reklama

Ještě nedávno jsme byli zvyklí, že grafická karta je pouhým grafickým koprocesorem, který se vší silou snaží o co nejlepší zobrazení 3D scén v reálném čase. První akcelerátory náleží první epoše počítačové grafiky využívaly tzv. fixní akceleraci (fixed pipeline). Od roku 2000 lze však programovat elementy stínovacích algoritmů dynamicky pomocí tzv. GPU shaderů, které tvoří malé programy nazvané fragment shaders. Obecné grafické GPU akcelerátory zaměřené na stínování náleží druhé grafické epoše. Využití GPU pro obecné výpočty se počítačová grafika mění ze „zobrazovací“ na tzv. „výpočetní grafiku“ a grafika tak vstoupila do další, tentokrát už třetí epochy.

Nová generace nVidia Quadro s technologií Fermi

Příchodem obecných GPU akcelerátorů, které obsahují nevídaně rychlé sběrnice a několik set paralelních stream-procesorů však došlo ke zlomu. Ihned se objevilo nemalé množství vědců, kteří se rozhodli využít tento masivní výkon několika GFLOPS k jiným než grafickým výpočtům. Zpočátku se zdálo, že je to jen aktivita pár pošetilých programátorů, ale poté co bylo vytvořeno celé sdružení GPGPU (General Purpose GPU computing) a komunita programátorů píšící pro GPU začala neutěšeně růst, tak samotní výrobci akcelerátorů v čele se společností nVidia dala této aktivitě zelenou. Prvním akcelerátorem této aktivity se tak stal jazyk CUDA (www.nvidia.com/cuda). Tento jazyk udal jasně směr dalšího vývoje: díky CUDA je možné „mapovat“ standardní CPU algoritmy do masivně paralelizovaných algoritmů, které plně těží z výpočetní síly moderních GPU akcelerovaných karet. 

Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi

     

Vědci začali na GPU počítat nejrůznější úlohy numerické lineární algebry, soustavy lineárních diferenciálních rovnic aj. výpočetně nesmírně náročné úlohy ze světa modelování kapalin, počasí, astronomie aj.aj. Dnes se stačí podívat na příspěvky komunity GPGPU (www.gpgpu.org) a není třeba nic dodávat. Výsledek takového počínání vedl k paradoxu, že grafický výstup přestal být až tak zajímavý a nejvíce palčivá se stala otázka: „jak dostat výsledek výpočtu zpět z grafické paměti do paměti počítače?“. Paradoxně totiž sběrnice grafických karet je prakticky „dopředná“ a výstup se předpokládá na úrovni grafického výstupu na monitor či jiné grafické zařízení. Dostat výsledek z grafické paměti „zdržuje“. Z toho důvodu nVidia zavedla produkty TESLA, které jsou přímými CUDA akcelerátory bez grafického výstupu a které mají významně posíleny zpětné sběrnice pro získávání výsledků výpočtu. Použitím TESLA akcelerátorů se pak nemusíte například bát, že vám nechtěně aktivovaný screensaver zpomalí výpočet na minimum…

Nová generace nVidia Quadro s technologií Fermi

Masivní paralelizace pro obecné vědecké výpočty se však ukázala být zajímavá i pro některé grafické výpočty, které nejsou typickou implementací tzv. Z-Bufferu, tj. nevykreslují se jen trojúhelníky nebo n-úhelníky, ale obecná tělesa nebo amorfní tvary. Tak začala další epocha počítačové grafiky, pro kterou se pomalu vžívá název Výpočetní počítačová grafika (Computational Computer Graphics). Toto téma zaznělo poprvé na letošní konferenci ACM SIGGRAPH 2010 (www.siggraph.org

/s2010

) a bude nejspíš slýchávat i po následující období…


Jestliže je pro nás dnes prakticky samozřejmostí, že se filmy používají foto-realistické počítačové animace, pak v real-time 3D počítačové grafice je samozřejmostí co nejlepší grafický výstup, co nejlepší stínování a výstup „bez cukání“ (15 až 24fps). Programátoři počítačových her se dnes mohou spolehnout na to, že GPU stínování jim umožní napodobovat vržené stíny, zrcadlení, pokročilé metody osvětlení a stínování, prostě vše co potřebují pro co nejvěrnější vykreslení scény. Přesto některé součásti zobrazení v real-time 3D grafice stále pokulhávají. Například skleněné objekty (tzv. caustics efekty), plošná světla, vlasy, chlupy, šaty, to vše vypadá ve většině případů „nereálně“ a uvedené triky jsou nějakým způsobem významně zjednodušeny. Je jasné proč to tak je, tyto výpočty vyžadují obecný systém algoritmizace, který se provádí spíše na CPU než GPU. Programátor navíc nemůže snadno „šáhnout“ pro nějakou tu pomocnou standardní funkci, která by takto komplexní věc implementovala pro obecné GPU.

Nová generace nVidia Quadro s technologií Fermi

Nová epocha grafiky však uvedená omezení začíná smazávat. Díky nové Fermi technologii a nejnovějších „CUDA enabled“ grafických akcelerátorů se situace značně mění. Obecné výpočty potřebné pro implementaci řady pokročilých grafických algoritmů stínování jsou nyní „mapovány“ na CUDA procesory. Grafický akcelerátor se tak stává plnohodnotným výpočetním koprocesorem ke stávajícímu CPU a poskytuje v plné míře svůj paralelní výkon a to nejen pro obecné výpočty, ale právě i pro grafické výpočty „ne GPU charakteru“.

Co to přesně znamená? První takový příklad z výpočetní počítačové grafiky se již nějakou dobu používá. Jedná se třeba o rozhraní PhysX (http://www.nvidia.com/physx). Najednou programátor real-time aplikace mohl objektům dát jednoduše fyzikální vlastnosti a nechat CUDA procesory vypočítat fyziku přímo na GPU akcelerátoru. Výsledkem jsou dnes „fyzikálně korektní“ chování objektů v počítačových hrách a nově i v řadě průmyslových aplikacích. PhysX ale není jenom pro hry, pomáhá i vědeckým výpočtům a simulacím vyžadujícím detekce kolizí (astronomie, chemie).

Nová generace nVidia Quadro s technologií Fermi

Jak asi tušíte, nová epocha přináší celou řadu podobných podpůrných nástrojů pro programátory. Například je tu rozhraní CompleX pro načítání obrovských scén, které by se jinak nevešly do paměti nebo knihovny SceniX pro podporu managementu grafu scén.

Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi

Jako naprosto revoluční lze považovat systém OptiX pro akceleraci výpočtů souvisejících s metodou sledování paprsků (ray-tracing). Díky této knihovně lze například řešit lom světla, zrcadlení objektů aj. speciální úlohy, které jsou jinak výpočetně velmi náročné. ApeX umožňuje implementovat GPU akcelerované chování šatů (Cloth) a iray™ je nové rozhraní implementující fotorealistický výpočet stínování metodou Global Illumination (viz. dále). Souhrnně tyto nástroje například nVidia nazývá AXE (Application Acceleration Engines).

Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi

Programátoři tedy najednou stojí před novou startovní čárou v programování real-time aplikací. Díky AXE knihovnám mohou bezstarostně načítat obrovské scény a navíc 3D objektům doslova „vdechnout život“ a nechat je samostatně „žít“ v prostředí GPU.

Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi

Jako další příklad uveďme zmiňované vlasy, chlupy nebo šaty. Nyní lze relativně jednoduše naprogramovat: toto je můj kolizní objekt (zjednodušené 3D těleso) představující například hlavu, nech na něm „vyrůst“ vlasy s danými fyzikálními vlastnostmi. Výsledkem je, že GPU se pak již postará o kolize, zobrazení a obecně předpokládané chování. Podobně to lze udělat s chlupy či šaty nebo se simulací vodních částic.

Clothing demo

Turbulence demo


Pokud jste příznivci nVidia akcelerátorů, pak domácí uživatelé a hráči počítačových her obecně ve svých počítačích nejspíš mají instalován akcelerátor typu nVidia GeForce, případně konkurenční ATI Radeon. Pokud jste profesionální studio, máte ve svém počítači instalován akcelerátor typu nVidia Quadro.

Pro řadu běžných uživatelů je rozdíl mezi světem Quadro a GeForce nejasný. Pokusíme se tedy věc trochu osvětlit a přidat něco víc než tvrzení „Quadro se hodí pro OpenGL a GeForce pro DirectX“…

Nová generace nVidia Quadro s technologií Fermi

Potřeba domácího uživatele je přeci jen trochu jiná než profesionála. Například pokud mu počítač nebo karta z jakéhokoliv důvodu „stávkuje“ s jeho oblíbenou hrou, tak sice „prská“ a „nadává“, ale nakonec se s takovou věcí smíří nebo se pokusí takovou situaci řešit sám (mnohonásobné přeinstalovávání, hledání ve fórech apod.). Pokud se navíc objeví nějaká vylepšená grafická karta, tam mu nečiní problém jednoduše „šáhnout“ po nové.

V profesionálním světě musí vše fungovat dobře a pokud možno bez chyby. Výpadek funkce nebo kompatibility s nějakou tou průmyslovou aplikací (ProEngineer, CATIA, Ensight, Fluent, …) může být fatální. Čas zde hraje naprosto klíčovou roli. Prakticky se předpokládá, že vše bude předem jasně otestováno a vše bude fungovat na „první dobrou“. Právě toto je hlavním cílem a benefitem řady nVidia Quadro. S tímto akcelerátorem přichází hned několik vrstev služeb. První je samo sebou opravdu helpdesk. V případě Quadro produktů je opravdu k dispozici doslova „horká linka“ řešení problémů a to nejen přes internetová fóra, ale i 24/7/365 e-maily. Druhou vrstvou jsou tzv. Solution Architects. To jsou nejen ti, co naslouchají potřebám průmyslových zákazníků a snaží se jim na míru upravit produkty pro jejich aplikace, ale též ti co opravdu testují kritické aplikace, které se v průmyslu používají. Dochází tak k certifikaci řady produktů a jejich verzí, na které se lze spolehnout. Logický požadavek průmyslu je záruka (ta bývá zpravidla 3 a více let) včetně jisté kvalitativní záruky produktového cyklu, tj. není dobré v průběhu výroby mnohokráte měnit akcelerátor, raději až vše funguje jak má.

Nová generace nVidia Quadro s technologií Fermi

Produkční cyklus nových Quadro produktů se tak pohybuje v řádu let. Pak již následují zmíněné společné nástroje typu AXE knihovny. V neposlední řadě se však Quadro produkty zaměřují na vysokou propustnost na úrovni geometrie. V průmyslových aplikacích často není čas na velkou „optimalizaci“ (LOD apod.) a vyžaduje se hlavně real-time okamžité vykreslení gigantických geometrických 3D modelů (viz. ropné plošiny, továrny, letadla, vesmír, molekuly, …). Běžně se u podobných modelů pohybuje počet trojúhelníků v řádech desítek či dokonce stovek miliónů trojúhelníků což je například ve hrách nemyslitelné.

Z uvedených důvodů jednoduše nelze srovnávat výkon právě vytvořené herní grafické karty s profesionálním akcelerátorem. Srovnávají se naprosto jiné světy s jinými požadavky na funkci, kvalitu a záruku.


27.7.2010 byla na konferenci SIGGRAPH 2010 představena nová řada profesionálních produktů nVidia Quadro založená na technologii Fermi.

Nové produkty navazují na předchozí generace akcelerátorů nVidia Quadro FX 3800, 4800 a 5800. Nové označení vymazalo ono „FX“ (je tím vyjádřena obecnost použití karet) a k číselným označením je přidáno 200. Nová řada produktů se tedy jmenuje nVidia Quadro 4000, 5000 a 6000.

Nová generace nVidia Quadro s technologií Fermi

První z karet Quadro 4000 se vejde do jednoho slotu, má 2GB paměti a pěkných 256 procesorů (cores). Druhá z řady je Quadro 5000, která již zabírá dva sloty, má 2.5GB paměti, ale zato 352 procesorů. Nejvýkonnější z profesionálních karet je nVidia Quadro 6000 s 6GB paměti a 448 procesorů. Všechny karty používají dvě rozhraní DisplayPort (5000 a 6000 ještě paralelně obsahují DVI-D výstup), které mj. umožňuje maximální rozlišení 2x 2560x1600 v 10-bitové kvalitě na kanál (tj. pro RGB 30-bit). 

Nová generace nVidia Quadro s technologií Fermi

Vedle toho lze karty teamovat do nVidia SLI Mosaic Mode umožňující vytvořit rozlišení 5120 x 3200 a to opět v 10-bitech na kanál. Lze tak snadno „živit“ 4K displeje, které dnes vyžadují synchronní 4 grafické vstupy. Profesionální svět tak dostává významně vyšší rozlišení pro simulační rozhraní typu CAVE nebo PowerWall. Samozřejmostí je podpora stereoskopických režimů a to zejména OpenGL Quad-Buffer.

Nová generace nVidia Quadro s technologií Fermi

Nově nVidia uvedla i produkt nVidia 3D Vision Pro, který obsahuje 3D brýle pro profesionální aplikace. Tento produkt se od spotřební verze nVidia 3D Vision liší zejména synchronizací, která již není pomocí malého IR zářiče, ale výkonnějším RF zářičem s delším dosahem. Lze tak snáze implementovat aplikace typu stereo-stěny nebo kina (http://www.nvidia.com/object/3d-vision-professional-users.html).

Nová generace nVidia Quadro s technologií Fermi

Celkově v porovnání s předchozí generací produktů získají uživatelé až 5x rychlejší výstup na grafické úrovni a 8x rychlejší výstup na úrovni simulační. Tato čísla jsou prostým porovnáním výkonů bez využití všech možností optimalizace. 


Jednou z nejpřekvapivějších a zároveň nejlogičtějších akvizicí společnosti nVidia bylo zakoupení německé společnosti mentalimages, která již více než 25 let (!) vytváří software mentalray™. Tento produkt je podepsán pod nesčetnou řádkou Hollywoodských snímků nejrůznějších žánrů a je žádaným nástrojem v reklamním průmyslu. Jedná se prakticky o přímého konkurenta Pixar RenderMan. Přestože výstupy obou rivalů mohou být vnímány jako podobné, tak je tu jeden zásadní rozdíl. Mezitím co RenderMan je od počátku koncipován jako tzv. „mapping engine“, který pro stínování využívá systému chytře vykreslovaných plošek, tak mentalray od počátku pracuje s metodou sledování paprsků (ray-tracing), který se neomezuje jen na plošky, ale na obecná tělesa a hlavně umožňuje snadnou implementaci zrcadlových odrazů, lámání paprsků ve skle a mnohých dalších. Nevýhoda ray-tracing metody byla, že její výpočet byl neskutečně náročný na procesor.

Nová generace nVidia Quadro s technologií Fermi

Pro krátké filmy nebo pro architektonické vizualizace je možné čas věnovat, ale pro filmový průmysl tento čas je třeba maximálně zkrátit. Právě proto se i v mentalray systému využívalo nejrůznějších triků, jak výpočet zjednodušit za co nejmenší ztráty fotorealismu. Výsledkem tohoto snažení byly používané algoritmy Final Gathering aj.

Díky CUDA programování a novým nVidia Quadro kartám je možné výpočet ray-tracingu efektivně masivně paralelizovat. Najednou tak je možné mít prakticky stovky koprocesorů pro obecný výpočet, který notně neznamená jen vykreslování trojúhelníků. nVidia tak postupně s mentalimages už několik let vyvíjejí systém iray™, který představuje fotorealistický rendering s výsledky odpovídajícím mentalray rendereru. 

Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi

Nově představené rozhraní iray™ posouvá hranice možného právě pro filmový průmysl, který se z časových důvodů „sledování paprsků“ doslova bál. Nyní s využitím GPU jsou však plně fotorealisticky a navíc fyzikálně korektně stínované scény realitou. Při zachování nebo dokonce zkrácení výpočetního času na jedno „okno“ se tak výstup z 3D renderingu neuvěřitelně vylepšil. První ukázky z nově připravovaných 3D počítačem generovaných filmů jsou naprosto neuvěřitelné. Grafický výstup ještě nebyl tak fyzikálně věrný.

Nová generace nVidia Quadro s technologií Fermi

Akcelerace výpočtů metody Global Illumination, kterou poskytuje iray™ se odrazí na filmovém průmyslu obecně. Nyní bude možné doslova v reálném čase ladit osvětlení, materiály a to v plném produkčním rozlišení. Významně se tak zkrátí produkční doba a bude možné i rychleji generovat počítačové triky i filmy. S nástupem stereoskopické technologie a filmů do digitálních kin se zvýšila i komplexita jejich zpracování na přibližně 2,5 násobek. Nástup GPU akcelerovaných výpočtů může tento handicap novodobých produkcí dohonit.

Nová generace nVidia Quadro s technologií Fermi


Každá z nových Quadro karet plně akceleruje rozhraní knihoven AXE a tak dodává profesionálním aplikacím neuvěřitelné nové možnosti. Výrobci, kteří jsou partnery nVidia samo sebou nečekali a do svých nových produktů již zaimplementovali nové možnosti výpočetní počítačové grafiky.

Jmenujme pro pořádek vybrané aplikace a výrobce, kterým se budeme věnovat samostatně někdy příště.

Nová generace nVidia Quadro s technologií Fermi

 

BunkSpeed Shot je nástroj pro fotorealistické vykreslování 3D scén pro architekty, designery a reklamní agentury. Je to jeden z příkladů implementace iray™ rozhraní v praxi.

Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi

Siemens zaimplementoval do svých lékařských produktů speciální 3D vizualizační nástroje, které za podpory nových AXE knihoven umožňují zobrazení objemových dat z ultrazvukových skenů a dokonce i z dynamického MRI. Lékaři ocení nejen možnost doslova „prohlédnutí“ pacienta (včetně zobrazení ve stereo režimu), ale i možnost nasazení tzv. sond (probes), které vyšlou simulované částice krevním řečištěm, aby bylo možné lépe stanovit diagnózu.

Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi

Nová generace nVidia Quadro s technologií Fermi

Motion DSP vytvořili hned několik nástrojů pro stabilizaci obrazu v reálném čase. Roztřesené obrázky pořízené z ruky či z letadla nebo lodě tak je možné v reálném čase stabilizovat a to v plném HDTV rozlišení. Aplikace je dokonce v PAL rozlišení k dispozici zdarma. O tom, že DSP Motion se zaměřuje na aplikace v armádě a policii není třeba hovořit. Nyní je tak možné přečíst poznávací značku prchajícího auta bez jakýchkoliv problémů…

Nová generace nVidia Quadro s technologií Fermi

The Foundry, výrobce post-produkčního nástroje Nuke připravil hned několik novinek založených na GPU akceleraci. Nejvýraznější v tomto směru je Mari, která je nástrojem napsaný pro WETA DIGITAL (Pán prstenů, King-Kong, …, Terminátor 3D, Avatar). Tento nástroj umožňuje interaktivně kreslit na virtuální 3D filmové postavy jakými jsou například hlavní postavy filmu Terminátor nebo Avatar. Tyto modely mají zpravidla neuvěřitelných 500 a více textur s rozlišením 32K. Výsledný model pak spotřebuje stovky GB na harddisku. Mari za pomocí Quadro produktů umožňuje s takovými modely pracovat v reálném čase (dokreslování textur, korekce geometrie apod.). 

Nová generace nVidia Quadro s technologií Fermi
Nová generace nVidia Quadro s technologií Fermi

Adobe využívá GPU akceleraci téměř v každém okamžiku ve svém novém video produkčním „balíku“ Creative Suite verze 5. Prakticky všechny video-efekty jsou akcelerovány na GPU a přidána je i nově i podpora stereoskopického zobrazení. Většina uživatelů ocení i akcelerovanou dekompresi a kompresi pokročilých formátů jako H.264/AVC nebo ProRes422.

Nová generace nVidia Quadro s technologií Fermi

 

Autodesk 3DS Max využívá ve své nejnovější verzi klíčové komponenty AXE knihoven jako je iray, PhysX nebo ApeX, čímž nejen zrychluje výpočty, ale poskytuje i srovnatelné výstupy pro herní vývojáře.

Pokračování příště…

Novinek a konsekvencí spojených s novou generací GPU akcelerátorů je skutečně mnoho. Zdaleka jsme tak popsat detailně vybrané aplikace, proto se k nim blíže vrátíme v příštím článku.

Již nyní je jasné, že budoucnost patří masivní paralelizaci výpočtů a už teď se můžeme těšit na real-time 3D ray-tracing zobrazení ve hrách a fotorealistické počítačem generované filmy se stanou standardem. Mladá generace tvůrců stojí na nové startovní čáře, která předznamenává novou kvalitu a rychlost. Již brzy budou tvůrci omezeni jen svou fantazií a nápady, věřme, že této generační výhody náležitě využijí…

Poznámka autora: Trochu „nečekaně“ nVidia prozradila detaily o nových Quadro produktech už měsíce před oficiálním uvedením na konferenci SIGGRAPH 2010, ale zakázala novinářům o produktech psát do uvedeného data 27.7.2010. Tato skutečnost mj. zpozdila i právě čtený článek, který se (jak je ve světě IT pravidlem) tak stal zastaralý ještě před jeho zveřejněním

:-D

Reklama
Reklama
Reklama
Reklama

Byl detekován AdBlock

PCTuning je komunitní web, jehož hlavním příjmem je reklama. Zvažte prosím vypnutí AdBlocku, ať můžeme všem čtenářům i nadále přinášet kvalitní herní zpravodajství, články a videa.

Děkujeme!

Váš tým PCTuning