L’objectif de ce stage est de développer des noyaux GPUs pour le code open-source hawen (https://ffaucher.gitlab.io/hawen-website/, [3]) de l’équipe Inria Makutu. Le code est utilisé pour simuler la propagation d’ondes mécaniques dans des milieux tels que la Terre et le Soleil. Il sert également pour les problèmes d’imagerie, c’est à dire la reconstruction des propriétés physiques d’un milieu à partir de mesures d’ondes se propageant dans celui-ci. La discrétisation des équations d’ondes utilise la méthode HDG (“Hybridizable Discontinuous Galerkin”) qui est particulièrement efficace pour des ordres de polynomes élevés et, contrairement à d’autres approches plus standards, impliquent de nombreuses opérations de multiplication de matrices denses, ainsi que l’inversion de ces matrices.
Actuellement, le code utilise uniquement le parallélisme sur CPUs, en combinant MPI et OpenMP.
Il a été utilisé sur plusieurs milliers de CPUs, permettant notamment de simuler la propagation d’ondes à l’intérieur du Soleil entier. L’ajout de la parallélisation sur GPUs des opérations sur les matrices denses devraient permettre d’améliorer les performances, e.g., [4, 5].fiche de poste: https://jobs.inria.fr/public/classic/fr/offres/2024-08349
[1] T. Deakin and T. Mattson, Programming your GPU with OPENMP, The MIT Press, Cambridge, Massachusetts, first ed., 2023.
[2] M. Fatica and G. Ruetsch, CUDA Fortran for Scientists and Engineers, ELSEVIER, first ed., 2009.
[3] F. Faucher, hawen: time-harmonic wave modeling and inversion using hybridizable discontinuous Galerkin discretization, Journal of Open Source Software, 6 (2021, https://ffaucher.gitlab.io/hawen-website/).
[4] A. Klöckner, T. Warburton, J. Bridge, and J. S. Hesthaven, Nodal discontinuous Galerkin methods on graphics processors, Journal of Computational Physics, 228 (2009), pp. 7863–7882.
[5] A. Klöckner, T. Warburton, and J. S. Hesthaven, High-order discontinuous Galerkin methods by GPU metaprogramming, in GPU Solutions to Multi-scale Problems in Science and Engineering, Springer, 2013, pp. 353–374.