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 Cykly 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 je podporované v systémoch Windows a Linux a vyžaduje grafické karty Nvidia s výpočtovou kapacitou 5.0 a vyššou a verziu ovládača aspoň 470. Ak sa chcete uistiť, či je váš grafický procesor podporovaný, pozrite si zoznam grafických kariet Nvidia.

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

GPU acceleration for OpenImageDenoise is available for compute capability 7.0 and higher, which includes all NVIDIA RTX cards.

HIP – AMD#

HIP je podporovaný v systémoch Windows a Linux a vyžaduje grafickú kartu AMD s architektúrou Vega alebo novšou. Podporované sú diskrétne GPU aj APU.

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.

V systéme Windows je s najnovšími ovládačmi k dispozícii experimentálna hardvérová podpora sledovania lúčov. Túto funkciu môžete povoliť v nastaveniach. V súčasnosti sú však známe problémy týkajúce sa rozostrenia pohybu, prekresľovania vlasov a degenerácie trojuholníkových tvarov.

GPU accelerated denoising is available on discrete Radeon RX 6000 and Radeon RX 7000 GPUs.

oneAPI – Intel#

oneAPI is a computation library that is supported on Windows and Linux and requires a Intel® Arc™ graphics card with the Xe HPG architecture. Hardware acceleration for ray-tracing and denoising is supported.

Podporované grafické procesory zahŕňajú:

  • Rad Intel® Arc™ A

Minimálne verzie ovládačov:

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

  • Linux: intel-level-zero-gpu package 1.3.27642, typically available through the intel-compute-runtime package XX.XX.27642.38

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

GPU accelerated denoising is available on all supported GPUs.

Metal – Apple (macOS)#

Metal je podporovaný na počítačoch Apple s grafickými kartami Apple Silicon, AMD a Intel. Systém macOS 13.0 alebo novší sa vyžaduje na podporu všetkých funkcií a grafických kariet.

Používanie grafických kariet AMD s Metalom má niekoľko obmedzení. Svetelné stromy a Tieňové efekty lomu svetla nie sú podporované a Principiálne vlasy BSDF spôsobujú nízky výkon prekresľovania.

GPU accelerated denoising is available on 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, Cykly 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í programu Cykly ú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.