DreamWorks : l’usine à rêves en mode HPC
By   |  March 01, 2013

Quoi de commun entre un projet de recherche classique et un film d’animation tel que Le Chat Potté, des studios DreamWorks ? Les technologies HPC, bien sûr, grâce auxquelles les ingénieurs réussissent des prouesses techniques et visuelles. Bienvenue dans la salle des machines…

On a beau en avoir vu d’autres, la qualité graphique – sans parler de la poésie pure – du Chat Potté fait son effet sur les petits comme sur les grands. Mais, au-delà du spectacle, c’est la performance technique qui retient l’attention. La précision, la rapidité, la fluidité des animations 3D ajoutent en effet beaucoup à l’histoire, au point que les enfants, chez lesquels virtuel et réel peuvent encore se confondre, s’étonneraient presque que le chat de la voisine soit aussi monotone dans son expression !

Le secret, pour DreamWorks, c’est un ensemble d’applications propriétaires optimisées pour les plateformes Xeon sur lesquelles les artistes travaillent. Ces applications résultent d’un partenariat avec Intel débuté en 2008. Du côté du studio, des ingénieurs spécialisés en aéronautique et en mécanique des fluides mettent au point des outils spécifiques à la création d’effets spéciaux. Du côté du fondeur, des spécialistes logiciels optimisent ces applications à l’aide de la Math Kernel Library, collection de routines mathématiques déjà parallélisées.

Une collaboration étroite entre ingénieurs et créatifs

Parmi ces fonctions figurent bien sûr l’algèbre linéaire, les transformées de Fourier, le vectoriel et les statistiques. Ce sont elles que DreamWorks utilise le plus dans sa plateforme de simulation de fluides, grâce à laquelle sont générés le feu, la fumée, la poussière ou les explosions. Aussi, toute optimisation à ce niveau débouche sur un accroissement de productivité qui permet de tenir les délais de production.

John O’Neill, ingénieur applicatif chez Intel, a été un de ceux qui ont collaboré le plus étroitement avec les équipes de DreamWorks au début de l’aventure. Pour lui, “la clé du succès de tout le processus d’optimisation a été le type de resommation de Poisson qu’ils ont choisi. Les ingénieurs ont étudié les différents algorithmes inclus dans MKL et ont trouvé que la solution de type Fourier était celle qui répondait le mieux à leurs objectifs de dimensionnement de threads. Comme MKL utilise des instructions SIMD (Single Instruction Multiple Data), l’implémentation de l’ensemble s’est révélée assez efficace.

Fort de ce premier succès, Ron Henderson, responsable R&D chez DreamWorks, décide d’étendre cette approche à d’autres domaines de l’animation. A partir d’outils propriétaires, conçus expressément pour tel ou tel besoin spécifique, ses collaborateurs arrivent par exemple à rendre quasi-réalistes la cinématique des ailes d’oiseaux, ou à reproduire très fidèlement l’aspect des poils touchés, lissés ou hérissés.

A chaque fois, l’essentiel réside dans l’échange avec les créatifs. “Ils ont généralement une vision moins technique que la nôtre“, remarque-t-il, “si bien qu’ils apprécient mal les enjeux mathématiques sous-jacents à leurs demandes. Notre rôle, c’est de les aider à analyser leur souhaits puis de les amener à intégrer ces paramètres à leurs réflexions.

Ce partage et cette reformulation d’idées, Henderson semble les apprécier plus encore que son activité de management technique. “La plupart d’entre nous possède un solide bagage scientifique“, poursuit-il, “et ce qu’il y a d’unique chez DreamWorks, c’est la possibilité d’utiliser ces compétences dans un but artistique. Rien ne me fait plus plaisir que quand un artiste s’approprie un de nos outils et lui fait faire des choses que nous n’aurions jamais imaginé possibles. Ca arrive beaucoup, ici. On est vraiment au confluent de la haute technologie et de la création d’avant-garde“.

Parmi les réalisations les plus emblématiques à l’œuvre dans le film, la simulation de tornade est de celles qui ont le plus bénéficié de MKL, tant en termes de rapidité de création que de performances en rendu. Pour Henderson, réutiliser des briques fonctionnelles issues d’une bibliothèque de base permet d’oublier les fondamentaux. Les ingénieurs disposent ainsi de plus de temps pour comprendre les bénéfices d’un algorithme complexe, et pour le mettre au point.

“Une âme de geeks”

DreamWorks devrait poursuivre sur la voie de l’escalade technologique. Les artistes ont en effet aussi une âme de geeks, pour qui repousser les limites de la complexité visuelle est autant un moyen de fasciner le spectateur que de se faire plaisir. Ca tombe bien : les progrès actuels en matière de technologies HPC et de parallélisation des traitements vont dans ce sens. “Les techniques que nous utilisons pour les effets spéciaux sont parfaitement adaptées aux processeurs multi-cœurs à mémoire partagée“, précise Ron Henderson. “Le problème est simple : nous devons continuellement appliquer les mêmes algorithmes à de larges datasets.

L’arrivée de nouveaux accélérateurs matériels précisément destinés à cet usage promet d’autres belles réalisations dans un avenir proche. Au point que, pour Henderson, “toute nouvelle initiative de développement chez DreamWorks s’envisage dans une stratégie de parallélisation. Les algorithmes ne pouvant pas être threadés nous retardent. De même, nous devons constamment optimiser l’utilisation des ressources de calcul et de stockage à notre disposition. Prenons l’exemple d’un nuage. On peut très bien créer un modèle volumétrique à partir d’une boîte divisée en un milliard de petits volumes. Si nous nous focalisons sur les bords du nuage, dans la mesure où le reste est invisible, nos algorithmes ne mobilisent que la puissance nécessaire à la visualisation effective et n’entraînent pas le stockage de données inutiles.

Dans le cas de DreamWorks comme dans celui de nombreuses autres organisations utilisant des ressources HPC, la difficulté est de trouver le juste équilibre entre la meilleure représentation visuelle et les performances de rendu. Sur ce point, Ron Henderson est clair : “Nous utilisons les volumes pour leur flexibilité, mais ils sont très gourmands en mémoire. Nous utilisons les particules parce qu’elles sont peu gourmandes en mémoire, et elles aussi très flexibles, mais leur réalisme est nettement moins bon. On pourrait simuler un nuage de fumée avec des particules : ce ne serait pas aussi bluffant qu’avec un volume. On doit donc définir des structures de données et des algorithmes qui combinent le meilleur de ces deux approches, pour respecter à la fois les attentes du spectateur et les impératifs temporels de nos producteurs…

[En détails]

Des chiffres vertigineux

Le Chat Potté est sans doute l’une des animations les plus ambitieuses que DreamWorks ait produites jusqu’ici. Elle a ainsi nécessité plus de 69 milliards d’heures de rendering, et plus de 109 To d’espace disque. Dans son ensemble, le film se compose d’environ 120 000 images générées informatiquement. L’infrastructure technique s’étend sur 5 sites géographiques différents, qui ensemble comptent environ 22 000 cœurs Intel. Un jour, le rendering a mobilisé simultanément pas moins de 23 000 unités de rendu sur 16 000 cœurs. Les autres chiffres laissent tout aussi songeur :

  • le trou que creusent le Chat et Kitty compte 315 000 grains de sable
  • la tornade atteint 116 mètres de haut
  • les haricots sont tirés à la vitesse de 1200 km/h, presque la vitesse du son
  • l’oie mesure 24 mètres et ses ailes plus de 3,5 mètres
  • la destruction du pont a nécessité 23 simulations de fluides et 96 simulations de particules, dont il ressort 10 523 fragments de roche, 22 millions de particules de poussière et 11 millions de débris.

 

© HPC Today 2021 - All rights reserved.

Thank you for reading HPC Today.

Express poll

Do you use multi-screen
visualization technologies?

Industry news

Brands / Products index