V-Ray > Slovník > CPU versus GPU rendering

CPU versus GPU rendering - CPU versus GPU renderování

V počítačové grafice se podstatně delší dobu pro renderování využívá hlavní procesor počítače (CPU). V poslední dekádě ovšem došlo k zdokonalení grafických procesorů (GPU) a tak se uvolnil prostor pro jejich využití i pro výpočty ray tracingu v procesu renderování.
Pro základní přehled i porovnání krátké video:



Základní rozdíl je tedy v tom, že CPU umí řešit velmi komplikované úkoly velkou rychlostí, ale není schopen řešit dobře více úkolů najednou (paralelně). GPU na druhé straně na složité úkoly stavěný není, umí ale velmi dobře řešit množství jednoduchých úkolů najednou (např. výpočet barvy každého pixelu na obrazovce v jednom okamžiku).

Jaké jsou tedy jejich výhody a nevýhody v procesu renderování?

Hlavní procesor


VÝHODY
- Historická dominance - fotorealistické počítačové renderování má dlouhou historii a konvenčně se dělalo na CPU. Z tohoto důvodu ray tracery pro CPU jsou velmi pokročilé a obsahují množství vylepšení a možností, které byly vytvořeny v průběhu této dlouhé doby. Vývoj programů pro CPU je také snažší. Navíc se vývojáři v programování pro CPU lépe vyznají.
- Nejlepší možnost pro jednotlivý složitý úkol - CPU jsou prostě v řešení jednotlivých, ale složitých úkolů lepší, proto mohou provádět algoritmy, které nejsou vhodné pro paralelní výpočty.
- Mají přednost při využívání všech zdrojů počítače - CPU má přímý přístup k hlavní paměti počítače a hard diskům, což mu dává větší flexibilitu při řízení zdrojů. CPU může v systémové paměti uchovat naráz více dat nežli GPU, přičemž systémová paměť je nejen levnější, ale také je možné ji zvětšovat. Pokud potřebujete více paměti pro vaši scénu, jednoduše si ji můžete dokoupit. Navíc ještě můžete využívat rychlé hard disky, jako SSD, abyste data z paměti dostávali rychleji k procesoru.
- Stabilita - vývojáři pro CPU mají k dispozici dokonalejší nástroje, což znamená, že CPU programy jsou lépe vyladěné a stabilnější.

CPU ve V-Ray
zdroj:www.askleo.com

NEVÝHODY
- Těžkosti při spojování více CPU - CPU se špatně spojují. Pokud potřebujete více CPU, obvykle je nutné koupit si další počítač. CPU často mění svůj design, takže je těžké si prostě koupit další CPU a spojit ho s tím, který jste už měli, hlavně pokud nesedí na základní desku. Upgrady proto často vyžadují rovněž novou základní desku.
- Více výponu znamená více peněz - základní desky a NUMA (neuniformní paměťový přístup) systémy, na které je možné umístit více CPU, sice slibují vyšší výkon, ale často jsou drahé a v mnoha situacích se nechovají dle očekávání.
- Neefektivní - CPU často plýtvá výkonem v snaze dodat výsledky v kratším čase, takže u úkolů, které vyžadují velký paralelní výkon, jako např. ray tracing, mají obvykle nižší výkon na watt.

Závěr:
CPU je výhodné využít pro rozsáhlé výpočetní úkoly, pro které mají GPU příliš malou paměť, nebo komplexní úkoly, které GPU zatím nedovedou zpracovat. Pokud máte přístup k vícero CPU, což je běžné ve firmách, CPU je pro Vás tou správnou volbou.

Grafický procesor


VÝHODY
- Možnost rozšíření - nejdůležitější výhoda. GPU pracuje na PCIe lane, která jej připojuje k hlavnímu procesoru. (PCI - počítačová sběrnice pro připojení periferií k základní desce. Nejčastěji využívaná je PCI Express.)
Většina počítačových základních desek má více PCI, takže využívání většího množství grafických karet u jednoho počítače je možné. Tímto způsobem lze vybudovat si vlastní render farmu, protože potřebujete méně počítačů i licencí.
- Nezávislé na rozšiřování - aplikace pro GPU jako je V-Ray jsou navrženy nezávisle od množství GPU, kterými počítač disponuje, což znamená, že větší množství GPU dává vícenásobný výkon. Obvykle ani nepotřebujete výkonný CPU, aby zvládal podporovat grafické karty. Naneštěstí, každý GPU vyžaduje poměrně dost energie (až 250 W každý).
- Prudký nárůst rychlosti - množství renderových nastavení je vhodných pro GPU hardware a software. Protože GPU jsou navrženy pro zvládání rozsáhlých paralelních úkolů, mají větší výkon na WATT a lepší celkový výkon. Pro některé scény, které je možné renderovat stejně nákladným CPU nebo GPU hardwarem, uživatel může dosáhnout 2x až 15x rychlejší renderování při využití GPU.
- Více užitku z různých typů procesorů - mnoho GPU aplikací, mezi které patří i V-Ray, je heterogenních, což znamená, že tyto systémy mohou dosáhnout výkonnostní nebo energetické úspory nejenom za předpokladu, že se využije stejný typ procesoru, ale i při využití procesorů různých. Kvůli způsobu, jakým jsou některé GPU API jako je OpenCL navrženy, stejný kód může běžet tak na GPU jako na CPU, přičemž pro výpočty využívá všechen dostupný hardware.

GPU ve V-Ray
zdroj:www.techterms.com

NEVÝHODY
- Paměť - CPU je minipočítačem s vlastní pamětí - obvykle je to GDDR3, GDDR5 nebo HBM. GPU podává vynikající výkon jen za předpokladu, že data, které má zpracovat, se vejdou do jeho paměti. Když se ale tyto hranice překročí, tak nejenom výkon, ale i kvalita a kvantita klesají.
- Komunikační omezení - GPU musí komunikovat s hlavní pamětí počítače a jeho hard disky přes CPU, protože k nim nemají přímý přístup. Prostoje v komunikaci jsou velké a čekání na tak vzdálené a dlouhé načítání snižuje výkon. Proto je nevyhnutelné, aby každý GPU měl načtenou celou scénu, kterou je potřeba zpracovat, i všechny textury, ve vlastní paměti. Pokud máte grafické karty s různě velkou pamětí, např. 4GB a 12GB, musí se celá scéna vejít do 4GB karty, aby renderování přeběhlo správně. Pokud chcete renderovat větší scénu, pak musíte 4GB kartu vyřadit z činnosti a využít pouze 12GB.
- Závislost na ovladačích - psaní kódu, který řídí práci GPU, je závislé na systému konkrétního ovladače. Tato závislost představuje pro programátory pořádnou výzvu. GPU ovladače se často mění a někdy jsou aktualizovány už po pár měsících, což je podstatně častěji, než je to u operačního systému. Na jedné straně tyto aktualizace pomáhají ve vývoji, na druhé často způsobují, že některé věci přestanou fungovat. Když se to stane, vývojáři musejí zjistit příčinu potíží, čekat na jejich nápravu a informovat uživatele, aby zkusili využít jiné ovladače, dokud nedojde k vyřešení problému.
- Časté aktualizace hardwaru - ve světě CPU je pouze několik hardwarových architektur, které se často nemění. Co se týče GPU, tady se věci mají poněkud jinak. Hardware od stejného výrobce se mění každých pár let. To znamená, že software je potřeba pokaždé změnit tak, aby fungoval na novém hardwaru. Je také závislý na aktualizacích ovladačů a proto je nutné uzpůsobit jej pokaždé pro práci s novým hardwarem.
- Chyby ve výpočtech - protože GPU byly původně navrženy pro hry, při využití pro obecné typy výpočtů nepodávají vždy optimální výkon.


Pro Ty z vás, které tato problematika zajímá, je možné si prohlédnout pdf soubor v angličtině na stránkách výrobce V-Ray a dozvědět se další zajímavé věci: Například jak vybrat správný grafický procesor, konkrétní využití GPU renderování ve V-Ray apod.
zdroj: labs.chaosgroup.com

Fri Apr 19, 2024 16:21:43
CAD Zone Články Rhino V-Ray AutoCAD LT CADprofi SketchUp

VRay.CADzone.cz