mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
mld2p4:
config/pac.m4 configure docs/html/WARNINGS docs/html/images.log docs/html/images.pl docs/html/images.tex docs/html/img100.png docs/html/img101.png docs/html/img92.png docs/html/img93.png docs/html/img94.png docs/html/img95.png docs/html/img96.png docs/html/img97.png docs/html/img98.png docs/html/img99.png docs/html/index.html docs/html/internals.pl docs/html/labels.pl docs/html/node1.html docs/html/node10.html docs/html/node11.html docs/html/node12.html docs/html/node13.html docs/html/node14.html docs/html/node15.html docs/html/node16.html docs/html/node17.html docs/html/node18.html docs/html/node19.html docs/html/node2.html docs/html/node20.html docs/html/node21.html docs/html/node22.html docs/html/node23.html docs/html/node24.html docs/html/node25.html docs/html/node26.html docs/html/node27.html docs/html/node28.html docs/html/node29.html docs/html/node3.html docs/html/node30.html docs/html/node31.html docs/html/node4.html docs/html/node5.html docs/html/node6.html docs/html/node7.html docs/html/node8.html docs/html/node9.html docs/html/userhtml.html docs/pdf/Makefile docs/pdf/abstract.tex docs/pdf/background.tex docs/pdf/bibliography.tex docs/pdf/building.tex docs/pdf/conventions.tex docs/pdf/distribution.tex docs/pdf/errors.tex docs/pdf/gettingstarted.tex docs/pdf/overview.tex docs/pdf/title.tex docs/pdf/userguide.tex docs/pdf/userhtml.tex docs/pdf/userinterface.tex Configure minro fix: require psblas 2.3 Doc fixes: dual version of title for pdf/html, fixed tables.
This commit is contained in:
+81
-166
@@ -1,4 +1,4 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>General Overview</TITLE>
|
||||
<META NAME="description" CONTENT="General Overview">
|
||||
<TITLE>Contents</TITLE>
|
||||
<META NAME="description" CONTENT="Contents">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@@ -25,189 +25,104 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html89"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html66"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html85"
|
||||
<A NAME="tex2html64"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html79"
|
||||
<A NAME="tex2html58"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html87"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html90"
|
||||
HREF="node3.html">Notational Conventions</A>
|
||||
<B> Up:</B> <A NAME="tex2html86"
|
||||
<B> Next:</B> <A NAME="tex2html67"
|
||||
HREF="node3.html">General Overview</A>
|
||||
<B> Up:</B> <A NAME="tex2html65"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html80"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html88"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<B> Previous:</B> <A NAME="tex2html59"
|
||||
HREF="node1.html">Abstract</A>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00020000000000000000"></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="node30.html#dd2_96">15</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="57" 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:
|
||||
<H2><A NAME="SECTION00020000000000000000">
|
||||
Contents</A>
|
||||
</H2>
|
||||
<!--Table of Contents-->
|
||||
|
||||
<UL CLASS="TofC">
|
||||
<LI><A NAME="tex2html68"
|
||||
HREF="node3.html">General Overview</A>
|
||||
<LI><A NAME="tex2html69"
|
||||
HREF="node4.html">Code Distribution</A>
|
||||
<LI><A NAME="tex2html70"
|
||||
HREF="node5.html">Configuring and Building MLD2P4</A>
|
||||
<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="node30.html#BREZINA_VANEK">1</A>,<A
|
||||
HREF="node30.html#VANEK_MANDEL_BREZINA">19</A>].
|
||||
</LI>
|
||||
<LI><A NAME="tex2html71"
|
||||
HREF="node6.html">Prerequisites</A>
|
||||
<LI><A NAME="tex2html72"
|
||||
HREF="node7.html">Optional third party libraries</A>
|
||||
<LI><A NAME="tex2html73"
|
||||
HREF="node8.html">Configuration options</A>
|
||||
<LI><A NAME="tex2html74"
|
||||
HREF="node9.html">Example and test programs</A>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
The package is written in <I>Fortran 95</I>, following an
|
||||
<I>object-oriented approach</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="node30.html#psblas_00">12</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
|
||||
recent PSBLAS 2.0 version [<A
|
||||
HREF="node30.html#PSBLASGUIDE">11</A>]. The inter-process comunication required
|
||||
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
|
||||
MPI [<A
|
||||
HREF="node30.html#MPI1">16</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>
|
||||
This guide is organized as follows. The notational conventions used in
|
||||
the guide and in the naming of the MLD2P4 routines are reported in
|
||||
Section <A HREF="node3.html#sec:conventions"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. Information on the distribution of the source code and the
|
||||
related license is given in Section <A HREF="node4.html#sec:distribution"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>, while details on the configuration
|
||||
and installation of package are given in Section <A HREF="node5.html#sec:building"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. A description of
|
||||
multi-level Schwarz preconditioners based on smoothed aggregation is provided
|
||||
in Section <A HREF="node10.html#sec:background"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></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="node13.html#sec:started"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>, where the
|
||||
Fortran 95 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="node15.html#sec:userinterface"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. The error handling mechanism used by the package is briefly described
|
||||
in Section <A HREF="node28.html#sec:errors"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>. The copyright terms concerning the distribution and modification
|
||||
of MLD2P4 are reported in Appendix <A HREF="node29.html#sec:license"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html89"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html85"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html79"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html87"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html90"
|
||||
HREF="node3.html">Notational Conventions</A>
|
||||
<B> Up:</B> <A NAME="tex2html86"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html80"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html88"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<LI><A NAME="tex2html75"
|
||||
HREF="node10.html">Multi-level Domain Decomposition Background</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html76"
|
||||
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
|
||||
<LI><A NAME="tex2html77"
|
||||
HREF="node12.html">Smoothed Aggregation</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html78"
|
||||
HREF="node13.html">Getting Started</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html79"
|
||||
HREF="node14.html">Examples</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html80"
|
||||
HREF="node15.html">User Interface</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html81"
|
||||
HREF="node16.html">Subroutine mld_precinit</A>
|
||||
<LI><A NAME="tex2html82"
|
||||
HREF="node18.html">Subroutine mld_precset</A>
|
||||
<LI><A NAME="tex2html83"
|
||||
HREF="node20.html">Subroutine mld_precbld</A>
|
||||
<LI><A NAME="tex2html84"
|
||||
HREF="node22.html">Subroutine mld_precaply</A>
|
||||
<LI><A NAME="tex2html85"
|
||||
HREF="node24.html">Subroutine mld_precfree</A>
|
||||
<LI><A NAME="tex2html86"
|
||||
HREF="node26.html">Subroutine mld_precdescr</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html87"
|
||||
HREF="node28.html">Error Handling</A>
|
||||
<LI><A NAME="tex2html88"
|
||||
HREF="node29.html">License</A>
|
||||
<LI><A NAME="tex2html89"
|
||||
HREF="node30.html">Bibliography</A>
|
||||
</UL>
|
||||
<!--End of Table of Contents-->
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Salvatore Filippone
|
||||
2008-07-22
|
||||
2008-07-23
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
Reference in New Issue
Block a user