Blender 3.0, Cycles-X : pour les GeForce (CUDA/OptiX) et Radeon (HIP) les performances explosent

Blender 3.0, Cycles-X : pour les GeForce (CUDA/OptiX) et Radeon (HIP) les performances explosent

Gain de temps, gain d'argent !

Avatar de l'auteur
David Legrand

Publié dans

Hardware

24/11/2021 6 minutes
5

Blender 3.0, Cycles-X : pour les GeForce (CUDA/OptiX) et Radeon (HIP) les performances explosent

Avec le moteur de rendu Cycles-X qui sera introduit dans sa version 3.0 d'ici quelques jours, Blender se prépare à une petite révolution : OpenCL est remplacé par une solution open source portée par AMD : HIP. Nous l'avons testé sur une Radeon Pro W6800 face à une GeForce RTX 3070 Ti pour constater l'évolution des résultats.

Il y a plusieurs mois, l'équipe de Blender annonçait la nouvelle : elle lâchait OpenCL, voulant se concentrer sur des implémentations plus efficaces. Pour les GPU NVIDIA, le duo CUDA/OptiX reste en place, ce dernier devant à terme prendre le relais puisqu'il bénéficie de l'ensemble des accélérations matérielles, notamment pour le ray tracing (RTX).

Et pour AMD et Intel ? Après des mois sans annonce, on apprenait récemment que le choix de l'équipe s'est porté sur HIP (Heterogeneous-Compute Interface for Portability), la solution d'AMD pour exécuter du code C++ sur un GPU (Radeon ou non), à la manière de CUDA chez NVIDIA. Du code CUDA peut d'ailleurs être adapté pour HIP.

La version 3.0 de Blender intègre cette évolution via le moteur Cycles-X, un pilote spécifique d'AMD permettant d'en profiter depuis quelques jours. Nous avons effectué des essais sur une Radeon Pro W6800.

Cycles-X et HIP : quelques limites à connaitre

Tout d'abord, ne vous attendez pas à un support large de la part d'AMD. Le constructeur a indiqué que ses Radeon de dernière génération (série 6000, RDNA2) étaient les seules officiellement supportées. La précédente doit fonctionner sans problème mais sans support officiel. Et les modèles antérieurs ? Nous n'avons pas eu de réponse.

Il faut donc s'attendre à ce que les gammes VEGA et GCN soient mises de côté, mais nous verrons ce qu'il en est avec le pilote final qui devrait arriver début décembre, tout comme Blender 3.0. Autre limitation que nous a confirmé AMD : HIP ne tire pas partie de l'accélération matérielle du ray tracing via les Ray Accelerators.

Néanmoins, on nous promet des performances en hausse. Nous avons donc retenu quatre scènes de tests. La classique bmw_27, Classroom, Cosmos Laundromat, mais aussi Barbershop qui nous a toujours montré des résultats anormalement élevés via le rendu OpenCL sur les Radeon récentes. 

Lorsque les scènes étaient configurées pour un rendu pour CPU, nous les avons modifiés pour effectuer un calcul via des tuiles de 512x512 pixels dans Blender 2.x. Notez d'ailleurs que c'est la première différence que l'on note avec la 3.x : cette notion n'existe plus : la scène n'est plus découpée par petits carrés, tant sur CPU que sur GPU.

Blender 2.xBlender 3.x
Les paramètres de Blender 2.x (à gauche) et 3.x (à droite) pour un rendu de bmw_27 GPU

Jusqu'à 42 % de gain

Nous avons effectué tous nos essais sur Windows 11 avec un Core i9-12900K, 32 Go de DDR5-5200, une ROG Maximus Z690 Hero d'ASUS et les pilotes de test fournis par AMD. Voici nos résultats avec la Radeon Pro W6800 :

  • bmw27 GPU :
    • Blender 2.93.7 : 43s 
    • Blender 3.0.0b : 27s (-37 %)
  • Classroom :
    • Blender 2.93.7 : 84s
    • Blender 3.0.0b : 49s (-42 %)
  • Cosmos Laundromat :
    • Blender 2.93.7 : 290s
    • Blender 3.0.0b : 192s (-34 %)

Le gain est net et d'autant plus appréciable qu'il se fait sans hausse notable de la consommation à la prise, toujours contenue entre 280 et 300 watts. Nous avons effectué des tests avec les versions 2.83 et 3.1.0a, ils étaient respectivement similaires à ceux des versions ici testées, à la variabilité des résultats près. 

Seule exception selon nos relevés, la scène Barbershop qui privilégiait fortement les Radeon jusque-là : 

  • Barbershop :
    • Blender 2.93.7 : 183s
    • Blender 3.0.0b : 221s (+21 %)

C'est aussi la seule où Blender 3.1.0a affiche un gain important puisque l'on passe à 209s.

Et par rapport aux GeForce ?

L'équipe de Blender dit avoir aussi revu son implémentation de CUDA et OptiX, plus efficaces. Et effectivement, nous constatons des gains importants avec une GeForce RTX 3070 Ti. Notez que celle-ci a été annoncée un peu plus chère que la Radeon RX 6800 dont la Pro W6800 est dérivée, elle consomme également un peu plus :

  • bmw27 GPU :
    • Blender 2.93.7 CUDA : 24s 
    • Blender 3.0.0b CUDA : 18s (-25 %)
    • Blender 2.93.7 OptiX : 16s 
    • Blender 3.0.0b OptiX : 9s (-44 %)
  • Classroom :
    • Blender 2.93.7 CUDA : 69s 
    • Blender 3.0.0b CUDA : 33s (-52 %)
    • Blender 2.93.7 OptiX : 51s 
    • Blender 3.0.0b OptiX : 19s (-63 %)
  • Cosmos Laundromat :
    • Blender 2.93.7 CUDA : 285s 
    • Blender 3.0.0b CUDA : 182s (-26 %)
    • Blender 2.93.7 OptiX : 112s 
    • Blender 3.0.0b OptiX : 62s (-45 %)

On note qu'entre la version 2.9x CUDA et la 3.0 OptiX, le temps de rendu est divisé par trois ou quatre. Selon les scènes, le passage à Cycles-X permet de gagner entre 25 et 63 %, ce qui est plus élevé que sur les Radeon. Ainsi, même lorsque la Pro W6800 revient au score, il est toujours deux à trois fois plus élevé que la RTX 3070 Ti. 

On fait un constat similaire avec Barbershop, qui posait des soucis à ces cartes dans l'implémentation précédente. Mais là aussi le passage à Cycles-X a semble-t-il résolu le problème et les performances sont bien meilleures :

  • Barbershop :
    • Blender 2.93.7 CUDA : 240s 
    • Blender 3.0.0b CUDA : 149s (-38 %)
    • Blender 2.93.7 OptiX : 448s 
    • Blender 3.0.0b OptiX : 84s (-81 %)

Quid du rendu sur CPU ?

Nous avons essayé le rendu hybride CPU/GPU, sans noter de gains et parfois des pertes importantes, il n'est donc jamais intéressant avec une plateforme telle que celle testée ici, d'autant que la consommation passe à 500 watts. Mais il est possible d'effectuer un rendu CPU (ici avec le 12900K) qui a lui aussi été retravaillé.

Pour autant, il ne faut pas s'attendre à des miracles. Cette solution reste donc à privilégier pour des rendus où la performance n'est pas le critère principal, notamment lorsque plus de mémoire qu'accessible au GPU est nécessaire par exemple. Mais les écarts avec les GPU vont désormais de 1 à 10...

  • bmw27 :
    • Blender 2.93.7 : 100s 
    • Blender 3.0.0b : 95s (-5 %)
  • Classroom :
    • Blender 2.93.7 : 275s
    • Blender 3.0.0b : 224s (-19 %)
  • Cosmos Laundromat :
    • Blender 2.93.7 : 545s
    • Blender 3.0.0b : 527s (-3 %)

Là encore, Barbershop se démarque et semble indiquer que des bugs restent à régler :

  • Barbershop :
    • Blender 2.93.7 : 423s
    • Blender 3.0.0b : 1095s (+159 %)

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Cycles-X et HIP : quelques limites à connaitre

Jusqu'à 42 % de gain

Et par rapport aux GeForce ?

Quid du rendu sur CPU ?

Fermer

Commentaires (5)


Un peu hors sujet mais c’est toujours triste à voir qu’AMD se fait encore défoncer par une CG Nvidia 4 fois moins chère et quiconsomme 2 fois moins…



EDIT : en fait Radeon rx 6800 vs Pro W6800 déjà la différence de perfs est notable… OK, AMD n’est pas si à la traîne que ça ^^


N’oublie pas qu’hormis le changement de paradigme qu’opère Blender, le support de CUDA était de longue date alors que le support de HIP pour les RDNA2 est tout neuf ( auparavant en OpenCL )


Oui, c’est certain.


Le support de HIP est une bonne nouvelle pour les possesseurs de GPU autres que NVidia, mais comme j’ai une carte qui n’est plus toute récente (Radeon RX 570), j’hésite entre passer à Blender 3.0 en mode CPU seulement et attendre Blender 3.1 dans l’espérance que mon GPU ait le support de HIP…


Faudra voir si HIP n’est pas tout de même activable sur la version finale/pilote final sur les modèles GCN. AMD peut très bien le proposer sans support (HIP gérant ces générations de mémoire).