2020-02869 - Optimisation et intégration de méthodes numériques d'ordre élevé dans une application en électrophysiologie cardiaque

Type de contrat : CDD

Niveau de diplôme exigé : Bac + 5 ou équivalent

Fonction : Ingénieur scientifique contractuel

A propos du centre ou de la direction fonctionnelle

Le centre Inria Bordeaux Sud-Ouest est un des huit centres d’Inria et compte une vingtaine d’équipes de recherche. Le centre Inria est un acteur majeur et reconnu dans le domaine des sciences numériques. Il est au cœur d'un riche écosystème de R&D et d’innovation : PME fortement innovantes, grands groupes industriels, pôles de compétitivité, acteurs de la recherche et de l’enseignement supérieur, laboratoires d'excellence, institut de recherche technologique…

Contexte et atouts du poste

La synchronisation des contractions régulières du coeur repose sur des mécanismes électrochimiques complexes : au sein de chacune de ses milliards de cellules, des canaux ioniques créent des courants électriques à l'échelle moléculaire, qui se propagent au sein du réseau de cellules, leur permettant de coordonner leurs actions. Les anomalies de ce système provoquent des arythmies cardiaques allant des palpitations à la mort cardiaque subite. La modélisation computationnelle permet une compréhension très fine des ces phénomènes de synchronisation. Elle repose actuellement sur la capacité d'effectuer des simulations à grande échelle sur des ordinateurs à haute performance. Notre objectif est de multiplier par cent la résolution spatiale des simulations en tirant parti d'architectures informatiques nouvelles et futures, hétérogènes et massivement parallèles. Deux équipes de l'Inria collaborent à cet effet : l'équipe CARMEN, spécialisée dans la simulation cardiaque, et l'équipe STORM, spécialisée dans le calcul haute performance, dans le cadre d'une collaboration à long terme avec l'IHU Liryc, un institut de classe mondiale dans le domaine des arythmies cardiaques. Le projet est financé par l'Agence Nationale de la Recherche (ANR), projet Exacard ANR-18-CE46-0010-01. Le candidat retenu travaillera au sein de cet environnement multidisciplinaire composé de scientifiques chevronnés, d'étudiants, et d'autres ingénieurs. Il ou elle sera recruté par Inria et sera membre de l'IHU Liryc et de l'institut de mathématique de Bordeaux (IMB) ou du LABRI.

Mission confiée

La mission comporte trois objectifs.

Le premier vise à introduire dans un code de calcul (solveur) préexistant de l'équipe Carmen un ou plusieurs découpages sous forme de tâches, qui seront organisées suivant un graphe de dépendances. Cela permettra d'utiliser les outils de calcul parallèles développés par l'équipe Storm. Les méthodes numériques d'intégration en temps déjà programmées dans le solveur, et d'autres méthodes numériques innovantes développées dans le cadre d'une thèse, seront reintroduites dans le solveur de cette manière. L'organisation des données et l'interdépendances des tâches dépendront des méthodes et leurs effets sur la performance du solveur et les possibilités d'optimisation de l'exécution seront analysés. La méthode de Krylov actuellement programmée dans le solveur pourra aussi faire l'objet d'une analyse de ce type.
 
Le deuxième objectif cherche à optimiser finement l'exécution du solveur pour atteindre la résolution visée. Le travail consistera à mettre en oeuvre et évaluer des techniques de programmation et de compilation pour chaque tâche pouvant être facilement ou automatiquement adaptées à différentes architectures. En combinaison avec l'organisation en graphe de tâches, cela permettra d'optimiser une exécution sur une architecture quelconque, même hétérogène, suivant les travaux récent de l'équipe Storm. L'étude de l'impact de la granularité et de la hierarchisation des tâches et leurs adaptations à l'éxécution seront menés avec les chercheurs de l'équipe Storm.
 
Le troisième objectif consiste à évaluer l'approche de programmation et les stratégies d'optimisation de l'exécution retenues sur quelques exemples bien choisis. En pratique, il s'agira d'utiliser le prototype développé pour réaliser des simulations réalistes avec des modèles coeur et torse de patients. Cette dernière tâche fait suite aux travaux de l'équipe Carmen avec les cardiologues, et ouvre la voie à des études des troubles de rythme cardiaque encore mal compris.
 
Aux fins d'expérimentation, on s'attend à ce qu'un supercalculateur de Tier 1 (GENCI) ou de Tier 0 (PRACE) soit utilisé.

Principales activités

L'ingénieur ou l'ingérieure développera des méthodes numériques et écrira du code C, en utilisant le système d'exécution StarPU pour les intégrer dans l'application et la transformer en une version basée sur un graphe de tâches. Il ou elle développera aussi des noyaux de calculs pour ces tâches, par exemple en utilisant le langage Julia et son interface avec StarPU actuellement en cours de développement. Il ou elle évaluera le prototype du solveur en l'utilisant pour effectuer des simulations réalistes à l'aide de modèles cardiaques adaptés au patient. Il s'agira d'exécuter et d'analyser des expériences numériques sur des supercalculateurs.
 
Il ou elle devra par ailleurs :
  • assister aux réunions de groupe et présenter l'état d'avancement des travaux;
  • participer à la rédaction des livrables et des compte-rendus du projet ANR.
Si des articles scientifiques sont écrits à partir de son travail, il ou elle pourra participer à ce travail de rédaction.

Compétences

Compétences techniques: C et MPI/OpenMP, Cuda ou OpenCL, expérience de programmation pour le calcul parallèle, expérience de travail sur des serveurs de calcul haute performance. 

Langues: Français et anglais.

Autres compétences appréciées: capacité à travailler dans un environnement interdisciplinaire (simulation numériques du coeur et calcul haute performance), notions en Julia.

Avantages

  • Repas subventionnés
  • Remboursement partiel des frais de transport public
  • Congés : 7 semaines de congés annuels + 10 jours de congés supplémentaires dus à la RTT (réduction légale du temps de travail) + possibilité de congés exceptionnels (enfants malades, déménagement, etc.)
  • Possibilité de télétravail (après 6 mois d'emploi) et organisation flexible des horaires de travail
  • Matériel professionnel disponible (vidéoconférence, prêt de matériel informatique, etc.)
  • Manifestations et activités sociales, culturelles et sportives
  • Accès à la formation professionnelle
  • Couverture sociale

Rémunération

rémunération mensuelle brute selon diplôme et expériences : de 2562 euros à 2936 euros