You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
199 lines
8.7 KiB
HTML
199 lines
8.7 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
|
|
<!--Converted with LaTeX2HTML 2012 (1.2)
|
|
original version by: Nikos Drakos, CBLU, University of Leeds
|
|
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
|
* with significant contributions from:
|
|
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>General Overview</TITLE>
|
|
<META NAME="description" CONTENT="General Overview">
|
|
<META NAME="keywords" CONTENT="userhtml">
|
|
<META NAME="resource-type" CONTENT="document">
|
|
<META NAME="distribution" CONTENT="global">
|
|
|
|
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
|
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
|
|
|
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
|
|
|
<LINK REL="next" HREF="node4.html">
|
|
<LINK REL="previous" HREF="node2.html">
|
|
<LINK REL="up" HREF="userhtml.html">
|
|
<LINK REL="next" HREF="node4.html">
|
|
</HEAD>
|
|
|
|
<BODY >
|
|
<!--Navigation Panel-->
|
|
<A NAME="tex2html113"
|
|
HREF="node4.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
|
<A NAME="tex2html109"
|
|
HREF="userhtml.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
|
<A NAME="tex2html103"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
<A NAME="tex2html111"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A NAME="tex2html114"
|
|
HREF="node4.html">Code Distribution</A>
|
|
<B> Up:</B> <A NAME="tex2html110"
|
|
HREF="userhtml.html">userhtml</A>
|
|
<B> Previous:</B> <A NAME="tex2html104"
|
|
HREF="node2.html">Contents</A>
|
|
<B> <A NAME="tex2html112"
|
|
HREF="node2.html">Contents</A></B>
|
|
<BR>
|
|
<BR>
|
|
<!--End of Navigation Panel-->
|
|
|
|
<H1><A NAME="SECTION00030000000000000000"></A><A NAME="sec:overview"></A>
|
|
<BR>
|
|
General Overview
|
|
</H1>
|
|
|
|
<P>
|
|
The M<SMALL>ULTI-</SMALL>L<SMALL>EVEL </SMALL>D<SMALL>OMAIN </SMALL>D<SMALL>ECOMPOSITION </SMALL>P<SMALL>ARALLEL </SMALL>P<SMALL>RECONDITIONERS </SMALL>P<SMALL>ACKAGE BASED ON
|
|
</SMALL>PSBLAS (MLD2P4) provides parallel Algebraic MultiGrid (AMG) and domain decomposition
|
|
preconditioners, designed to provide scalable and easy-to-use preconditioners
|
|
multi-level Schwarz preconditioners [<A
|
|
HREF="node28.html#Stuben_01">25</A>,<A
|
|
HREF="node28.html#dd2_96">23</A>],
|
|
to be used in the iterative solutions of sparse linear systems:
|
|
<BR>
|
|
<DIV ALIGN="RIGHT">
|
|
|
|
<!-- MATH
|
|
\begin{equation}
|
|
Ax=b,
|
|
\end{equation}
|
|
-->
|
|
<TABLE WIDTH="100%" ALIGN="CENTER">
|
|
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="system1"></A><IMG
|
|
WIDTH="58" HEIGHT="30" BORDER="0"
|
|
SRC="img1.png"
|
|
ALT="\begin{displaymath}
|
|
Ax=b,
|
|
\end{displaymath}"></TD>
|
|
<TD WIDTH=10 ALIGN="RIGHT">
|
|
(1)</TD></TR>
|
|
</TABLE>
|
|
<BR CLEAR="ALL"></DIV><P></P>
|
|
where <IMG
|
|
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img2.png"
|
|
ALT="$A$"> is a square, real or complex, sparse matrix. Multi-level preconditioners can be obtained by combining several AMG cycles (V, W, K) with
|
|
different smoothers (Jacobi, hybrid forward/backward Gauss-Seidel, block-Jacobi, additive Schwarz methods).
|
|
An algebraic approach is used to
|
|
generate a hierarchy of coarse-level matrices and operators, without
|
|
explicitly using any information on the geometry of the original problem, e.g.,
|
|
the discretization of a PDE. The smoothed aggregation technique is applied
|
|
as algebraic coarsening strategy [<A
|
|
HREF="node28.html#BREZINA_VANEK">1</A>,<A
|
|
HREF="node28.html#VANEK_MANDEL_BREZINA">27</A>].
|
|
Either exact or approximate solvers are available to solve the coarsest-level system. Specifically,
|
|
different versions of sparse LU factorizations from external packages, and native incomplete
|
|
LU factorizations and iterative block-Jacobi solvers can be used.
|
|
All smoothers can be also exploited as one-level preconditioners.
|
|
|
|
<P>
|
|
MLD2P4 is written in Fortran 2003, following an
|
|
object-oriented design through the exploitation of features
|
|
such as abstract data type creation, functional overloading, and
|
|
dynamic memory management.
|
|
The parallel implementation is based on a Single Program Multiple Data
|
|
(SPMD) paradigm. Single and
|
|
double precision implementations of MLD2P4 are available for both the
|
|
real and the complex case, which can be used through a single
|
|
interface.
|
|
|
|
<P>
|
|
MLD2P4 has been designed to implement scalable and easy-to-use
|
|
multilevel preconditioners in the context of the PSBLAS
|
|
(Parallel Sparse BLAS) computational framework [<A
|
|
HREF="node28.html#psblas_00">18</A>,<A
|
|
HREF="node28.html#PSBLAS3">17</A>].
|
|
PSBLAS provides basic linear algebra
|
|
operators and data management facilities for distributed sparse matrices,
|
|
as well as parallel Krylov solvers which can be coupled with the MLD2P4 preconditioners.
|
|
The choice of PSBLAS has been mainly motivated by the need of having
|
|
a portable and efficient software infrastructure implementing ``de facto'' standard
|
|
parallel sparse linear algebra kernels, to pursue goals such as performance,
|
|
portability, modularity ed extensibility in the development of the preconditioner
|
|
package. On the other hand, the implementation of MLD2P4 has led to some
|
|
revisions and extentions of the original PSBLAS kernels.
|
|
The inter-process comunication required
|
|
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
|
|
MPI [<A
|
|
HREF="node28.html#MPI1">24</A>] is explicitly called <B>É ancora cosi???</B>. Therefore, MLD2P4 can be run on any parallel
|
|
machine where PSBLAS and MPI implementations are available.
|
|
|
|
<P>
|
|
MLD2P4 has a layered and modular software architecture where three main layers can be identified.
|
|
The lower layer consists of the PSBLAS kernels, the middle one implements
|
|
the construction and application phases of the preconditioners, and the upper one
|
|
provides a uniform interface to all the preconditioners.
|
|
This architecture allows for different levels of use of the package:
|
|
few black-box routines at the upper layer allow non-expert users to easily
|
|
build any preconditioner available in MLD2P4 and to apply it within a PSBLAS Krylov solver;
|
|
<B>facilities are also available that allow more expert users to extend the set of smoothers
|
|
and solvers for building new versions of preconditioners.</B>
|
|
|
|
<P>
|
|
We note that the user interface of MLD2P4 2.1 (<B>Perche 2.1 e non 2.0???...Ricordarsi di cambiare il configure</B>)
|
|
has been extended with respect to the previous versions
|
|
in order to separate the construction
|
|
of the multi-level hierarchy from the construction of the smoothers and solvers, and to allow for more flexibility
|
|
at each level.
|
|
The software architecture described in [<A
|
|
HREF="node28.html#MLD2P4_TOMS">8</A>] has significantly evolved too, in order to fully exploit the
|
|
Fortran 2003 features implemented in PSBLAS 3.
|
|
However, compatibility with previous versions has been preserved.
|
|
|
|
<P>
|
|
This guide is organized as follows. General information on the distribution of the source code
|
|
is reported in Section <A HREF="node4.html#sec:distribution">2</A>, while details on the configuration
|
|
and installation of the package are given in Section <A HREF="node5.html#sec:building">3</A>. A short description of
|
|
the preconditioners implemented in MLD2P4 is provided
|
|
in Section <A HREF="node11.html#sec:background">4</A>, to help the users in choosing among them.
|
|
The basics for building and applying the preconditioners
|
|
with the Krylov solvers implemented in PSBLAS are reported in Section <A HREF="node14.html#sec:started">5</A>, where the
|
|
Fortran codes of a few sample programs are also shown. A reference guide for
|
|
the upper-layer routines of MLD2P4, that are the user interface, is provided
|
|
in Section <A HREF="node16.html#sec:userinterface">6</A>. The error handling mechanism used by the package is briefly described
|
|
in Section <A HREF="node26.html#sec:errors">8</A>. The copyright terms concerning the distribution and modification
|
|
of MLD2P4 are reported in Appendix <A HREF="node27.html#sec:license">A</A>.
|
|
|
|
<P>
|
|
<HR>
|
|
<!--Navigation Panel-->
|
|
<A NAME="tex2html113"
|
|
HREF="node4.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
|
<A NAME="tex2html109"
|
|
HREF="userhtml.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
|
<A NAME="tex2html103"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
<A NAME="tex2html111"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A NAME="tex2html114"
|
|
HREF="node4.html">Code Distribution</A>
|
|
<B> Up:</B> <A NAME="tex2html110"
|
|
HREF="userhtml.html">userhtml</A>
|
|
<B> Previous:</B> <A NAME="tex2html104"
|
|
HREF="node2.html">Contents</A>
|
|
<B> <A NAME="tex2html112"
|
|
HREF="node2.html">Contents</A></B>
|
|
<!--End of Navigation Panel-->
|
|
|
|
</BODY>
|
|
</HTML>
|