[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