Rendu GPU (Graphics Processing Unit)#

Le rendu GPU permet d’utiliser votre carte graphique pour le rendu, au lieu du CPU. Cela peut accélérer le rendu, car les GPU modernes sont conçus pour effectuer beaucoup de calculs. D’autre part, ils ont également certaines limitations dans le rendu de scènes complexes, en raison d’une mémoire plus limitée et des problèmes d’interactivité lors de l’utilisation de la même carte graphique pour l’affichage et le rendu.

Pour activer le rendu GPU, allez dans Preferences ‣ System ‣ Cycles Render Devices et sélectionnez CUDA, OptiX, HIP, oneAPI ou Metal. Ensuite, vous devez configurer chaque scène pour utiliser le rendu GPU dans Properties ‣ Render ‣ Device.

Technologies de rendu#

Blender prend en charge différentes technologies pour le rendu sur le GPU en fonction du fabricant particulier du GPU et du système d’exploitation.

CUDA – NVIDIA#

CUDA est pris en charge sur Windows et Linux et nécessite une carte graphique Nvidia avec capacité de calcul 3.0 et supérieure. Pour vous assurer que votre GPU est pris en charge, consultez la liste des cartes graphiques Nvidia avec les capacités de calcul et les cartes graphiques prises en charge.

OptiX – NVIDIA#

OptiX est pris en charge sur Windows et Linux et nécessite une carte graphique Nvidia avec capacité de calcul 5.0 ou supérieure et une version de pilote d’au moins 470. Pour vous assurer que votre GPU est pris en charge, consultez la liste des cartes graphiques Nvidia.

OptiX tire parti de l’accélération matérielle du lancer de rayons (ray-tracing) dans les cartes graphiques RTX, pour des performances améliorées.

L’accélération GPU pour OpenImageDenoise est disponible pour la capacité de calcul 7.0 et supérieure, qui inclut toutes les cartes NVIDIA RTX.

HIP – AMD#

HIP est pris en charge sur Windows et Linux et nécessite une carte graphique AMD avec l’architecture Vega ou plus récente. Les GPU discrets et les APU sont pris en charge.

Les GPU pris en charge incluent :

  • Radeon RX Vega Series (Excluding the Radeon VII)

  • Radeon RX 5000 Series

  • Radeon RX 6000 Series

  • Radeon RX 7000 Series

  • Radeon Pro WX 9100

  • Radeon Pro W6000 Series

Versions minimales du pilote :

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

  • Linux : Radeon Software 22.10 ou ROCm 5.1

Veuillez consulter le site web AMD pour plus d’informations sur les cartes graphiques AMD et leurs architectures.

Sous Windows, la prise en charge matérielle expérimentale du lancer de rayons est disponible avec les pilotes les plus récents. Cela peut être activé dans les préférences. Cependant, il existe actuellement des problèmes connus concernant le flou de mouvement, le rendu des cheveux et les formes triangulaires dégénérées.

Le débruitage accéléré par GPU est disponible sur les GPU discrets Radeon RX 6000 et Radeon RX 7000.

oneAPI – Intel#

oneAPI est une bibliothèque de calcul prise en charge sur Windows et Linux et nécessite une carte graphique Intel® Arc™ avec l’architecture Xe HPG. L’accélération matérielle pour le lancer de rayons est prise en charge.

Les GPU pris en charge incluent :

  • Intel® Arc™ A-Series

Versions minimales du pilote :

  • Windows: Intel Graphics Driver XX.X.101.5186

  • Linux: intel-level-zero-gpu package 1.3.27642, généralement disponible via le package intel-compute-runtime XX.XX.27642.38

Veuillez consulter le site web Intel pour plus d’informations sur les cartes graphiques Intel et leurs architectures.

Le débruitage accéléré par GPU est disponible sur tous les GPU pris en charge.

Metal – Apple (macOS)#

Metal est pris en charge sur les ordinateurs Apple équipés de cartes graphiques Apple Silicon ou AMD. MacOS 12.2 est requis pour utiliser Metal avec Apple Silicon tandis que macOS 13.0 est requis pour prendre en charge toutes les fonctionnalités et cartes graphiques.

L’utilisation de cartes graphiques AMD avec Metal présente un certain nombre de limitations. Light Trees et les Shadow Caustics ne sont pas pris en charge, et le Principled Hair BSDF entraîne de mauvaises performances de rendu.

Le débruitage accéléré par GPU est disponible sur Apple Silicon.

Limitations#

Questions fréquemment posées#

Pourquoi Blender ne répond-il pas pendant le rendu ?#

Sur les anciennes générations de GPU, les cartes graphiques ne peuvent que restituer ou dessiner l’interface utilisateur. Cela peut empêcher Blender de répondre pendant le rendu. Les scènes lourdes peuvent également empêcher Blender de répondre sur les GPU les plus récents, lors de l’utilisation de beaucoup de mémoire ou de l’exécution de shaders coûteux, mais cela pose généralement moins de problèmes.

La seule solution complète pour cela est d’utiliser un GPU dédié pour le rendu et un autre pour l’affichage.

Pourquoi une scène qui est rendue sur le processeur ne s’affiche-t-elle pas sur le GPU ?#

Il peut y avoir plusieurs causes, mais la plus courante est qu’il n’y a pas assez de mémoire sur votre carte graphique. En règle générale, le GPU ne peut utiliser que la quantité de mémoire qui se trouve sur le GPU (voir Est-ce que plusieurs GPU augmenteraient la mémoire disponible? pour plus d’informations). Généralement beaucoup plus faible que la quantité de mémoire système à laquelle le CPU peut accéder. Avec les appareils CUDA, OptiX, HIP et Metal, si la mémoire GPU est pleine, Blender essaiera automatiquement d’utiliser la mémoire système. Cela aura un impact sur les performances, mais aboutira généralement à un rendu plus rapide que l’utilisation du rendu CPU.

Plusieurs GPU peuvent-ils être utilisés pour le rendu ?#

Oui, allez dans Preferences ‣ System ‣ Compute Device Panel et configurez-le comme vous le souhaitez.

Est-ce que plusieurs GPU augmenteraient la mémoire disponible ?#

Généralement non, chaque GPU ne peut accéder qu’à sa propre mémoire.

L’exception concerne les GPU NVIDIA connectés à NVLink, où plusieurs GPU peuvent partager de la mémoire à un faible coût en termes de performances. Ceci peut être activé avec Distributed Memory Across Devices dans les préférences.

Qu’est-ce qui permet un rendu plus rapide ?#

Cela varie en fonction du matériel utilisé. Différentes technologies ont également des temps de calcul différents en fonction de la scène testée. Pour obtenir les informations les plus récentes sur les performances des différents appareils, parcourez la ressource Blender Open Data.

Messages d’erreur#

En cas de problème, veillez à installer les pilotes graphiques officiels depuis le site Web des fabricants de GPU ou via le gestionnaire de packages sous Linux. Les pilotes graphiques fournis par le fabricant de l’ordinateur peuvent parfois être obsolètes ou incomplets.

Error: Out of memory#

Cela signifie généralement qu’il n’y a pas assez de mémoire pour stocker la scène à utiliser par le GPU.

Note

Une façon de réduire l’utilisation de la mémoire consiste à utiliser des textures de résolution plus petite. Par exemple, les textures d’image 8k, 4k, 2k et 1k occupent respectivement 256 Mo, 64 Mo, 16 Mo et 4 Mo de mémoire.

Le pilote NVIDIA OpenGL a perdu la connexion avec le pilote d’affichage#

Si un GPU est utilisé à la fois pour l’affichage et le rendu, Windows a une limite de temps pendant laquelle le GPU peut effectuer des calculs de rendu. Si vous avez une scène particulièrement lourde, les cycles peuvent prendre trop de temps GPU. La réduction de la taille de la Tile Size dans le panneau Performances peut atténuer le problème, mais la seule vraie solution consiste à utiliser des cartes graphiques distinctes pour l’affichage et le rendu.

Une autre solution peut être d’augmenter le délai d’expiration, bien que cela rende l’interface utilisateur moins réactive lors du rendu de scènes lourdes. En savoir plus ici.

Version GNU non prise en charge#

Sous Linux, en fonction de votre version de GCC, vous pouvez obtenir cette erreur. Consultez le Guide d’installation de Nvidia CUDA pour Linux pour une liste des versions de GCC prises en charge. Il existe deux solutions possibles à cette erreur :

Utiliser un autre compilateur

Si vous avez installé un GCC plus ancien compatible avec la version de la boîte à outils CUDA installée, vous pouvez l’utiliser à la place du compilateur par défaut. Cela se fait en définissant la variable d’environnement CYCLES_CUDA_EXTRA_CFLAGS lors du démarrage de Blender.

Lancez Blender à partir de la ligne de commande comme suit :

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

(Remplacez le nom ou le chemin du compilateur GCC compatible).

Supprimer les vérifications de compatibilité

Si ce qui précède échoue, supprimez la ligne suivante dans /usr/local/cuda/include/host_config.h :

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

Cela permettra à Cycles de compiler avec succès le noyau de rendu CUDA la première fois qu’il tentera d’utiliser votre GPU pour le rendu. Une fois le noyau construit avec succès, vous pourrez lancer Blender comme vous le feriez normalement et le noyau CUDA sera toujours utilisé pour le rendu.

CUDA Error: Kernel compilation failed#

Cette erreur peut se produire si vous disposez d’une nouvelle carte graphique Nvidia qui n’est pas encore prise en charge par la version de Blender et la boîte à outils CUDA que vous avez installées. Dans ce cas, Blender peut essayer de construire dynamiquement un noyau pour votre carte graphique et échouer.

Dans ce cas, vous pouvez :

  1. Vérifiez si la dernière version de Blender (versions officielles ou expérimentales) prend en charge votre carte graphique.

  2. Si vous construisez vous-même Blender, essayez de télécharger et d’installer une nouvelle boîte à outils pour développeurs CUDA.

Normalement, les utilisateurs n’ont pas besoin d’installer la boîte à outils CUDA car Blender est livré avec des noyaux précompilés.