MUMPS

Fiche logiciel validé
  • Création ou MAJ importante : 03/12/10
  • Correction mineure : 03/12/10
Mots-clés
Pour aller plus loin

MUMPS : solveur direct de systèmes linéaires creux

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : MUMPS
Description
Fonctionnalités générales
  • Résolution de grand systèmes linéaires creux pour différents types de matrices : symétriques définies positives, symétriques générales, et non-symétriques générales
  • Support pour plusieurs arithmétiques : Réels (simple ou double précision), Complexes (simple ou double précision).
  • Solveur parallèle : les phases d'analyse, de factorisation et de résolution sont complètement (ou partiellement dans le cas de l'analyse) parallélisés.
Autres fonctionnalités
  • Factorisation et résolution hors-mémoire (out-of-core) pour traiter des problèmes de très grande taille.
  • Support pour différent types de matrices en entrée.
  • Factorisation partielle et fonctionnalité de manipulation du complément de Schur.
  • Raffinements itératifs et analyse d'erreurs pour la solution calculée.
  • Plusieurs techniques de renumérotations sont interfacées (AMD, AMF, PORD, MEtIS et SCOTCH).
  • Depuis les versions 4.9.*, le solveur utilise en interne de l'adressage 64 bits ce qui peut lui permettre de traiter des problèmes encore encore plus gros.
Interopérabilité

MUMPS supporte différents types de formats de matrices en entrée :

  • Format assemblé
  • Format par élément
  • Format assemblé et distribué

En ce qui concerne le stockage des matrices sur fichier, il ne fournit pas de "driver" pour la lecture des matrices. L'utilisateur peut donc utiliser tous les formats.

Contexte d'utilisation dans mon laboratoire/service

MUMPS a deux types d'utilisation. La première est plutôt dans le contexte académique et concerne principalement la communauté simulation (mécanique des fluides ou des structures, acoustique, ...). La deuxième est quant à elle plus industrielle (plusieurs entreprises utilisent ce logiciel). Enfin, de part le fait qu'il est un des solveurs les plus complets actuellement et surtout parce qu'il est gratuit, le logiciel a un grand nombre d'utilisateurs. Les utilisateurs sont dans l'ensemble très satisfaits. Le seul point négatif est la complexité des jeux de paramètres dès qu'on veut faire des résolutions un peu plus pointues (ce défaut est présent dans presque tous les solveurs de ce type).

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Comme tout solveur linéaire complexe, MUMPS a un jeu de paramètres importants qui peuvent influencer la qualité et l'efficacité de la résolution. Il est donc nécessaire de bien assimiler le contenu de la documentation fournie.
  • MUMPS étant un logiciel utilisant plusieurs couches logiciels (MPI, BLAS, BLACS et ScaLAPACK) et étant écrit en C et en fortran, l'installation du logiciel peut être compliquée pour un utilisateur non-initié.
  • Documentation d'utilisation très complète mais un peu dense.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

PEtSc, Trilinos, Code_Aster, Scilab, ...

Plates-formes

Le solveur fonctionne sur presque toutes les architectures et systèmes d'exploitation disponibles actuellement sur le marché.

Logiciels connexes
  • MPI (pour gérer le parallèlisme).
  • BLAS (pour les opérations élémentaires sur les matrices).
  • ScaLAPACK + BLACS (nécessaire uniquement dans le cas de la version parallèle).
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Le logiciel est développé dans le cadre d'une collaboration entre plusieurs laboratoires/organismes de recherche publique. Avec moi-même, ont contribué au développement : Emmanuel Agullo, Patrick Amestoy, Alfredo Buttari, Philippe Combes, Jean-Yves L'Excellent, Stéphane Pralet, Mila Slavova et Bora Ucar.

Eléments de pérennité

Actuellement 5 enseignants-chercheurs ou chercheurs à plein temps contribuent activement au développement du logiciel.

Références d'utilisateurs institutionnels

Le logiciel compte plusieurs centaines d'utilisateurs de part le monde. Il est utilisé par des entreprises telles que EADS, Boeing, EDF, Samtech, .... Il est aussi très utilisé dans la communauté académique.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
  • mumps-dev [at] listes [dot] ens-lyon [dot] fr (liste pour dialoguer avec les développeurs).
  • mumps-users [at] listes [dot] ens-lyon [dot] fr (liste des utilisateurs).
Documentation utilisateur

Une documentation détaillée est fournie dans l'archive contenant le logiciel.
http://graal.ens-lyon.fr/MUMPS/index.php?page=doc

Une FAQ est également disponible :
http://graal.ens-lyon.fr/MUMPS/index.php?page=faq

Contributions

Les contributions ne peuvent être faites qu'en étroite collaboration avec l'équipe de développement.