Stage rémunéré : Développement de noyaux GPUs pour le code open-source hawen
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 5 ou équivalent
Fonction : Stagiaire de la recherche
Contexte et atouts du poste
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].
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.
Principales activités
Les objectifs de stage sont les suivants :
- L’étudiante/étudiant devra être en mesure de comprendre les grandes étapes de la méthode HDG, afin de repérer quelles sections dans le code seront le plus propices à une parallélisation sur GPUs.
L’étudiante/étudiant proposera une stratégie de parallélisation sur GPUs. - Dans un premier temps, on utilisera le standard OpenMP 5, [1], pour voir quelles parties peuvent être accélerées. Dans un second temps, on envisagera une implémentation directe en Cuda Fortran [2] pour contrôler encore
plus finement les optimisations (transferts asynchrones, etc...) - Validation des performances avec un passage à l’échelle sur grappe de calcul et comparaison des
approches OpenMP 5 et Cuda. - Documentation des développements et de leurs utilisations.
Compétences
La personne recherchée doit avoir de solides connaissances en calcul haute-performance à la fois sur CPU (MPI, OpenMP, SIMD) mais surtout une connaissance approfondie de la parallélisation sur GPU (Cuda, OpenCL ou RocM).
Il est attendu qu’elle sache profiler et d’optimiser de tels codes.
Elle devra aussi être capable de lire des articles scientifiques en anglais ainsi que produire un rapport d’avancement.
Il est par conséquent fortement recommandé d’être à l’aise avec la communication en anglais.
Avantages
- Restauration subventionnée
- Transports publics remboursés partiellement
Rémunération
SMIC
Informations générales
- Thème/Domaine :
Sciences de la planète, de l'environnement et de l'énergie
Ingénierie logicielle (BAP E) - Ville : PAU
- Centre Inria : Centre Inria de l'université de Bordeaux
- Date de prise de fonction souhaitée : 2025-03-01
- Durée de contrat : 6 mois
- Date limite pour postuler : 2024-12-31
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Consignes pour postuler
Merci d'envoyer CV et lettre de motivation
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Contacts
- Équipe Inria : MAKUTU
-
Recruteur :
Faucher Florian / florian.faucher@inria.fr
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.