|
|
|
This directory contains the MLD2P4 set of preconditioners.
|
|
|
|
|
|
|
|
developed by
|
|
|
|
Salvatore Filippone
|
|
|
|
Pasqua D'Ambra
|
|
|
|
Daniela di Serafino
|
|
|
|
Alfredo Buttari
|
|
|
|
|
|
|
|
To compile:
|
|
|
|
0. Unpack the tar file in a directory of your choice (preferrably
|
|
|
|
outside the main PSBLAS directory).
|
|
|
|
1. run configure --with-psblas=<ABSOLUTE path of the PSBLAS source directory>
|
|
|
|
adding the options for SuperLU, SuperLU_Dist, UMFPACK as desired.
|
|
|
|
2. Tweak Make.inc if you are not satisfied.
|
|
|
|
|
|
|
|
3. make;
|
|
|
|
|
|
|
|
4. Go into the test subdirectory and build the examples of your choice.
|
|
|
|
|
|
|
|
Notes:
|
|
|
|
|
|
|
|
- The single precision version is supported only by SuperLU; thus, even
|
|
|
|
if you specify at configure to use UMFPACK or SuperLU_Dist, the
|
|
|
|
corresponding preconditioner options will be available only from the
|
|
|
|
double precision version.
|
|
|
|
|
|
|
|
- The Krylov methods are linked and recompiled from the PSBLAS source
|
|
|
|
directory; thus we define here two libraries, libmld_krylov.a and
|
|
|
|
libmld_prec.a, and a bunch of modules, including a duplicate of
|
|
|
|
psb_krylov_mod.mod. The directories for the MLD2P4 versions, in both
|
|
|
|
the include and link paths, must come before the PSBLAS ones,
|
|
|
|
because the Krylov interface is superseded by the new one.
|
|
|
|
Once the CLASS() construct becomes available in Gnu Fortran, this
|
|
|
|
will no longer be necessary, and the duplicate Krylov library and
|
|
|
|
module will go away, leaving only the mld_prec library and module.
|
|
|
|
|
|
|
|
- A program that was using the PSBLAS precoditioners needs no source
|
|
|
|
code changes, but should be recompiled. If the new preconditioner
|
|
|
|
(or preconditioner options, such as ILU(N) factorization) are
|
|
|
|
required, only the type of the preconditioner object and its
|
|
|
|
setup/build/free calls should be updated; the rest of the
|
|
|
|
application continues to make use of the PSBLAS existing
|
|
|
|
interfaces.
|
|
|
|
|
|
|
|
|