GPU prekresľovanie#

GPU prekresľovanie umožňuje používať grafickú kartu na prekresľovanie namiesto CPU. To môže zrýchliť prekresľovanie, pretože moderné grafické procesory sú navrhnuté tak, aby vykonávali pomerne veľa výpočtov. Na druhej strane majú aj určité obmedzenia pri prekresľovaní zložitých scén kvôli obmedzenejšej pamäti a problémy s interaktivitou pri používaní tej istej grafickej karty na zobrazovanie a prekresľovanie.

Na povolenie prekresľovania GPU, prejdite do Predvoľby ‣ Systém ‣ Zariadenia prekreslenia Cycles a vyberte buď CUDA, OptiX, HIP, oneAPI alebo Metal. Potom musíte v ponuke Vlastnosti ‣ Prekreslenie ‣ Zariadenia nakonfigurovať každú scénu na používanie prekresľovania grafickým procesorom GPU.

Technológie prekresľovania#

Blender podporuje rôzne technológie prekresľovania na GPU v závislosti od konkrétneho výrobcu GPU a operačného systému.

CUDA – NVIDIA#

CUDA je podporovaná v systémoch Windows a Linux a vyžaduje grafické karty Nvidia s výpočtovou kapacitou 3.0 a vyššou. Ak sa chcete uistiť, či je váš grafický procesor podporovaný, pozrite si zoznam grafických kariet Nvidia s výpočtovými schopnosťami a podporovanými grafickými kartami.

OptiX – NVIDIA#

OptiX is supported on Windows and Linux and requires a Nvidia graphics cards with compute capability 5.0 and higher and a driver version of at least 470. To make sure your GPU is supported, see the list of Nvidia graphics cards.

OptiX využíva hardvérovú akceleráciu sledovania lúčov v grafických kartách RTX na zvýšenie výkonu.

GPU akcelerácia pre OpenImageDenoise je k dispozícii pre výpočtové schopnosti 7.0 a vyššie, čo zahŕňa všetky karty NVIDIA RTX.

HIP – AMD#

HIP is supported on Windows and Linux and requires a AMD graphics card with the Vega architecture or newer. Both discrete GPUs and APUs are supported.

Podporované grafické procesory zahŕňajú:

  • Radeon RX Vega Series (Excluding the Radeon VII)

  • Rad AMD Radeon RX 5000

  • Rad AMD Radeon RX 6000

  • Radeon RX 7000 Series

  • Radeon Pro WX 9100

  • Rad AMD Radeon Pro W6000

Minimálne verzie ovládačov:

  • Windows: Radeon Software 21.12.1 alebo Radeon PRO Software 21.Q4

  • Linux: Radeon Software 22.10 or ROCm 5.3

Viac informácií o grafických kartách AMD a ich architektúrach nájdete na web stránke AMD.

On Windows, experimental hardware ray-tracing support is available with the most recent drivers. This can be enabled in the preferences. However there are currently known issues regarding motion blur, hair rendering and degenerate triangle shapes.

Odstránenie šumu akcelerované grafickým procesorom je k dispozícii na diskrétnych grafických procesoroch Radeon RX 6000 a Radeon RX 7000.

oneAPI – Intel#

oneAPI je výpočtová knižnica, ktorá je podporovaná v systémoch Windows a Linux a vyžaduje grafickú kartu Intel® Arc™ s architektúrou Xe HPG. Podporovaná je hardvérová akcelerácia pre sledovanie lúčov a odstránenie šumu.

Podporované grafické procesory zahŕňajú:

  • Rad Intel® Arc™ A

Minimálne verzie ovládačov:

  • Windows: Grafický ovládač Intel XX.X.101.5518

  • Linux: balík intel-level-zero-gpu 1.3.27642, zvyčajne dostupný prostredníctvom balíka intel-compute-runtime XX.XX.27642.38

Viac informácií o grafických kartách Intel a ich architektúrach nájdete na webe spoločnosti Intel.

Odstránenie šumu akcelerované GPU je k dispozícii na všetkých podporovaných grafických procesoroch.

Metal – Apple (macOS)#

Metal is supported on Apple computers with Apple Silicon, AMD and Intel graphics cards. macOS 13.0 or newer is required to support all features and graphics cards.

Using AMD graphics cards with Metal has a number of limitations. Light Trees and Shadow Caustics are not supported, and the Principled Hair BSDF causes poor rendering performance.

Odstránenie šumu akcelerované GPU je k dispozícii v zariadení Apple Silicon.

Limity#

Často kladené otázky#

Prečo Blender počas prekresľovania nereaguje?#

V starších generáciách GPU dokážu grafické karty iba prekresľovať alebo kresliť užívateľské rozhranie. To môže spôsobiť, že Blender počas prekresľovania nereaguje. Pri náročných scénach môže Blender nereagovať ani na novších GPU, keď využíva veľa pamäte alebo vykonáva náročné tieňovače, vo všeobecnosti je to však menší problém.

Jediným úplným riešením je použitie špecializovaného GPU na prekresľovanie a iného na zobrazovanie.

Prečo sa scéna, ktorá sa prekresľuje na CPU sa neprekresľuje na GPU?#

Príčin môže byť viacero, ale najčastejšou je nedostatok pamäte na grafickej karte. Zvyčajne môže grafický procesor využívať len toľko pamäte, koľko je na ňom (viac informácií nájdete v časti Viac grafických procesorov by zvýšilo dostupnú pamäť?). Toto množstvo je zvyčajne oveľa menšie ako množstvo systémovej pamäte, ku ktorej má prístup CPU. Pri zariadeniach CUDA, OptiX, HIP a Metal, ak je pamäť GPU plná, Blender sa automaticky pokúsi použiť systémovú pamäť. Má to vplyv na výkon, ale zvyčajne to stále vedie k rýchlejšiemu vykresľovaniu ako pri použití vykresľovania CPU.

Možno na prekresľovanie použiť viacero GPU?#

Áno, prejdite do Predvoľby ‣ Systém ‣ Panel výpočtového zariadenia a nakonfigurujte ho podľa svojich predstáv.

Zvýšilo by viacero GPU dostupnú pamäť?#

Zvyčajne nie, každý GPU môže pristupovať len do svojej vlastnej pamäte.

Výnimkou sú grafické procesory NVIDIA pripojené pomocou technológie NVLink, kde môžu viaceré grafické procesory zdieľať pamäť s malými nákladmi na výkon. Toto je možné povolením možnosti Distribuovať pamäť medzi zariadeniami v nastaveniach.

Čo sa vykresľuje rýchlejšie?#

To sa líši v závislosti od použitého hardvéru. Rôzne technológie majú aj rôzne výpočtové časy v závislosti od testovanej scény. Najaktuálnejšie informácie o výkone rôznych zariadení nájdete v zdroji Blender Open Data.

Chybové správy#

V prípade problémov nezabudnite nainštalovať oficiálne grafické ovládače z webovej stránky výrobcu GPU alebo prostredníctvom správcu balíkov v systéme Linux. Grafické ovládače poskytované výrobcom počítača môžu byť niekedy zastarané alebo neúplné.

Chyba: Nedostatok pamäte#

Zvyčajne to znamená, že nie je dostatok pamäte na uloženie scény na použitie grafickým procesorom.

Poznámka

Jedným zo spôsobov, ako znížiť spotrebu pamäte, je použitie textúr s menším rozlíšením. Napríklad 8k, 4k, 2k a 1k textúry obrázkov zaberajú 256 MB, 64 MB, 16 MB a 4 MB pamäte.

Ovládač NVIDIA OpenGL stratil spojenie s ovládačom displeja#

Ak sa GPU používa na zobrazovanie aj prekresľovanie, systém Windows má limit na čas, počas ktorého môže GPU vykonávať výpočty prekresľovania. Ak máte obzvlášť náročnú scénu, Cycles môžu zabrať príliš veľa času GPU. Zníženie veľkosti dlaždíc na paneli Výkon môže tento problém zmierniť, ale jediným skutočným riešením je použitie samostatných grafických kariet na zobrazovanie a prekresľovanie.

Ďalším riešením môže byť zvýšenie časového limitu, hoci to spôsobí, že užívateľské rozhranie bude pri prekresľovaní náročných scén menej citlivé. Viac informácií nájdete tu.

Nepodporovaná verzia GNU#

V systéme Linux sa v závislosti od verzie GCC môže vyskytnúť táto chyba. Zoznam podporovaných verzií GCC nájdete v Nvidia CUDA Installation Guide for Linux. Existujú dve možné riešenia tejto chyby:

Použitie alternatívneho kompilátora

Ak máte nainštalovaný starší kompilátor GCC, ktorý je kompatibilný s nainštalovanou verziou súpravy nástrojov CUDA, môžete ho použiť namiesto predvoleného kompilátora. To sa vykoná nastavením premennej prostredia CYCLES_CUDA_EXTRA_CFLAGS pri spustení programu Blender.

Spustite Blender z príkazového riadku takto:

CYCLES_CUDA_EXTRA_CFLAGS="-ccbin gcc-x.x" blender

(Nahraďte názov alebo cestu kompatibilného kompilátora GCC).

Odstránenie kontrol kompatibility

Ak sa vyššie uvedené nepodarí, odstráňte nasledujúci riadok v /usr/local/cuda/include/host_config.h:

#error -- unsupported GNU version! gcc x.x and up are not supported!

To umožní Cycles úspešne skompilovať jadro prekresľovania CUDA pri prvom pokuse o použitie vášho GPU na prekresľovanie. Po úspešnom zostavení jadra môžete Blender spustiť ako zvyčajne a jadro CUDA sa bude naďalej používať na prekresľovanie.

Chyba CUDA: Kompilácia jadra zlyhala#

Táto chyba sa môže vyskytnúť, ak máte novú grafickú kartu NVIDIA, ktorá ešte nie je podporovaná verziou programu Blender a súborom nástrojov CUDA, ktoré ste nainštalovali. V takom prípade sa Blender môže pokúsiť dynamicky zostaviť jadro pre vašu grafickú kartu a zlyhá.

V tomto prípade môžete:

  1. Skontrolujte, či najnovšia verzia Blenderu (oficiálna alebo experimentálna zostava) podporuje vašu grafickú kartu.

  2. Ak si Blender zostavujete sami, skúste si stiahnuť a nainštalovať novšiu sadu vývojárskych nástrojov CUDA.

Užívatelia zvyčajne nemusia inštalovať sadu nástrojov CUDA, pretože Blender sa dodáva s predkompilovanými jadrami.