Un exemple de portage efficace d’un code de calcul en mécanique des fluides sur GPUs sans coder une ligne de CUDA (ou presque)

Annaïg Pedrono, Aurélie Louis-Napoléon, Pierre Elyakime, Maxime Pigou (IMFT), Mickaël Duval, Nicolas Renon (CALMIP)

Mardi 12 novembre à 10 h 30 - Amphithéatre Nougaro

Résumé :

Cet exposé présente les résultats d’une collaboration initiée en 2017 entre l'Institut de Mécanique des Fluides de Toulouse et le mésocentre de calcul CALMIP sur un problème de portage d’un code de mécanique des fluides (ici JADIM) sur cartes accélératrices GPGPU. Les premiers efforts sur le portage ont concerné l’étape de résolution du système linéaire creux de la méthode de projection (qui consomme à elle seule entre 70 et 90% du temps de calcul). Les résultats de ce travail montrent des facteurs d’accélérations particulièrement intéressants dans des configurations proches de cas de production utiles pour la communauté. A titre d’exemple, le temps de restitution sur 1 core + 1 GPU Volta V100 est comparable à celui sur un socket Skylake de 20 cores pour un maillage de 1 million de cellules. Quelques pistes sont proposées pour encore améliorer les performances obtenues. Dans cet exposé, nous présentons comment deux hackathons ont servi de levier au portage du code et à la montée en compétences de l’équipe en détaillant les solutions techniques mises en œuvre, généralisables à une large classe de codes de mécanique des fluides.

Télécharger la présentation