mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-16 02:49:05 +00:00
mld2p4:
configure.ac configure docs/html docs/html/WARNINGS docs/html/images.aux docs/html/images.log docs/html/images.out docs/html/images.pl docs/html/images.tex docs/html/img1.png docs/html/img10.png docs/html/img100.png docs/html/img11.png docs/html/img12.png docs/html/img13.png docs/html/img14.png docs/html/img15.png docs/html/img16.png docs/html/img17.png docs/html/img18.png docs/html/img19.png docs/html/img2.png docs/html/img20.png docs/html/img21.png docs/html/img22.png docs/html/img23.png docs/html/img24.png docs/html/img25.png docs/html/img26.png docs/html/img27.png docs/html/img28.png docs/html/img29.png docs/html/img3.png docs/html/img30.png docs/html/img31.png docs/html/img32.png docs/html/img33.png docs/html/img34.png docs/html/img35.png docs/html/img36.png docs/html/img37.png docs/html/img38.png docs/html/img39.png docs/html/img4.png docs/html/img40.png docs/html/img41.png docs/html/img42.png docs/html/img43.png docs/html/img44.png docs/html/img45.png docs/html/img46.png docs/html/img47.png docs/html/img48.png docs/html/img49.png docs/html/img5.png docs/html/img50.png docs/html/img51.png docs/html/img52.png docs/html/img53.png docs/html/img54.png docs/html/img55.png docs/html/img56.png docs/html/img57.png docs/html/img58.png docs/html/img59.png docs/html/img6.png docs/html/img60.png docs/html/img61.png docs/html/img62.png docs/html/img63.png docs/html/img64.png docs/html/img65.png docs/html/img66.png docs/html/img67.png docs/html/img68.png docs/html/img69.png docs/html/img7.png docs/html/img70.png docs/html/img71.png docs/html/img72.png docs/html/img73.png docs/html/img74.png docs/html/img75.png docs/html/img76.png docs/html/img77.png docs/html/img78.png docs/html/img79.png docs/html/img8.png docs/html/img80.png docs/html/img81.png docs/html/img82.png docs/html/img83.png docs/html/img84.png docs/html/img85.png docs/html/img86.png docs/html/img87.png docs/html/img88.png docs/html/img89.png docs/html/img9.png docs/html/img90.png docs/html/img91.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.css docs/html/userhtml.html docs/pdf/building.tex docs/userguide.pdf examples/fileread/mld_cexample_1lev.f90 examples/fileread/mld_cexample_ml.f90 examples/fileread/mld_dexample_1lev.f90 examples/fileread/mld_dexample_ml.f90 examples/fileread/mld_sexample_1lev.f90 examples/fileread/mld_sexample_ml.f90 examples/fileread/mld_zexample_1lev.f90 examples/fileread/mld_zexample_ml.f90 mlprec/mld_cprecset.f90 mlprec/mld_dprecset.f90 mlprec/mld_sprecset.f90 mlprec/mld_zprecset.f90 test/fileread/cf_sample.f90 test/fileread/df_sample.f90 test/fileread/runs/cfs.inp test/fileread/runs/dfs.inp test/fileread/runs/sfs.inp test/fileread/runs/zfs.inp test/fileread/sf_sample.f90 test/fileread/zf_sample.f90 Fixed I/O for fileread samples. Fixed precset typo. Updated documentation for building. Included HTML pages.
This commit is contained in:
@@ -0,0 +1,213 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
|
||||
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 v2002-2-1">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node3.html">
|
||||
<LINK REL="previous" HREF="node1.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node3.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--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>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--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:
|
||||
|
||||
<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>
|
||||
</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-->
|
||||
<ADDRESS>
|
||||
Salvatore Filippone
|
||||
2008-07-22
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
||||
Reference in New Issue
Block a user