ADT MUMPS 1 Campagne ADT 2012 Pour toute question, n hésitez pas de contacter votre responsable SED ou la D2T 2. La soumission se fait via le site de dépôt : http://review-adt2012.inrialpes.fr. Attention : cette première page constitue la fiche signalétique de l ADT dont certaines informations seront accessibles sur l intranet et peuvent servir à la communication nationale ; le reste du document est uniquement destiné aux membres des commissions de l Inria chargés d évaluer les demandes. Récapitulatif (1 page max en tout) Titre & Acronyme : ADTMUMPS, AMUMPS Courriel : Jean-Yves.L.Excellent@ens- Porteur de l ADT : Jean-Yves L Excellent lyon.fr EPI : EPI GRAAL Equipe- CRI : Grenoble Rhône-Alpes centre ROMA Il s agit d une nouvelle ADT : Non Il s agit d une une prolongation d une ADT acceptée en 2009 Les partenaires internes (EPI/CRI) et externes (autres labos, industriels) de l ADT : Cette ADT porte sur le travail de l ingénieur SeD dont fait l objet la demande. Ce travail se fera en collaboration avec l équipe ROMA et avec les membres du projet MUMPS à Toulouse: CERFACS et INPT(ENSEEIHT)-IRIT (contact: Patrick.Amestoy@enseeiht.fr) et à Bordeaux (Université de Bordeaux, contact: Abdou.Guermouche@labri.fr). Total des ressources demandées pour l ADT : 5 hommes-mois ETP d un ingénieur SeD Total des ressources demandées pour la 1ère année : idem Résumé : MUMPS est à la fois un outil recherche et une librairie logicielle mondialement reconnue, originale et compétitive, utilisée par de nombreux groupes académiques et industriels versés dans le domaine de la simulation numérique. Sa robustesse numérique, sa richesse de fonctionalités et sa souplesse d interface en font un outil unique. Une première ADT se termine à l été (l IJD a terminé son contrat Inria en octobre 2011) et il est important de faire vivre et de pérenniser le travail de cette première ADT, tout en apportant un soutien au travail de type ingénieur nécessaire aux nombreux travaux et recherches (en particulier thèses et collaborations avec les utilisateurs) en cours. 1 Tout ce qui est en vert explique ce qui est attendu et est à remplacer par le texte approprié à votre ADT. Merci d enlever tout le vert au moment de la soumission. 2 Il existe aussi une FAQ pour les questions les plus fréquentes sous la rubrique ADT sur le site http://devexp.inria.fr.
ADT MUMPS (prolongation) 2 1 Introduction MUMPS est à la fois un outil recherche et une librairie logicielle mondialement reconnue, originale et compétitive, utilisée par de nombreux groupes académiques et industriels versés dans le domaine de la simulation numérique. Sa robustesse numérique, sa richesse de fonctionalités et sa souplesse d interface en font un outil unique. Une première ADT se termine à l été (l IJD a terminé son contrat Inria en octobre 2011) et il est important de faire vivre et de pérenniser le travail de cette première ADT, tout en apportant un soutien au travail de type ingénieur nécessaire aux travaux et recherches (en particulier thèses) en cours. Cette demande de prolongation d ADT a aussi pour but de rentabiliser l investissement de l ingénieur SeD qui a travaillé dans la première ADT et a commencé à se former au domaine des solveurs creux haute performance 3. 2 Contexte : état des lieux 2.1 Contexte scientifique Le contexte scientifique est la résolution parallèle de systèmes linéaires creux de grande taille par des solveurs dits directs. Ces méthodes sont centrales dans les applications de simulation numérique pour de nombreux domaines. De par leur robustesse et leur efficacité, les méthodes directes sont souvent préférées, et ce surtout dans le monde industriel, à une autre classe d approche, les méthodes itératives. En fait, les approches itératives les plus robustes utilisent en général des approches directes pour traiter partiellement le problème global. Aujourd hui, un des problèmes critiques issu des besoins applicatifs consiste à résoudre des systèmes linéaires de taille de plus en plus grande, tout en gardant performance et stabilité numérique. Cela nous amène entre autres à mener des recherches sur des approches dites out-of-core (ou hors-mémoire), sur des prétraitements numériques efficaces en parallèle (les données ne pouvant typiquement pas toujours être stockées sur un seul processeur), et sur la scalabilité (passage à l échelle) aussi bien du point de vue mémoire que du point de vue des performances. L évolution des processeurs vers les multicoeurs, et l évolution des supercalculateurs actuels avec un nombre de noeuds de calcul en constante augmentation, constituent également un défi immense qu il est vital de relever. Parmi les publications de référence sur le sujet, on peut citer par exemple [1], [3], [2] (voir page 10). Depuis le départ de cette activité en 1996, et au travers de chaque projet, notre objectif a toujours été de valoriser nos recherches au travers d un logiciel (MUMPS, pour MUltifrontal Massively Parallel Solver), qui sert à la fois d environnement d expérimentation pour nos recherches et de valorisation de nos travaux auprès des utilisateurs et notamment des industriels. MUMPS a débuté avec le projet européen PARASOL (Esprit IV, projet LTR 20160, 1996-1999), dont les résultats et développements logiciels ont été versés dans le domaine public en fin de projet. Depuis, de nombreux travaux de recherche ainsi que des 3 L objet de l ADT, le logiciel MUMPS, fait partie de l action d envergure INRIA HPC dirigée par Stéphane Lanteri et Jean Roman, à laquelle participe l équipe ROMA porteuse de ce projet d ADT.
ADT MUMPS (prolongation) 3 développements ont été effectués par l INPT-IRIT, le CNRS, l Université de Bordeaux, l ENS Lyon et l INRIA, et le CERFACS. Par rapport à la concurrence, l originalité de l approche est de ne pas avoir du tout sacrifié les aspects numériques pour des raisons de performances ou de parallélisation sur calculateurs à mémoire distribuée. De plus nous sommes les seuls à avoir un ensemble de fonctionnalités aussi étendu, qui résulte de l intégration aussi systématique et cohérente que possible de nos travaux dans une seule et même plate-forme logicielle. Même en séquentiel, il n y a pas à notre connaissance d autres code disponible publiquement (gratuitement ou non) comme MUMPS qui ait la même gamme d options, notamment pour le cas des problèmes symétriques indéfinis. Les travaux de recherche envisagés pour le futur (qui ne sont pas purement l objet de cette ADT mais seront effectués en parallèle) concernent: (i) la scalabilité mémoire sur architectures à grands nombres de coeurs, (ii) l étude et la parallélisation pour architectures mixtes distribuées/multicoeurs, (iii) la parallélisation de certains prétraitements numériques, comme par exemple les algorithmes dits de maximum weighted matching, (iv) le traitement efficace (temps, qualité numérique, mémoire) de problèmes les plus gros possibles, (v) la prise en compte des évolutions des besoins des applications, avec par exemple le traitement de matrices particulières (très creuses, ou plutôt denses, ou avec des blocs de zéros sur la diagonale) (vi) pour la classe des matrices de très grande taille (plusieurs milliards d inconnues) provenant de la discrétisation d équations aux dérivées partielles, des factorisations basées sur la représentation de rank faible (dite Low-Rank) de matrices pleines intermédaires ouvre la voie à une nouvelle classe de solveurs directs multifrontaux. Trois thèses sont actuellement en cours qui à la fois utilisent MUMPS et doivent avoir un impact sur les versions futures de MUMPS: la thèse de Mohamed Wissam Sid-Lakhdar (ENS Lyon-LIP), ayant pour objectif la parallélisation sur machines multicoeurs et le parallélisme hybride MPI-OpenMP, la thèse de François-Henri Rouet (INPT(ENSEEIHT)-IRIT, Toulouse), ayant pour double objectif la scalabilité mémoire sur grand nombre de noeuds de calcul, et le calcul efficace d entrées de l inverse d une matrice creuse, la thèse de Clément Weisbecker (INPT(ENSEEIHT)-IRIT, Toulouse, en collaboration avec EDF) sur des approches dites low-rank, avec le potentiel de compresser les données lors de factorisations de matrices frontales, avec un gain potentiel important en calcul et mémoire. Plusieurs collaborations industrielles informelles sont en cours, et des mises en place de contrats sont envisagées. 2.2 Contexte technologique L objet de l ADT est le logiciel MUMPS (cf http://graal.ens-lyon.fr/mumps ou http: //mumps.enseeiht.fr). MUMPS est un solveur parallèle pour la résolution de systèmes linéaires creux de grande taille. MUMPS (pour MUltifrontal Massively Parallel Solver) implante une méthode directe, la méthode multifrontale. C est un code parallèle unique
ADT MUMPS (prolongation) 4 par les performances obtenues et le spectre de fonctionnalités disponibles, parmi lesquelles on peut citer: différents types de systèmes: symétriques définis positifs, symétriques généraux (indéfinis) ou non symétriques, différents formats d entrées: matrices assemblées ou exprimés comme une somme de matrices élémentaires provenant typiquement de problèmes d éléments finis, matrices centralisées sur un processeur ou distribuées sur les processeurs, différentes précisions arithmétiques pour les données et le calcul (simple ou double précision, réel ou complexe), détection des pivots nuls et estimation d une base du noyau, prétraitements et mises à l échelle (parallélisation récente de certains prétraitements), factorisation partielle et calcul d un complément de Schur, seconds membres denses ou creux, solution centralisée ou distribuée, pivotage partiel avec seuil, approche asynchrone avec recouvrement des calculs et des communications, ordonnancement dynamique et distribué des tâches de calcul pour permettre un bon équilibrage de charge en présence de pivotage numérique imprédictible ou pour les environnements multi-utilisateurs, stockage sur disque des facteurs quand la mémoire disponible n est pas suffisante. Sur les aspects purement technologiques, MUMPS est un code d assez grande taille (plus de 200 000 lignes) écrit en Fortran 95 (avec un style à la Fortran 77 pour les noyaux de calcul bas niveaux) et en C. Le parallélisme est effectué grâce à la librairie de transfert de messages MPI (Message Passing Interface), même si certains utilisateurs ont commencé à tester l insertion de directives OpenMP dans leur version du code. Un seul code est maintenu et nous générons automatiquement les diverses précisions (single, double, single complex, double complex). MUMPS s appuie sur les bibliothèques publiques BLAS et Scalapack. Un module de communications permet d effectuer les communications asynchrones et de gérer un buffer de communications cyclique dans l espace utilisateur. Lorsque le buffer est plein, il faut être capable de passer en mode réception et gérer l arrivée de messages et de nouvelles tâches afin d éviter tout risque de deadlock. Les couches bas-niveaux pour les entrées-sorties sont écrites en C, et nous utilisons les threads POSIX (sur les architectures où ceux-ci sont disponibles) pour gérer l asynchronisme entre les calculs et les requêtes d entrées-sorties. Les portages pour machines de type Microsoft Windows et le maintien de fichiers Visual Studio sont actuellement effectués par des utilisateurs.
ADT MUMPS (prolongation) 5 Le fonctionnement correct du logiciel est contrôlé par des tests de non-régression qui tournent toutes les nuits, actuellement sur deux machines différentes (avec deux compilateurs différents), l une à Lyon, l autre à Toulouse. Une étude de couverture de code est effectuée de temps en temps (manuellement). Les développements sont effectués de manière collaborative grâce au gestionnaire de version SVN. L intégration des développements recherche est normalement gérée à l aide de directives du pre-compilateur (e.g., #ifdef) ou, pour les développements les plus en amont, au moyen de la création de branches dans le système SVN. 2.3 Utilisateurs, diffusion actuelle, etc MUMPS est utilisé par quelques milliers d utilisateurs (rythme actuel mille téléchargements par an) académiques ou industriels (environ moitié/moitié), dans des domaines d applications très variés. MUMPS est par ailleurs utilisé et directement distribué dans des codes de calcul (FEMTown de FFT, SAMCEF de SAMTECH, Code ASTER ou Telemac d EDF, PetsC, IPOPT). Parmi les utilisateurs industriels on peut citer par exemple EADS, EDF, ESI-Group, Free Field Technologies, SAMTECH ou Boeing. Les utilisateurs qui demandent à apparaître sur la page applications de MUMPS sont visibles sur http://graal.ens-lyon.fr/mumps/index.php?page=apps. MUMPS est également redistribué dans des paquets Linux (Debian). La liste mumps-users est assez active (voir les archives disponibles sur le serveur de l ENS Lyon à l addresse https://listes.ens-lyon.fr/sympa/arc/mumps-users). La diffusion large de notre logiciel est le meilleur moyen pour que nos recherches soient réellement validées, en vraie grandeur. Le contact et les collaborations informelles que nous avons avec de nombreux utilisateurs est critique car cela nous permet de rester proches des applications et d orienter nos travaux de recherche en fonction des défis du monde de la simulation numérique, tout en ayant des collaborateurs qui valident nos travaux et nous font des retours d expériences de grande valeur pour notre travail. Concernant le mode de diffusion, nous avons travaillé et demandé conseil sur le mode de diffusion de MUMPS dès le début de la précédente ADT en 2009, et il ressort qu il faut sortir de la situation actuelle non-standard (diffusion de versions "domaine public" du logiciel, sans licence, comme cela a été utilisé dans le passé pour certains contrats). Un accord d indivision est toujours en cours de négociation entre les différentes institutions propriétaires mais il parait aujourd hui clair que nous nous orientons vers une licence plus standard, de type Cecill-C (avec une brique sous LGPL) pour les prochaines versions majeures de MUMPS. Il est en effet vital de préserver notre communauté d utilisateurs et notre mode de fonctionnement permettant des retours aux chercheurs sur leurs travaux de la part d un large éventail d utilisateurs, ce que ne permettrait pas une licence propriétaire. Les propriétaires de MUMPS sont aujourd hui les suivants (par ordre décroissant de pourcentages de parts indivises): INPT, INRIA, CERFACS, Univ. Bordeaux, CNRS, ENS Lyon.
ADT MUMPS (prolongation) 6 3 Objectifs de l ADT Cette demande de prolongation de l ADT MUMPS a les objectifs suivants: Suivi, maintenance, poursuite et pérennisation du travail de la première ADT 4 (en particulier outils d expérimentation et de suivi de performances) Participation aux expérimentations numériques, aux développements dans le logiciel MUMPS et aux actions en cours, que ce soit en relation avec des applications industrielles ou en fonction des travaux de recherche; on peut citer par exemple la visuatisation d ordonnancement de graphes comme outil d analyse de la performance parallèle mémoire et temps, ou le traitement efficace de matrices singulières (cf informations plus détaillées dans la section 5.2). 4 Sortie : positionnement après l ADT Une librairie logicielle comme MUMPS a un cycle de développement très long, qui peut se compter en dizaines d années. Cette prolongation d 1 an doit permettre de libérer du temps aux chercheurs sur certaines tâches du projet, ce qui passe par l acquisition de compétences perennes pour le SeD ou l ingénieur SeD. Ces compétences doivent permettre de répondre aussi aux besoins futurs du projet. Ainsi, un projet de plus grande ampleur pourrait être proposé au bout de la prolongation, où le SeD spécifierait plus précisément les tâches en fonction bien sûr des projets et besoins des équipes de recherche, mais aussi des compétences acquises et de la capacité à mener ou encadrer certains travaux. Grâce aux avancées sur l accord d indivision, nous espérons pouvoir aussi démarrer des collaborations industrielles contractuelles. 5 Mise en œuvre prévisionnelle de l ADT 5.1 Identification des rôles et organisation Cette ADT s insère dans le projet MUMPS, dont le comité technique est constitué de Patrick Amestoy (INPT(ENSEEIHT)-IRIT), Abdou Guermouche (Univ. Bordeaux et LaBRI) et Jean-Yves L Excellent (INRIA-ENS Lyon). L équipe MUMPS comprend aussi les chargés de recherche Alfredo Buttari (CNRS-IRIT) et Bora Uçar (CNRS-ENS Lyon) ainsi que des non permanents (cf l URL de MUMPS). Responsable de l ADT : Jean-Yves L Excellent Responsable(s) technique(s): Maurice Brémond et le comité technique de MUMPS Décrire également l organisation mise en place ou à mettre en place (suivi de planning, mesure d atteinte des jalons, reporting, réunions d avancement, comités éventuels, etc.) 4 voir le dernier rapport de l IJD https://sed.inrialpes.fr/local/presentations/091210- IJD/guillaumejoslin-rapport2.pdf
ADT MUMPS (prolongation) 7 pour assurer le travail de l ADT. Les risques éventuels, de nature organisationnelle ou partenariale, sont détaillés ici ; les risques techniques sont détaillés dans la section suivante. Une des difficultés d un logiciel comme MUMPS est son cycle très long de développement. Ainsi il n est pas simple de rentrer dans le code, complexe et très spécialisé. Une autre difficulté est liée à l éloignement du SeD de l équipe MUMPS, elle-même éclatée géographiquement. L ingénieur devra donc effectuer un effort particulier pour étudier les besoins, interagir, présenter son travail, ou faire adopter de nouveaux outils aux différents membres de l équipe, en fonction des tâches qu il prendra en main. 5.2 Planification prévisionnelle Nous prévoyons deux tâches de fond sur lesquelles l ingénieur participera à 30% pour la première et à 70% pour la seconde, pour 40% de son temps sur l ADT, soit 12% et 38% pour les tâches 1 et 2, respectivement. Ces tâches qui sont des tâches de fond se dérouleront tout au long de l ADT. Nous détaillons ci-après ces deux tâches. Tâche 1 : suivi et maintenance du travail effectué lors de la première ADT. Cette tâche se décompose comme suit : 1. En ce qui concerne le travail réalisé sur les outils d expérimentation et de validation, le driver d utilisation développé par l IJD et le système de tests de non-regression mis en place par l IJD devront nécessairement suivre les évolutions de MUMPS et s adapter aux nouveaux besoins de l équipe. 2. Pour l ingénierie logicielle, il s agira de veiller sur les outils et les rêgles qu avait fait évoluer l IJD : le contrôle de la couverture du code, le suivi des alertes de différents compilateurs, le respect des rêgles de codage. 3. Les tests automatisées devront être adaptés en fonction de l évolution du contexte des moyens de tests et de calcul. En particulier, l avenir de la plateforme pipol conditionnera l évolution de certains tests de validation. Grâce au driver de test existant dans MUMPS et auquel a participé l IJD, de nouveaux tests de validation sur des cas d utilisation liés aux retours d utilisateurs devront aussi être mis en place. 4. Les outils de suivi de performances développés doivent évoluer pour mieux prendre en compte la chaine de déploiement et compilation et permettre le suivi de performance sur toutes les ressources de calculs utilisées par l équipe. Le suivi de performance en fonction de la version du logiciel ne pourra être validé qu au cours du temps et nécessitera des ajustements inévitables sur la manière de faire et sur les mesures collectées. 5. Compte tenu de la croissance importante du nombre d utilisateurs de MUMPS, l équipe attend une aide au suivi des questions d utilisateurs, sur la liste mail mumps-users. Il s agit là surtout de faire le lien avec les chercheurs sur les questions qui ont un intérêt pour la recherche en amont du logiciel et pour
ADT MUMPS (prolongation) 8 l évolution du logiciel, les problèmes d installation ou plus bas niveaux pouvant idéalement se régler directement entre utilisateurs. Tâche 2 : participation aux développements et aux expérimentations numériques dans le logiciel MUMPS relatif aux actions en cours, que ce soit en relation avec des industriels ou en fonction des besoins des chercheurs. Nous listons ici quelques actions en cours ou envisagées, que les chercheurs seuls ont du mal à assumer et pour lesquelles un soutien serait utile, pour permettre aux chercheurs de se concentrer sur ce qui peut apporter le plus de valeur ajoutée au projet. Accord d indivision et changement de licence. En adoptant une licence opensource, il est important de rapprocher la version de développement de la version utilisateur de MUMPS, tout en adoptant une architecture logicielle la plus standard possible. Cela nécessite un travail avant tout ingénieur Remise en cause des schémas de communication et évaluation de performances et des limites à la scalabilité, dans le cadre du passage à l échelle nécessaire lié à l évolution des calculateurs haute-performance Développement d une version hybride MPI+multithread de MUMPS et expérimentation dans ce contexte du potentiel d outils de type MPC (développés au CEA). Soutien aux développements pour les thèses en cours par l aide aux développements dans MUMPS qui doivent permettre aux étudiants de jouer algorithmiquement sur des aspects recherche en expérimentant leurs travaux avec MUMPS tout en les protégeant des développements les plus lourds Collaboration avec ESI Group. Suite à de nombreux retours de la part de la société ESI Group, des évolutions algorithmiques apparues nécessaires dans MUMPS (certaines pouvant être éventuellement contractualisées), il s agit d aspects performance d une part, et de cas tests qui révèlent des limitations numériques de nos travaux d autre part (stratégie de pivotage à redéfinir, expérimenter et valider, problèmes de prétraitements en lien avec la fonctionnalité complément de Schur). Collaboration avec le CERFACS: nous démarrons un travail collaboratif avec un jeune ingénieur du CERFACS sur des aspects détection de noyau pour matrices singulières, et étude de la robustesse numérique sur des problèmes réels fournies par nos partenaires industriels dans le cadre d un solveur itératif de type FETI. Cela nécessite à la fois des travaux expérimentaux et des travaux de développement fins dans le cœur de MUMPS, notammant pour l évolution de cette fonctionnalité au cas des matrices non symétriques. Collaboration en cours de démarrage suite à des discussions récentes avec le CEDRAT, qui pourrait débuter par une comparaison entre le solveur MUMPS et le solveur PARDISO sur des problèmes issus de problèmes d éléments finis du logiciel FLUX du CEDRAT Participation au suivi et à la gestion de projets (ANR ou industriels)
ADT MUMPS (prolongation) 9 Il n est pas envisagé que l ingénieur SeD demandé à temps partiel aborde tous ces points, même s ils ne représentent qu une partie des projets et besoins liés au logiciel MUMPS. En revanche, un soutien aux chercheurs et enseignants-chercheurs qui assurent ce travail de développement au quotidien est critique, en prenant la main sur certaines de ces tâches, en acquiérant expertise et autonomie et en assurant le suivi et la finalisation de ces tâches. Nous mentionnons ici une tâche supplémentaire qui, bien que non prévue dans la demande d ADT précédente, a déjà été discutée et pourrait être effectuée d ici la fin de l ADT déjà en cours. Cette tâche concerne un outil de visualisation postmortem de l ordonnancement des tâches dans un graphe de tâches se résumant dans notre cas à un arbre. En effet, pour étudier des performances en parallèle sur grands nombres de processeurs, ou pour comprendre un comportement mémoire surprenant lié aux choix d ordonnancement des tâches, l équipe étudie des traces à la main, tandis qu un outil graphique assez simple mais robuste et fléxible permettant de visualiser ces traces pourrait être extrêmement efficace. Cette activité permettra par ailleurs à l ingénieur de mieux comprendre les algorithmes et mécanismes d ordonnancement de tâches internes au logiciel. 6 Ressources ( 1 2 page minimum, 1 1 2 page maximum) Dans cette partie, il faut lister les ressources nécessaires à la réalisation de l ADT, comprenant des ressources dans les EPI réellement mobilisées pour l ADT et les ressources demandées dans le cadre de cet appel. 6.1 Ressources humaines Indiquer les ressources humaines nécessaires à la réalisation de l ADT. L ingénieur interagira avec les membres du projet MUMPS qui est un projet multisites, impliquant chercheurs, enseignants-chercheurs, et doctorants, cf la description du projet MUMPS plus haut dans le texte. Le travail de l ingénieur dont fait l objet cette demande s insérera dans ce projet plus global. Ressources humaines mobilisées directement au sein de l EPI (ou des EPI) avec leur pourcentage de temps plein ou quand c est plus approprié le nombre de HM. Par exemple, les chercheurs, doctorants, post-doctorants, stagiaires, ingénieurs experts, etc. Ressources humaines en CDD demandées dans le cadre de cet appel, avec le profil requis et le lieu de travail de chacun. Par exemple, ingénieur jeune diplômé, ingénieur confirmé ou ingénieur spécialiste. Ressources humaines demandées 5 en provenance des services de l Inria (ingénieur SED, CPPI, etc.) avec leur pourcentage de temps plein. 5 Ces demandes passent par une discussion préalable avec le responsable de la commission locale et le responsable SED quand les personnes sont sous l autorité du directeur du centre. Voir la FAQ.
ADT MUMPS (prolongation) 10 6.2 Aspects budgétaires Lister ici les besoins budgétaires spécifiques à l ADT : des frais de missions, l achat de matériel ou de (licences) logiciels pour des librairies tierces, etc. Une licence du logiciel VTune serait utile et pourrait être intéressante à mutualiser (si intérêt pour d autres équipes), comme le sont actuellement les licences des compilateurs Intel. Lorsqu une ADT est soutenu par la direction du développement technologique, elle reçoit un budget, éventuellement couvrant partiellement sa demande. Lorsqu une ADT est soutenue par un centre Inria, le responsable de l ADT doit se tourner vers son responsable d équipe pour que ces besoins soient discutés avec la direction du centre au moment des entretiens budgétaires de l EPI. Nous serions dans le deuxième cas. Annexe A : Description des partenaires Le logiciel MUMPS implique l INPT-IRIT à Toulouse (plus précisément l équipe APO, conduite par Patrick Amestoy), l INRIA équipe ROMA, ainsi que le CERFACS à Toulouse, l Université de Bordeaux/LaBRI, le CNRS et l ENS Lyon. Annexe B : Description des logiciels MUMPS http://graal.ens-lyon.fr/mumps et http://mumps.enseeiht.fr Domaines thématiques: calcul haute performance, simulation numérique, solveurs (classification Inria: Energie, transport, développement durable). Description: MUMPS est une librairie parallèle pour la résolution de systèmes linéaires creux de grande taille (voir aussi le texte ci-dessus. Accord d indivision en cours de négociation entre INPT, Univ. Bordeaux, Cerfacs, INRIA, CNRS, ENS Lyon, passage à une licence Cecill-C. Langages de programmation: Fortran, C, utilisation de bibliothèques numériques et d outils de calcul parallèle. Guide d utilisation et informations complémentaires: cf le site Web.
ADT MUMPS (prolongation) 11 References [1] P. R. Amestoy, I. S. Duff, J. Koster, and J.-Y. L Excellent. A fully asynchronous multifrontal solver using distributed dynamic scheduling. SIAM Journal on Matrix Analysis and Applications, 23(1):15 41, 2001. 2 [2] P. R. Amestoy, I. S. Duff, and J.-Y. L Excellent. Multifrontal parallel distributed symmetric and unsymmetric solvers. Comput. Methods Appl. Mech. Eng., 184:501 520, 2000. 2 [3] P. R. Amestoy, A. Guermouche, J.-Y. L Excellent, and S. Pralet. Hybrid scheduling for the parallel solution of linear systems. Parallel Computing, 32(2):136 156, 2006. 2