Revelat de GPU¶
El revelat de GPU fa possible de revelar amb la targeta gràfica en lloc de la CPU. Pot accelerar el revelat atès que les GPU modernes estan dissenyades per processar molt de càlcul. D’altra banda, també tenen algunes limitacions en el revelat d’escenes complexes a causa d’una memòria més limitada, així com problemes amb la interactivitat quan es vol utilitzar la mateixa targeta gràfica per al visionat i el revelat.
Per habilitar el revelat de GPU:
Seleccioneu CUDA, OptiX, HIP, oneAPI, o Metal a Dispositius de revelat de Cycles de les preferències d’usuària.
Habiliteu els dispositius disponibles per al basament escollit.
Configureu cada escena per a utilitzar el Dispositiu de Càlcul per GPU.
Tecnologies de revelat¶
Blender admet diferents tecnologies per revelar amb la GPU depenent del fabricant i sistema operatiu de la GPU concreta.
CUDA – NVIDIA¶
CUDA és compatible amb Windows i Linux i requereix una targeta gràfica Nvidia amb capacitat de càlcul 5.0 i superior. Per a assegurar-vos que la vostra GPU és compatible, vegeu la llista de targetes gràfiques NVIDIA amb les capacitats de càlcul i les targetes gràfiques compatibles.
OptiX – NVIDIA¶
OptiX és compatible amb Windows i Linux i requereix una targeta gràfica NVIDIA amb capacitat de càlcul 5.0 i superior i una versió del controlador d’almenys 535. Per assegurar-vos que la GPU és compatible, vegeu la llista de targetes gràfiques de NVIDIA.
Per millorar el rendiment, OptiX s’aprofita de l’acceleració de radiotraçat de maquinari en les targetes gràfiques RTX.
Per a capacitats de càlcul 7.0 i superior, hi ha disponible l’acceleració de GPU per a OpenImageDenoise, inclosa a totes les targetes NVIDIA RTX.
HIP – AMD¶
HIP és compatible amb Windows i Linux i requereix una targeta gràfica AMD amb arquitectura de RDNA1 o més recent. Tant les GPUs discretes com les APUs són compatibles.
Les GPU admeses inclouen:
Versions mínimes del controlador:
Windows: Programari Radeon 24.9.1 o Programari Radeon PRO 24.Q4
Linux: Radeon Software 24.30 or ROCm HIP Runtime 6.3
Consulteu el web d’AMD per més informació sobre les targetes gràfiques AMD i les seves arquitectures.
El suport per a radiotraçat de maquinari està disponible amb els controladors més recents. Es pot habilitar a les preferències i és compatible amb la Radeon RX 6000 en endavant.
El dessorollat accelerat de GPU està disponible en algunes Radeon RX 6000 i en noves GPUs de Linux, així com en algunes Radeon RX 7000 i en GPUs més noves per Windows.
oneAPI – Intel¶
oneAPI és una biblioteca de càlcul compatible amb Windows i Linux i requereix una targeta gràfica Intel® Arc™ amb l’arquitectura Xe HPG. Admet l’acceleració de maquinari per al radiotraçat i el dessorollat.
Les GPU admeses inclouen:
Intel® Arc™ sèrie A
Intel® Arc™ sèrie B
Versions mínimes del controlador:
Windows: Controlador gràfic Intel XX.X.101.5518
Linux: paquet
intel-level-zero-gpu1.3.27642, normalment disponible mitjançant el paquetintel-compute-runtimeXX.XX.34666.3
Per més informació sobre les targetes gràfiques d’Intel i les seves arquitectures, consulteu el web d’Intel.
El dessorollat accelerat per GPU està disponible a totes les GPU compatibles.
Metal – Apple (macOS)¶
Metal per GPU és compatible amb ordinadors Apple amb targetes gràfiques Apple Silicon. Per processar totes les funcionalitats, cal el macOS 13.0 o més recent.
Amb Apple Silicon, hi ha disponible el dessorollat i radiotraçat accelerat per GPU.
Limitacions¶
El Guiatge de trajectes no és compatible amb cap GPU.
El Llenguatge d’aspecció obert només és compatible amb OptiX, amb algunes limitacions llistades a la documentació.
Preguntes freqüents¶
Per què durant el revelat el Blender no respon?¶
En les generacions de GPU més antigues, les targetes gràfiques només poden revelar o dibuixar la interfície d’usuària. Això pot fer que el Blender no respongui mentre fa el revelat. Les escenes pesades també poden fer que Blender no respongui en les GPU més noves, quan s’utilitza molta memòria o s’executen aspectors costosos, però aquest és generalment un problema menor.
L’única solució completa per a això és utilitzar una GPU dedicada per al revelat i una altra per a la visualització.
Per què una escena que es pot revelar amb la CPU no es revela amb la GPU?¶
Pot haver-hi múltiples causes, però la més habitual és que no hi hagi prou memòria a la targeta gràfica. Típicament, la GPU només pot utilitzar la quantitat de memòria que hi ha a la GPU (vegeu Podrien multiples GPUs augmentar la memòria disponible? per més informació). Aquesta ser molt més petita que la quantitat de memòria del sistema al qual la CPU pot accedir. Amb els dispositius CUDA, OptiX, HIP i Metal, si la memòria de la GPU és plena, el Blender intentarà utilitzar automàticament la memòria del sistema. Això té un impacte en el rendiment, però normalment encara donarà un revelat més ràpid que utilitzant el revelat de la CPU.
Es poden utilitzar múltiples GPU per al revelat?¶
Sí, aneu a i configureu-lo com convingui.
Augmentarien la memòria disponible múltiples GPU?¶
Normalment, no, cada GPU només pot accedir a la seva pròpia memòria.
L’excepció són les GPUs NVIDIA connectades amb NVLink, amb què poden compartir memòria múltiples GPUs a un cost de rendiment reduït. Es pot habilitar a les preferències amb la Memòria distribuïda entre dispositius.
Què es revela més ràpid?¶
Això varia depenent del maquinari utilitzat. Diferents tecnologies també tenen diferents temps de càlcul depenent de l’escena provada. Per a obtenir informació més actualitzada sobre el rendiment de diferents dispositius, navegueu pel recurs Blender Open Data.
Missatges d’error¶
Si surten problemes, assegureu-vos que intal·leu els controladors gràfics oficials des del lloc web dels fabricants de la GPU o a través del gestor de paquets a Linux. Els controladors gràfics proporcionats pel fabricant de l’ordinador de vegades poden estar obsolets o ser incomplets.
Error: memòria exhaurida¶
Això normalment significa que no hi ha prou memòria per emmagatzemar l’escena per al seu ús per part de la GPU.
Nota
Una manera de reduir l’ús de la memòria és utilitzant textures de resolució més baixa. Per exemple, les textures d’imatge de 8k, 4k, 2k i 1k ocupen respectivament 256MB, 64MB, 16MB i 4MB de memòria.
El controlador NVIDIA OpenGL ha perdut la connexió amb el controlador de visualització¶
Si s’utilitza una GPU tant per al visionat com per al revelat, el Windows deixa un límit de temps perquè la GPU faci els càlculs de revelat. Si teniu una escena especialment carregada, Cycles pot ocupar massa temps de GPU. Reduir la Mida de tessel·la en el plafó de Rendiment pot alleujar el problema, però l’única solució real és utilitzar targetes gràfiques diferents per al visionat i el revelat.
Una altra solució pot ser augmentar el temps d’espera, encara que això farà que la interfície d’usuària sigui menys responsiva a l’hora de revelar escenes pesades. Més info aquí.
Versió de GNU no admesa¶
A Linux, depenent de la versió GCC, és possible que sorgeixi aquest error. Vegeu la Guia per a la instal·lació de NVIDIA CUDA per Linux, on hi ha una llista de versions compatibles amb GCC. Hi ha dues solucions possibles per a aquest error:
- Utilitzar un compilador alternatiu
Si teniu instal·lat un GCC antic que és compatible amb la versió instal·lada del joc d’eines de CUDA, podeu utilitzar aquest en lloc del compilador per defecte. Per fer això s’ha de definir la variable d’entorn
CYCLES_CUDA_EXTRA_CFLAGSen iniciar el Blender.Engegueu el Blender des de la línia d’ordres de la manera següent:
CYCLES_CUDA_EXTRA_CFLAGS="-ccbin gcc-x.x" blender
(Substituïu el nom o la ruta del compilador GCC compatible).
- Suprimir les comprovacions de compatibilitat
Si el de més amunt no té èxit, elimineu la línia següent a
/usr/local/cuda/include/host_config.h:#error -- unsupported GNU version! gcc x.x and up are not supported!Això permetrà que Cycles compili amb èxit el nucli de revelat CUDA la primera vegada que intenti utilitzar la GPU per a revelar. Un cop el nucli es construeixi correctament, podeu llançar el Blender com ho faríeu normalment i se seguirà usant el nucli CUDA per al revelat.
Error de CUDA: ha fallat la compilació del nucli¶
Aquest error pot sorgir si teniu una nova targeta gràfica NVIDIA que encara no està admesa per la versió del Blender i l’utillatge de CUDA que heu instal·lat. En aquest cas, el Blender pot intentar de confegir dinàmicament un nucli per a la vostra targeta gràfica i fallar.
En aquest cas es pot:
Comprovar si la versió més recent del Blender (oficial o compilacions diàries) admet la vostra targeta gràfica.
Si us compileu el Blender vosaltres mateixes, intenteu de descarregar i instal·lar un joc d’eines de desenvolupadora de CUDA més recent.
Normalment, a les usuàries no els cal instal·lar el kit d’eines CUDA, ja que Blender ve amb nuclis precompilats.