Le logiciel MUMPS récompensé pour ses contributions à la résolution de systèmes linéaires creux
Le logiciel MUMPS vise à résoudre les systèmes d’équations linéaires qui apparaissent dans un grand nombre d’applications et fait le pont entre simulations industrielles et recherches de pointe en calcul numérique. Fruit d’une collaboration de plus de 25 ans qui a impliqué de nombreux acteurs académiques, dont l’IRIT, le LIP et le LIP6 et Mumps Technologies, il a été récompensé lors de la 9ème European Conference of Mathematics (ECM2024) par le prix EMS/ECMI Lanczos. Ce prix récompense le développement de logiciels mathématiques au fort potentiel applicatif.
Les systèmes d’équations linéaires sont omniprésents dans les simulations numériques : les résoudre de manière efficace, précise et robuste est un verrou scientifique et industriel dans de nombreuses applications. C’est en effet cette étape de calcul qui dimensionne la consommation énergétique, le temps de calcul, l’empreinte mémoire et donc les besoins machine des simulations, voire qui conditionne leur faisabilité. Or, la taille de ces systèmes n’a cessé d’augmenter avec le temps et aujourd’hui il est nécessaire de résoudre des systèmes de plusieurs centaines de millions d’inconnues en exploitant au mieux les supercalculateurs modernes.
Le logiciel MUMPS est le fruit d’une collaboration de plus de 25 ans entre le CERFACS, le CNRS, l’ENS Lyon, Inria, Sorbonne Université, Toulouse INP et l’Université de Bordeaux impliquant plusieurs laboratoires, dont le l’Institut de recherche en informatique de Toulouse (IRIT - CNRS/INP Toulouse/Université Toulouse 3 Paul Sabatier), le Laboratoire de l'informatique du parallélisme (LIP - CNRS/ENS de Lyon/Université Claude Bernard Lyon 1) et le Laboratoire LIP6 (CNRS/Sorbonne Université). Depuis 2019, le solveur MUMPS est développé et maintenu par l'entreprise Mumps Technologies. Celle-ci poursuit des activités de recherche en algèbre linéaire numérique et en calcul haute performance en collaboration avec les laboratoires partenaires et avec le soutien d'un consortium de partenaires industriels pour continuer à transférer les résultats de ces recherches. Le logiciel est open source, distribué sous la licence CeCILL-C.
Lors de la 9ème European Conference of Mathematics (ECM2024), Patrick Amestoy (anciennement professeur à l’Université de Toulouse et membre de l'IRIT) et Jean-Yves L’Excellent (anciennement chargé de recherche Inria au LIP), deux des trois fondateurs de Mumps Technologies et les principaux développeurs de MUMPS, ainsi que Théo Mary, chargé de recherche CNRS au LIP6, ont été récompensés par le prix EMS/ECMI Lanczos pour leurs contributions au développement du logiciel.
MUMPS combine diverses techniques mathématiques et informatiques pour assurer son efficacité tout en contrôlant sa précision et sa robustesse. Il tire profit du caractère creux des systèmes : ceux-ci sont remplis de zéros qui peuvent être exploités pour réduire le coût en mémoire et en nombre d’opérations de la résolution. Plus récemment, dans le cadre de plusieurs thèses dont deux soutenues par EDF, MUMPS a développé une méthode de compression fondée sur des approximations de rang faible pour réduire encore plus ses coûts. Cette méthode dite Block Low-Rank (BLR) lui permet d’améliorer sa complexité asymptotique et donc de s’attaquer à des systèmes de très grande taille. MUMPS-BLR a notamment permis de résoudre des problèmes en trois dimensions de taille supérieure à 500 millions d’inconnues en géosciences dans le cadre de collaborations avec les projets WIND et Makutu (CNRS/Inria/TotalEnergies/UPPA).
Le logiciel MUMPS s’est enrichi au cours des années pour s’adapter aux évolutions des architectures de calcul. Conçu d’abord pour le parallélisme massivement distribué, il exploite aujourd’hui un parallélisme hybride qui lui permet d’être efficace sur une grande variété de machines, d’un simple ordinateur portable à quelques cœurs jusqu’aux supercalculateurs exascale. Ces dernières années ont vu l’apparition d’arithmétiques à virgule flottante avec une précision bien plus réduite que celles habituellement utilisées (par exemple des formats à 16 bits au lieu de 64 ou 32 bits) offrant des performances inédites. MUMPS utilise des calculs en précision mixte et mélange divers formats pour bénéficier d’un gain en stockage et en performance tout en préservant un contrôle rigoureux sur l’erreur introduite. Les précisions faibles sont particulièrement avantageuses sur les accélérateurs de type GPU ; le support de ces architectures dans MUMPS est en cours de développement.
La richesse de ses fonctionnalités fait du logiciel MUMPS un outil versatile qui est utilisé dans de nombreuses applications, souvent directement en tant que méthode de résolution, mais aussi couplé avec d’autres méthodes (itératives, multigrille, décomposition de domaine…). Il est aussi très apprécié pour la stabilité numérique des calculs effectués. La plupart des problèmes réels, qu’ils soient issus de l’étude du vieillissement des centrales nucléaires, de l’étude du bruit à l’intérieur de l’habitacle d’une voiture ou de l’étude de la déformation et usure d’un pneu, sont des problèmes numériquement difficiles. La validation externe des fonctionnalités de MUMPS dans de telles applications est cruciale et permet de faire émerger de nouvelles pistes de recherche. Ce cercle vertueux illustre le rôle de pivot que joue MUMPS, entre outil apprécié dans l’industrie et plateforme de recherche pour le calcul numérique parallèle et approché.