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.
201 lines
8.8 KiB
HTML
201 lines
8.8 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="tex2html102"
|
|
HREF="node4.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
|
<A NAME="tex2html98"
|
|
HREF="userhtml.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
|
<A NAME="tex2html92"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
<A NAME="tex2html100"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A NAME="tex2html103"
|
|
HREF="node4.html">Code Distribution</A>
|
|
<B> Up:</B> <A NAME="tex2html99"
|
|
HREF="userhtml.html">userhtml</A>
|
|
<B> Previous:</B> <A NAME="tex2html93"
|
|
HREF="node2.html">Contents</A>
|
|
<B> <A NAME="tex2html101"
|
|
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 <I>multi-level Schwarz preconditioners</I> [<A
|
|
HREF="node27.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 with a symmetric
|
|
sparsity pattern. These preconditioners have the following general features:
|
|
|
|
<UL>
|
|
<LI>both <I>additive and hybrid multilevel</I> variants are implemented,
|
|
i.e. variants that are additive among the levels and inside each level, and variants
|
|
that are multiplicative among the levels and additive inside each level;
|
|
the basic Additive Schwarz (AS) preconditioners are obtained by considering only one level;
|
|
</LI>
|
|
<LI>a <I>purely algebraic</I> approach is used to
|
|
generate a sequence of coarse-level corrections to a basic AS preconditioner, without
|
|
explicitly using any information on the geometry of the original problem (e.g. the
|
|
discretization of a PDE). The <I>smoothed aggregation</I> technique is applied
|
|
as algebraic coarsening strategy [<A
|
|
HREF="node27.html#BREZINA_VANEK">1</A>,<A
|
|
HREF="node27.html#VANEK_MANDEL_BREZINA">27</A>].
|
|
</LI>
|
|
</UL>
|
|
|
|
<P>
|
|
Version 2.1 of the package is written in <I>Fortran 2003</I>, following an
|
|
<I>object-oriented design</I> 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 for distributed-memory architectures. Single and
|
|
double precision implementations of MLD2P4 are available for both the
|
|
real and the complex case, that 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 <I>PSBLAS
|
|
(Parallel Sparse BLAS) computational framework</I> [<A
|
|
HREF="node27.html#psblas_00">18</A>,<A
|
|
HREF="node27.html#PSBLAS3">17</A>].
|
|
PSBLAS is a library originally developed to address the parallel implementation of
|
|
iterative solvers for sparse linear system, by providing basic linear algebra
|
|
operators and data management facilities for distributed sparse matrices; it
|
|
also includes parallel Krylov solvers, built on the top of the basic PSBLAS kernels.
|
|
The preconditioners available in MLD2P4 can be used with these Krylov solvers.
|
|
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 PSBLAS kernels, leading to the
|
|
PSBLAS 2.0 version [<A
|
|
HREF="node27.html#PSBLASGUIDE">16</A>]. The inter-process comunication required
|
|
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
|
|
MPI [<A
|
|
HREF="node27.html#MPI1">24</A>] is explicitly called. 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 and easy-to-use 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.
|
|
On the other hand, the routines of the middle and lower layer can be used and extended
|
|
by expert users to build new versions of multi-level Schwarz preconditioners.
|
|
We provide here a description of the upper-layer routines, but not of the
|
|
medium-layer ones.
|
|
<P>
|
|
The user interface of version 2.1 is essentially identical (except for
|
|
the support of additional solvers) to that of
|
|
version 1.1. The internal implementation however has been changed
|
|
significantly; as a result, it has become much easier to extend the library by
|
|
adding new smoothers and/or solvers, thanks to the Fortran 2003 features
|
|
exploited in the design of PSBLAS 3.
|
|
|
|
<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 description of
|
|
multi-level Schwarz preconditioners based on smoothed aggregation is provided
|
|
in Section <A HREF="node11.html#sec:background">4</A>, to help the users in choosing among the different preconditioners
|
|
implemented in MLD2P4. 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="node25.html#sec:errors">7</A>. The copyright terms concerning the distribution and modification
|
|
of MLD2P4 are reported in Appendix <A HREF="node26.html#sec:license">A</A>.
|
|
|
|
<P>
|
|
<HR>
|
|
<!--Navigation Panel-->
|
|
<A NAME="tex2html102"
|
|
HREF="node4.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
|
<A NAME="tex2html98"
|
|
HREF="userhtml.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
|
<A NAME="tex2html92"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
|
<A NAME="tex2html100"
|
|
HREF="node2.html">
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A NAME="tex2html103"
|
|
HREF="node4.html">Code Distribution</A>
|
|
<B> Up:</B> <A NAME="tex2html99"
|
|
HREF="userhtml.html">userhtml</A>
|
|
<B> Previous:</B> <A NAME="tex2html93"
|
|
HREF="node2.html">Contents</A>
|
|
<B> <A NAME="tex2html101"
|
|
HREF="node2.html">Contents</A></B>
|
|
<!--End of Navigation Panel-->
|
|
|
|
</BODY>
|
|
</HTML>
|