[petsc-users] SLEPc - control of MUMPS in Fortran

Jose E. Roman jroman at dsic.upv.es
Tue Sep 19 11:23:24 CDT 2017


> El 19 sept 2017, a las 18:02, Appel, Thibaut <t.appel17 at imperial.ac.uk> escribió:
> 
> Good afternoon,
> 
> I am using SLEPc in shift-and-invert mode to solve linear generalized EVPs. I am also using MUMPS for solving the linear systems that stem from the problem. After browsing a lot of pages, I am quite surprised by the lack of documentation available regarding the MUMPS interface with SLEPc/PETSc.
> 
> - I would like, in my code, to set and print MUMPS control and output parameters (CNTL,ICNTL,INFO) to monitor the process but it seems like a tedious task in Fortran. I found this discussion https://lists.mcs.anl.gov/pipermail/petsc-users/2012-May/013437.html that suggests hard-coded statements in c++ to set MUMPS parameters. Is there a clean solution in Fortran? 

An easy way to set MUMPS options is by inserting options in the PETSc options database with PetscOptionsInsertString(), see ex25.c
http://slepc.upv.es/documentation/current/src/eps/examples/tutorials/ex25.c.html

PetscOptionsInsertString() should work also in Fortran.

> 
> - When using MUMPS together with SLEPc, can you perform iterative refinement? I tried to set ICNTL(10) to do so but nothing happens. Can I trust SLEPc for automatically setting MUMPS parameters that will ensure best scalability? If you have further advice for using optimally SLEPc together with MUMPS I would really appreciate it and enjoy discussing it with you.

With -eps_view you can check the actual options (including MUMPS options) that are being used.
You can activate iterative refinement if you want, but I don't think it is necessary for shift-and-invert computations.
Regarding scalability, you can try changing between sequential and parallel symbolic factorization, but I think the default is usually the best setting. SLEPc does not set any MUMPS options other than the default.

Jose

> 
> Thank you in advance,
> 
> 
> Thibaut 



More information about the petsc-users mailing list