Configuring MUMPS for reduced verbosity

By default, the Fortran MPI parallel sparse direct solver library MUMPS is extremely verbose, clogging up the terminal or log file. You can disable the log messages by setting ICNTL as in the following Modern Fortran 2008 MUMPS example.

MUMPS 4.10.0 verbosity bug

If you’re using MUMPS 4.10.0 (the default on Ubuntu 16.04) then ICNTL(4) does not take effect–this is a bug per Sec. 2.5.6 page 10 of the MUMPS User Manual.

To suppress verbosity in MUMPS 4.10.0, set ICNTL(3)=0 or the like.

1. MUMPS prereqs

apt install libmumps-dev

2. MUMPS Fortran 2008 example code

For ICNTL(1-4), setting the value ≤0 suppresses those messages. ICNTL(4) allows fine-grained setting of verbosity, see page 54 of the MUMPS User Manual.

program test_mumps
use, intrinsic:: iso_fortran_env, only: output_unit, error_unit
implicit none

include 'dmumps_struc.h'  ! per MUMPS manual

type (DMUMPS_STRUC) mumps_par

mumps_par%ICNTL(1) = error_unit  ! error messages
mumps_par%ICNTL(2) = output_unit !  diagnostic, statistics, and warning messages
mumps_par%ICNTL(3) = output_unit ! global info, for the host (myid==0)
mumps_par%ICNTL(4) = 1           ! default is 2.  1 is less verbose

end program

3. Compile MUMPS Fortran example

gfortran test_mumps.f90

I suggest using CMake to actually compile, as it will find the includes and libraries automatically. Contact me if you’d like a full example.