On a testé pour vous : Arnold 6

Lancée en version beta au printemps 2019 avec la version 5.3, Arnold GPU sort en
version finale avec cette version 6. Un tournant majeur dans la vie de ce
moteur.

Ce que j’attends principalement d’un moteur
CPU/GPU c’est un switch transparent entre les deux moyens de calculs. Pas de
différences de rendus entre les shaders et pas de limitations dans
l’utilisation du displacement, des volumétriques, des AOV…
Arnold GPU prend en charge le SSS, hair, l’OpenVDB, les instances et
procédurales et les effets atmosphériques.

Peu de moteurs ont réussi complètement leur portage du CPU en GPU. Comment s’en
sort Arnold ?

Je teste ici Arnold 6 dans 3dsmax. Le choix
entre le calcul CPU ou GPU se fait dans le render setup, onglet system. Quand
on lance pour la première fois le rendu en mode GPU, Arnold doit calculer un
“GPU cache” des différents shaders et objets. Suivant la complexité de la scène
cela peut prendre plusieurs minutes. Sur mes scènes tests, le caching a
nécessité jusqu’à 3 minutes. On peut aussi forcer le calcul de ce cache. A faire pendant la
pause café…

Une fois le cache calculé les rendus se lancent plus rapidement. C’est aussi dans cet
onglet que l’on trouvera la gestion des GPU que l’on souhaite utiliser. J’ai 2
cartes graphiques : une ancienne GTX 1080 et une plus récente RTX 2070 super.
Arnold déconseille de faire les rendus avec 2 cartes graphiques qui ne
supportent pas la même version de CUDA.

Je me suis servi des différentes scènes
disponibles
sur le site Autodesk pour comparer la vitesse de calcul entre mon
processeur (core i7 970 – 6 coeurs) et les 2 cartes graphiques. Dans tous les
cas -avec les mêmes settings- le GPU est plus rapide. Il est intéressant de
voir aussi les différences entre les carte RTX et GTX en particulier lorsqu’il
y a de la diffusion dans l’environnement.

Il faut faire attention
cependant car pour le même setting le bruit généré par la version GPU est supérieur
à celui de la version CPU. Si on modifie le setting GPU pour retrouver le même
niveau de bruit qu’en CPU le GPU gagne encore sur ces scènes. Une procédure est
décrite dans la documentation pour harmoniser les niveaux de bruit entre CPU et
GPU.

Comparaison des temps de calcul

CPU vs GPU (2070 RTX) vs GPU (1080 GTX)

En conclusion

Les limitations GPU me paraissent plus faciles
à contourner si le projet est bien cadré et sortir un projet entier sur GPU est
réalisable dès cette version. J’ai un peu plus de doutes sur la possibilité
de rendre simplement (sans modifier retoucher les settings) une séquence en
partageant le rendu sur CPU et GPU. J’ai été assez surpris par la différence de performance entre une carte RTX et
GTX.

Cette évolution est cependant une réussite, qui va ravir de nombreux utilisateurs
d’Arnold.