NVIDIA Warp accélère la physique calculable pour l'IA
La conception assistée par ordinateur (CAO) évolue vers des workflows pilotés par l'intelligence artificielle, où les modèles de physique doivent généraliser à travers des géométries et des conditions opérationnelles variées. Contrairement aux grands modèles de langage, ces systèmes nécessitent d'énormes volumes de données de haute fidélité, souvent générées par des simulations. Cela impose une exigence critique : les simulateurs doivent être natifs du GPU, extrêmement rapides et intégrables directement aux chaînes de traitement du machine learning. NVIDIA Warp répond à ce besoin en permettant aux développeurs d'écrire des noyaux de simulation haute performance en Python, compilés dynamiquement pour s'exécuter sur le GPU via CUDA. Contrairement aux frameworks basés sur des tenseurs qui manipulent des tableaux multidimensionnels entiers, Warp autorise l'écriture de noyaux flexibles où chaque thread peut exécuter une logique conditionnelle distincte, évitant ainsi le gaspillage de calculs sur des éléments non pertinents. Cette approche est particulièrement adaptée aux solveurs de mécanique des fluides, comme démontré par la construction complète d'un solveur 2D de Navier-Stokes entièrement en Warp. Ce solveur, basé sur une formulation tourbillon-fonction de courant, combine une discrétisation par différences finies pour l'équation de transport et une transformation de Fourier rapide pour résoudre l'équation de Poisson. L'optimisation des graphes CUDA permet d'exécuter ces simulations à des vitesses élevées sans surcharge de lancement. Au-delà de la simulation directe, Warp introduit une capacité cruciale : la différentiation automatique. Le système enregistre les lancements de noyaux pour reconstruire un graphe de calcul réversible, permettant le calcul de gradients avec une précision machine. Cette fonctionnalité rend possible l'optimisation inverse, où l'on cherche à identifier les perturbations initiales qui amplifient le plus la divergence d'une trajectoire de flux turbulent. En comparant la trajectoire perturbée à une référence, l'algorithme minimise une erreur quadratique moyenne pour trouver la configuration optimale. Contrairement aux différences finies qui exigeraient des milliers de résolutions complètes pour obtenir les gradients, la rétropropagation via Warp effectue cette tâche en une passe avant et une arrière, rendant l'optimisation à grande échelle pratique. Les performances de Warp ont été validées par des études de cas industriels majeures. Autodesk Research a développé un solveur de Lattice Boltzmann différentiable qui s'est révélé huit fois plus rapide que JAX sur une seule carte graphique A100, tout en consommant significativement moins de mémoire à des échelles plus grandes. De même, Google DeepMind a intégré un backend Warp dans son moteur physique MuJoCo, obtenant des accélérations allant jusqu'à 475 fois pour la manipulation et la locomotion par rapport aux solutions JAX. En outre, C-Infinity utilise Warp pour transformer des assemblages CAD complexes en instructions d'assemblage pour l'industrie, atteignant une vitesse 669 fois supérieure aux bases CPU optimisées. En conclusion, NVIDIA Warp comble le fossé entre la précision des simulations physiques traditionnelles et la flexibilité des workflows d'intelligence artificielle. En permettant une écriture naturelle en Python tout en offrant des performances natives GPU et une différentiation intégrée, il devient un outil indispensable pour les applications modernes allant de la dynamique des fluides à la robotique et au traitement spatial. Son interopérabilité transparente avec des frameworks comme PyTorch et JAX positionne Warp comme une brique technologique centrale pour l'avenir de l'IA physique.
