|
|
|
\section*{Abstract}
|
|
|
|
\addcontentsline{toc}{section}{Abstract}
|
|
|
|
\textsc{MLD2P4 (Multi-Level Domain Decomposition Parallel Preconditioners Package
|
|
|
|
based on PSBLAS}) is a package of parallel algebraic multi-level preconditioners.
|
|
|
|
The first release of MLD2P4 made available multi-level additive and hybrid Schwarz
|
|
|
|
preconditioners, as well as one-level additive Schwarz preconditioners. The package
|
|
|
|
has been extended to include further multi-level cycles and smoothers widely used in
|
|
|
|
multigrid methods. In the multi-level case, a purely algebraic approach is applied to
|
|
|
|
generate coarse-level corrections, so that no geometric background is needed
|
|
|
|
concerning the matrix to be preconditioned. The matrix is assumed to be square,
|
|
|
|
real or complex.
|
|
|
|
|
|
|
|
MLD2P4 has been designed to provide scalable and easy-to-use preconditioners
|
|
|
|
in the context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms)
|
|
|
|
computational framework and can be used in conjuction with the Krylov solvers
|
|
|
|
available in this framework. MLD2P4 enables the user to easily specify different
|
|
|
|
features of an algebraic multi-level preconditioner, thus allowing to search
|
|
|
|
for the ``best'' preconditioner for the problem at hand.
|
|
|
|
|
|
|
|
The package employs object-oriented design techniques in
|
|
|
|
Fortran~2003, with interfaces to additional third party libraries
|
|
|
|
such as MUMPS, UMFPACK, SuperLU, and SuperLU\_Dist, which
|
|
|
|
can be exploited in building multi-level preconditioners. The parallel
|
|
|
|
implementation is based on a Single Program Multiple Data (SPMD)
|
|
|
|
paradigm; the inter-process communication is based on MPI and
|
|
|
|
is managed mainly through PSBLAS.
|
|
|
|
|
|
|
|
This guide provides a brief description of the functionalities and
|
|
|
|
the user interface of MLD2P4.
|