MUMPS
MUMPS is a parallel solver for large sparse systems and features a 'multifrontal' method and is developed largely at CERFCAS, ENS Lyon, IRIT Toulouse, INRIA, and the University of Bordeaux. It is provided free of charge and is largely under a CeCILL-C license.
Compiling and linking with MUMPS
module load mumps
To compile an application against the MUMPS libraries, load the mumps
module and use the compiler wrappers cc
, CC
, and ftn
in the
usual way.
MUMPS is configured to allow Pord, Metis, Parmetis, and Scotch orderings.
Two versions of MUMPS are provided: one with, and one without, OpenMP. The relevant version will be selected if the relevant option is included at the compile stage.
The mumps
module defines MUMPS_DIR
which locates the root of the
installation for the current programming environment.
Version history
- Module
mumps/5.5.1
installed as default May 2023 (PE 22.12) - Module
mumps/5.3.5
recompiled May 2023 (PE 22.12)
Note: mumps/5.5.1
uses scotch/7.0.3
while mumps/5.3.5
uses
scotch/6.1.0
.
- Module
mumps/5.3.5
installed October 2021 (PE 21.04)
- Module
mumps/5.2.1
installed January 2021
Known issues:
The OpenMP version in PrgEnv-aocc
is not available at the moment.
Compiling your own version
The current supported version of MUMPS on Archer2 can be compiled using a script available from the Archer githug repository.
$ git clone https://github.com/ARCHER2-HPC/pe-scripts.git
$ cd pe-scripts
$ git checkout modules-2022-12
$ ./sh/tpsl/metis.sh --prefix=/path/to/install/location
$ ./sh/tpsl/parmetis.sh --prefix=/path/to/install/location
$ ./sh/tpsl/scotchv7.sh --prefix=/path/to/install/location
$ ./sh/tpsl/mumps.sh --prefix=/path/to/install/location
--prefix
option should be the same for MUMPS at
the three dependencies (Metis, Parmetis, and Scotch Version 7).
See the Archer2 github repository
for further options and details.
Resources
The MUMPS home page
MUMPS user manual (Version 5.6, pdf)