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 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 ovládač vo verzii aspoň 495.89. 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 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 je podporované v systémoch Windows a Linux a vyžaduje grafickú kartu AMD s architektúrou RDNA1 alebo novšou. Podporované sú diskrétne GPU aj APU.

Podporované grafické procesory zahŕňajú:

  • Rad AMD Radeon RX 5000

  • Rad AMD Radeon RX 6000

  • Radeon RX 7000 Series

  • 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.

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

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 je podporovaný v počítačoch Apple so systémom Apple Silicon. Na podporu všetkých funkcií je potrebný systém macOS 13.0 alebo novší.

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.