CPU ou GPU : qui fait tourner les simulations ?
Les ordinateurs utilisent deux processeurs de calcul : le CPU et le GPU.
Le CPU, c’est le processeur central. C’est lui qui fait fonctionner l’ordinateur et presque tous les logiciels. Le GPU, c’est le processeur de la carte graphique. À l’origine, il sert à afficher les images et à faire tourner les jeux vidéo.
Les dernières innovations en jeux vidéo présentent des calculs de simulation physique instantanés : des explosions, des pièces qui se brisent, grâce à la puissance des GPU. Alors qu’en simulation, le même type de simulation prend des heures, voire des jours à calculer. Pourquoi ne pas utiliser le GPU pour faire les simulations dans ce cas ?
Deux façons de travailler
Le CPU a quelques dizaines de cœurs, mais ils sont très puissants. Chaque cœur peut faire des calculs compliqués, un à la suite de l’autre, dans l’ordre qu’on veut.
Le GPU, c’est l’inverse. Il a des milliers de petits cœurs, plus simples. Pris un par un, ils sont moins forts. Mais ils peuvent tous travailler en même temps, sur le même genre de calcul.
C’est un peu comme comparer quelques spécialistes très rapides avec une grande équipe qui répète le même geste en même temps.
Pourquoi la simulation reste surtout sur CPU
Les logiciels ont été faits pour le CPU. Les logiciels de simulation qu’on utilise en ingénierie existent depuis des dizaines d’années. Ils ont été écrits pour le processeur central et améliorés année après année.
La programmation n’est pas la même. Programmer pour une carte graphique, ce n’est pas comme programmer pour un processeur central. Ce ne sont pas les mêmes langages, ni la même façon de penser le calcul. Pour le GPU, il faut couper le travail en milliers de petits calculs qui ne dépendent pas les uns des autres. Refaire un logiciel au complet, ça prend des années. C’est pour ça que la migration se fait par petits bouts : la statique linéaire et les contacts simples passent au GPU en premier, et les simulations plus avancées restent sur le CPU.
Beaucoup de calculs se font par étapes. En éléments finis, le résultat d’une étape sert au calcul de la suivante. Quand les étapes dépendent les unes des autres, on ne peut pas tout lancer en même temps. C’est là que le GPU perd son avantage.
La mémoire de la carte est petite. Un gros modèle de simulation utilise la mémoire vive de l’ordinateur, qui peut avoir des centaines de gigaoctets. La mémoire d’une carte graphique est beaucoup plus petite. Si le modèle n’entre pas au complet dans la carte, on perd du temps en allers-retours, et le gain disparaît.
La précision coûte cher. Les logiciels d’ingénierie travaillent en double précision, avec environ 16 chiffres significatifs par nombre. Les jeux vidéo travaillent en simple précision, avec environ 7 chiffres. Les cartes graphiques grand public sont très rapides en simple précision, mais beaucoup plus lentes en double. Il existe des cartes professionnelles qui gèrent la précision à 16 chiffres, mais les coûts sont significatifs.
Les forces et les limites de chacun
Le CPU fait tout : toutes les physiques, les gros modèles, avec des logiciels éprouvés depuis longtemps. Sa faiblesse : quand le même calcul revient des millions de fois, il est moins rapide qu’une carte graphique bien utilisée.
Le GPU est très rapide quand le calcul se répète et se divise bien, comme les écoulements de fluides, les impacts ou les particules. Dans les bons cas, un calcul de plusieurs jours finit en quelques heures. Par contre, sa mémoire est limitée, les logiciels doivent être adaptés, et beaucoup de physiques n’existent pas encore en version GPU.
La tendance : les deux se partagent le travail
La tendance, ce n’est pas que le GPU remplace le CPU. C’est que les deux se partagent le travail.
Les éditeurs ajoutent le GPU morceau par morceau. Chez Ansys, le solveur d’écoulement Fluent peut tourner entièrement sur la carte graphique, et Mechanical offre un solveur mixte CPU et GPU depuis 2025.
Il y a aussi des logiciels pensés pour le GPU dès le départ, comme Ansys Discovery. Le calcul se fait directement sur la carte graphique et le résultat s’affiche presque en temps réel quand le modèle est modifié. Les résultats sont instantanés, mais il est plus limité que le solveur Ansys Mechanical.
L’intelligence artificielle pousse dans le même sens : elle fonctionne sur les mêmes cartes, alors les cartes deviennent de plus en plus puissantes et les logiciels de simulation en profitent.
Au bout du compte, le CPU garde les calculs par étapes et la logique, et le GPU prend les gros calculs répétitifs. Dans nos projets, on choisit au cas par cas, selon la physique à simuler et la grosseur du modèle.
La différence en images
Une image vaut mille mots. La vidéo suivante est une démonstration des Mythbusters qui explique visuellement la différence entre le CPU et le GPU.
Sources
- Ansys, « Best Practices to Optimize Infrastructure for Ansys Simulations » : https://www.ansys.com/ja-jp/blog/best-practices-to-optimize-infrastructure-ansys-simulations
- NVIDIA, « Mythbusters Demo GPU versus CPU », NVISION 2008 : https://www.youtube.com/watch?v=8_ZTvG1WQxM
