## Section: Software

Keywords : parallel asynchronous sparse multifrontal solver.

`MUMPS`

Participants : Patrick Amestoy, Abdou Guermouche [ corresponding member ] .

In the context of `PARASOL` (Esprit IV Long Term Project,
1996-1999), CERFACS and ENSEEIHT-IRIT teams have initiated a parallel
sparse solver `MUMPS` (``MUltifrontal Massively Parallel Solver'').
Since the first public release of `MUMPS` (March 2000), this
research and (also software) project is the context of a tight and fruitful
collaboration with J. Y. L'Excellent (INRIA-LIP-ENS Lyon) and
the INRIA project GRAAL.
Recent work related
to performance scalability, preprocessing of both symmetric and
unsymmetric matrices, two by two pivots for
symmetric indefinite matrices, and
dynamic scheduling has been incorporated in the new improved version
of the package (release 4.5.5 available since october 2005 at
http://www.enseeiht.fr/apo/MUMPS
or http://graal.ens-lyon.fr/MUMPS ).

`MUMPS` is a package for solving linear systems of equations
Ax = b , where the matrix A is sparse and can be
either unsymmetric, symmetric positive definite, or general symmetric.
It uses a multifrontal technique which is a direct method based on
either the LU or the LDL^{T} factorization of the matrix.
The main features of the `MUMPS` package include numerical
pivoting during factorization, solution of the transposed system,
input of the matrix in assembled format (distributed or centralized)
or elemental format, error analysis, iterative refinement, scaling of
the original matrix, and return of a Schur complement matrix. It also
offers several built-in ordering algorithms, a tight interface to some
external ordering packages such as `Scotch` and is available in
various arithmetics (real or complex, single or double).

This year, we particularly focussed in a preliminary out-of-core functionality, where computed factors are written to disk. It has been made available to some of our users, in order to get their feedback before making this functionality more widely available. We have also been working on reducing the memory requirements for symmetric matrices (by using a packed format for temporary Schur complements) as well as for unsymmetric matrices and have modified the general memory management algorithms to allow for more flexibility in an out-of-core context.