Modélisation de l'électrophysiologie cardiaque à l'échelle des cellules – MICROCARD
Modéliser le coeur - cellule par cellule
Les maladies cardiovasculaires sont la première cause de décès. La moitié sont dus à une arythmie, un dysfonctionnement de synchronisation électrique du coeur. Des modélisations informatiques permettent de comprendre le fonctionnement de ce système complexe. Cependant, elles se font actuellement en approximant des amas de nombreuses cellules de manière homogène. Ceci rend la simulation plus aisée, mais ne permet pas de tenir compte du vieillissement ou de maladies structurelles.
Un jumeau numérique du tissu cardiaque
Le but du projet MICROCARD est de construire un logiciel de modélisation permettant de simuler le fonctionnement du coeur vu comme un réseau 3D réaliste de cellules.<br /><br />La modélisation du coeur au niveau de la cellule doit répondre à un défi mathématique 10.000 fois plus grand que les simulations actuelles. C'est aussi un problème plus difficile à résoudre que les simulations homogènes d'amas de cellules. Il nécessitera l'utilisation de supercalculateurs exascale ou même plus gros, et beaucoup d'inventivité de la part de la communauté scientifique afin de le résoudre de manière efficace sur ces machines colossales.<br /><br />Notre code informatique devra exécuter simultanément les millions de tâches, et chaque tâche exploiter efficacement une grande variété d'unités de calcul, comme des cartes graphiques haute performance (GPUs) et de nouvelles architectures de processeurs (CPUs). Nous devrons concevoir la simulation utilisant des modèles mathématiques et des algorithmes qui pourront être déployés à cette échelle ; et nous devrons améliorer les logiciels permettant de représenter la géométrie du tissu cardiaque et ses milliards de cellules. C'est pourquoi ce projet rassemble des experts des mathématiques, des méthodes numériques, de l'informatique, et de l'ingénierie biomédicale de dix partenaires européens, afin de collaborer pour développer ces deux logiciels fondamentaux du jumeau numérique du coeur.
Nous développons un logiciel de simulation écrit en C et C++, utilisant une méthode d'éléments finis du second ordre basé sur les corrections spectrales différées. Les solveurs numériques sont PETSc et Ginkgo, ce dernier étant étendu selon nos besoins avec un solveur de type BiCGStab et un pré-conditionneur BDDC, que nous avons identifiés comme répondant le plus efficacement à nos systèmes d'équations à résoudre.
Afin d'accélérer l'exécution du code qui simule le comportement électrique complexe de la membrane cellulaire, nous utilisons un langage spécifique (un DSL) pour décrire les équations, et un compilateur développé dans le projet, basé sur la technologie MLIR du compilateur libre LLVM. Le DSL est traduit par notre compilateur en un code optimisé pour diverses architectures, allant des processeurs vectoriels (SIMD) jusqu'au GPUs de différents constructeurs.
Nous avons développé un schéma numérique et des algorithmes de résolution qui conviennent à notre problème et qui s'adaptent sur des super-calculateurs très puissants. L'implémentation de ces méthodes est en cours. Nous avons également mis au point des méthodes d'interprétation automatique des données d'imagerie par microscopie confocale afin de construire les modèles tissulaires, ainsi que des méthodes de développement de tissus artificiels réalistes, afin de surmonter la limitation actuelle de taille des images générées.
Dans ce travail, nous nous sommes basés sur des logiciels libres et open-source existants, que nous avons améliorés pour répondre à nos besoins. Plusieurs de ces évolutions logicielles bénéficient également à toute la communauté de leurs utilisateurs actuels. Ainsi par exemple, le logiciel Mmgtools, qui permet de créer et d'améliorer des descriptions d'objets géométriques 3D sous forme de tétraèdres, a été étendu pour pouvoir traiter un nombre de tétraèdres beaucoup plus grand, et selon des géométries beaucoup plus complexes que précédemment. D'autre part, la bibliothèque Ginkgo, spécialisée en calcul numérique sur GPU, a été étendue avec de nouveaux algorithmes répondant à nos besoins. Finalement, le logiciel de simulation cardiaque openCARP, qui est utilisé comme base de notre développement de modèles cardiaques, a profité de nombreux perfectionnements bénéficiant à tous ses utilisateurs, comme l'amélioration de la performance, le portage sur GPU, et la tolérance aux pannes, avec la possibilité de reprendre un calcul sans le recommencer depuis le début, suite à un plantage - une fonctionnalité essentielle lorsque le logiciel doit tourner sur un supercalculateur composé de plusieurs milliers de noeuds, avec de grandes chances que l'un d'entre eux tombe en panne (logicielle ou matérielle).
Bien que notre logiciel de simulation complet ne soit pas encore en capacité d'être mis en production sur un supercalculateur, le projet a déjà eu des impacts significatifs sur la communauté de la recherche en simulation cardiaque, en améliorant et en accélérant le logiciel openCARP, et en fournissant de nouvelles fonctionnalités aux logiciels Mmgtools et Ginkgo.
Nous avons réussi à générer des modèles de tissu cardiaque d'un millimètre carré (8000 cellules, 350 millions d'éléments de maillage), et nous sommes en train d'en construire de beaucoup plus grands encore.
Les logiciels que nous avons développé et auxquels nous avons contribué sont disponibles publiquement (distribution open source).
Le projet a jusqu'à présent donné lieu à 14 papiers publiés dans des revues scientifiques internationales avec comité de lecture, 16 papiers dans des actes de conférences, 6 résumés courts, et 35 présentations invitées.
Coordination du projet
Mark Potse (Institut de RYthmologie et de modélisation Cardiaque / Institut de mathématiques de Bordeaux)
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Partenariat
ICube_UNISTRA Laboratoire des sciences de l'Ingénieur, de l'Informatique et de l'Imagerie (UMR 7357)
IHU LIRYC / IMB Institut de RYthmologie et de modélisation Cardiaque / Institut de mathématiques de Bordeaux
LaBRI Laboratoire Bordelais de Recherche en Informatique
Aide de l'ANR 1 023 125 euros
Début et durée du projet scientifique :
décembre 2020
- 48 Mois