← Tous les articles

Windows, Linux ou carte graphique : où tourne votre calcul, et en combien de temps

PARCHAP CFD calcule sur le processeur, avec un moteur Windows ou un moteur Linux, et affiche un pré-résultat calculé par la carte graphique. Ce que chacun apporte, les gains mesurés, et ce qui peut tourner en même temps.

Un calcul de bassin prend quelques minutes pour un bassin simple, plusieurs heures pour un chenal aéré. La durée dépend du nombre de mailles, du nombre de cœurs du processeur, du type de calcul (écoulement permanent, surface libre, eau et air), et du moteur choisi.

Deux moteurs sur le processeur, un seul calcul

Le calcul complet tourne toujours sur le processeur. PARCHAP CFD le lance avec l'un de deux moteurs : le moteur Windows, livré avec le logiciel, ou le moteur Linux, qui tourne dans WSL, le sous-système Linux de Windows 10 et 11. C'est la même version du même code de calcul, avec les mêmes réglages et les mêmes fichiers : les résultats sont les mêmes. Le moteur se choisit dans les réglages et s'applique aux calculs suivants.

Ce que gagne le moteur Linux

  • Sur un grand chenal aéré (eau et air, 240 000 mailles, 10 cœurs) : 2,07 fois plus rapide, mêmes résultats moyens.
  • Sur un petit bassin : 5 à 8 % seulement.

L'écart grandit avec la taille du calcul et le nombre de cœurs : c'est là que les échanges entre cœurs et les écritures de fichiers pèsent le plus. Pour un bassin simple, le moteur Windows suffit. Pour un chenal aéré de plusieurs heures, le moteur Linux divise l'attente par deux.

Quelques durées réelles, sur un PC de bureau, 18 cœurs pour le calcul, moteur Linux : des bassins de 54 000 à 111 000 mailles en écoulement permanent se calculent en 2 à 10 minutes. Un chenal aéré de 199 000 mailles, 120 secondes d'écoulement eau-air, a pris environ 2 heures avec le moteur Windows sur 10 cœurs.

Les chiffres d'un calcul complet : vitesse moyenne, zones mortes, vitesse près du fond, poussée des agitateurs

La carte graphique : un pré-résultat pendant le calcul

La carte graphique ne fait pas le calcul complet. Elle calcule un pré-résultat avec une autre méthode (Boltzmann sur réseau), sur une grille régulière du bassin, avec les mêmes agitateurs, les mêmes diffuseurs et les mêmes indicateurs. Il démarre en même temps que le calcul complet, sans lui prendre de cœur, s'affiche dès qu'il est prêt, puis laisse la place aux résultats définitifs.

C'est un ordre de grandeur pour patienter, calé sur des calculs complets : vitesse moyenne et vitesse au fond à ±15 %, inclinaison du rideau de bulles à 2° près, rétention de gaz à 3 % près. Les petites zones mortes sont sous-estimées. Les chiffres du rapport restent ceux du calcul complet.

Son usage concret : repérer tôt une erreur de saisie (agitateur tourné dans le mauvais sens, jet qui tape dans une cloison, grille d'air mal placée) et arrêter le calcul complet avant d'y avoir perdu des heures. Il sert sur les calculs longs ; sur un bassin simple, le calcul complet finit souvent avant lui.

Le pré-résultat est programmé directement pour la carte graphique : un seul passage sur sa mémoire par pas de temps. Sur un de nos bassins d'essai, il simule 120 secondes d'écoulement sur 3 millions de mailles en une dizaine de minutes, là où le calcul complet a pris 4 h 18 sur 18 cœurs. Il demande une carte graphique NVIDIA et la version complète.

Ce qui tourne en même temps

  • Le pré-résultat sur la carte graphique, pendant le calcul complet sur le processeur.
  • Les campagnes de l'IA de placement : sur un PC de 12 cœurs ou plus, deux calculs d'apprentissage tournent en parallèle, chacun sur la moitié des cœurs.
  • Pendant un calcul complet, une campagne continue avec un calcul à la fois, sur la moitié des cœurs au plus (8 au maximum).

Un seul calcul complet tourne à la fois : deux grands calculs se partageraient les mêmes cœurs, et un calcul réparti supporte mal les cœurs partagés. Deux cœurs restent toujours libres pour Windows et l'interface, et l'estimation de durée tient compte des calculs déjà en cours.

En pratique

  • Bassin simple, écoulement permanent : l'un ou l'autre moteur, quelques minutes.
  • Chenal aéré, surface libre, vidéo : le moteur Linux, et le pré-résultat pour voir la tendance pendant que le calcul complet avance.
  • Recherche d'une position d'agitateur : une campagne de l'IA de placement, qui enchaîne les calculs en parallèle, puis un calcul complet pour vérifier la piste retenue.