mld2p4-2:

Start update of documentation.
stopcriterion
Salvatore Filippone 12 years ago
parent bfd0d14a2a
commit ab453d36da

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

@ -63,7 +63,7 @@ University of Rome ``Tor Vergata'', Italy
<BR>
Software version: 2.0-beta
<BR>
March 20,2012
October 31, 2012
<BR>

@ -70,13 +70,13 @@ solution of the original problem from the local solutions
[<A
HREF="node25.html#Cai_Widlund_92">6</A>,<A
HREF="node25.html#dd1_94">7</A>,<A
HREF="node25.html#dd2_96">21</A>].
HREF="node25.html#dd2_96">22</A>].
<P>
<I>Additive Schwarz</I> preconditioners are DD preconditioners using overlapping
submatrices, i.e. with some common rows, to couple the local information
related to the submatrices (see, e.g., [<A
HREF="node25.html#dd2_96">21</A>]).
HREF="node25.html#dd2_96">22</A>]).
The main motivation for choosing Additive Schwarz preconditioners is their
intrinsic parallelism. A drawback of these
preconditioners is that the number of iterations of the preconditioned solvers
@ -95,7 +95,7 @@ correction. In this context, the one-level preconditioner is often
called `smoother'. Different two-level preconditioners are obtained by varying the
choice of the smoother and of the coarse-level correction, and the
way they are combined [<A
HREF="node25.html#dd2_96">21</A>]. The same reasoning can be applied starting
HREF="node25.html#dd2_96">22</A>]. The same reasoning can be applied starting
from the coarse-level system, i.e. a coarse-space correction can be built
from this system, thus obtaining <I>multi-level</I> preconditioners.
@ -119,17 +119,17 @@ are considered. The algebraic approach builds coarse-space corrections using onl
information. It performs a fully automatic coarsening and enforces the interplay between
the fine and coarse levels by suitably choosing the coarse space and the coarse-to-fine
interpolation [<A
HREF="node25.html#StubenGMD69_99">23</A>].
HREF="node25.html#StubenGMD69_99">24</A>].
<P>
MLD2P4 uses a pure algebraic approach for building the sequence of coarse matrices
starting from the original matrix. The algebraic approach is based on the <I>smoothed
aggregation</I> algorithm [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">25</A>]. A decoupled version
HREF="node25.html#VANEK_MANDEL_BREZINA">26</A>]. A decoupled version
of this algorithm is implemented, where the smoothed aggregation is applied locally
to each submatrix [<A
HREF="node25.html#TUMINARO_TONG">24</A>]. In the next two subsections we provide
HREF="node25.html#TUMINARO_TONG">25</A>]. In the next two subsections we provide
a brief description of the multi-level Schwarz preconditioners and of the smoothed
aggregation technique as implemented in MLD2P4. For further details the reader
is referred to [<A
@ -137,7 +137,7 @@ is referred to [<A
HREF="node25.html#aaecc_07">3</A>,<A
HREF="node25.html#apnum_07">4</A>,<A
HREF="node25.html#MLD2P4_TOMS">8</A>,<A
HREF="node25.html#dd2_96">21</A>].
HREF="node25.html#dd2_96">22</A>].
<P>
<BR><HR>

@ -295,7 +295,7 @@ ILU(<IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img36.png"
ALT="$p,t$">) [<A
HREF="node25.html#Saad_book">20</A>, Chapter 10].
HREF="node25.html#Saad_book">21</A>, Chapter 10].
<P>
A variant of the classical AS preconditioner that outperforms it
@ -387,7 +387,7 @@ of <IMG
SRC="img11.png"
ALT="$W$"> increases [<A
HREF="node25.html#dd1_94">7</A>,<A
HREF="node25.html#dd2_96">21</A>]. To reduce the dependency
HREF="node25.html#dd2_96">22</A>]. To reduce the dependency
of the number of iterations on the degree of parallelism we may
introduce a global coupling among the overlapping partitions by defining
a coarse-space approximation <IMG
@ -642,12 +642,12 @@ in which the coarse-level correction is re-applied starting from the current
coarse-level system. The corresponding preconditioners, called <I>multi-level</I>
preconditioners, can significantly reduce the computational cost of preconditioning
with respect to the two-level case (see [<A
HREF="node25.html#dd2_96">21</A>, Chapter 3]).
HREF="node25.html#dd2_96">22</A>, Chapter 3]).
Additive and hybrid multilevel preconditioners
are obtained as direct extensions of the two-level counterparts.
For a detailed descrition of them, the reader is
referred to [<A
HREF="node25.html#dd2_96">21</A>, Chapter 3].
HREF="node25.html#dd2_96">22</A>, Chapter 3].
The algorithm for the application of a multi-level hybrid
post-smoothed preconditioner <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
@ -685,7 +685,7 @@ denoted by <IMG
SRC="img67.png"
ALT="$R_l$">.
<DIV ALIGN="CENTER"><A NAME="fig:mlhpost_alg"></A><A NAME="509"></A>
<DIV ALIGN="CENTER"><A NAME="fig:mlhpost_alg"></A><A NAME="511"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG>
Application of the multi-level hybrid post-smoothed preconditioner.</CAPTION>

@ -66,7 +66,7 @@ the coarse-level matrix <IMG
ALT="$A_C$">, MLD2P4 uses the <I>smoothed aggregation</I>
algorithm described in [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">25</A>].
HREF="node25.html#VANEK_MANDEL_BREZINA">26</A>].
The basic idea of this algorithm is to build a coarse set of vertices
<IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
@ -116,7 +116,7 @@ Three main steps can be identified in the smoothed aggregation procedure:
To perform the coarsening step, we have implemented the aggregation algorithm sketched
in [<A
HREF="node25.html#apnum_07">4</A>]. According to [<A
HREF="node25.html#VANEK_MANDEL_BREZINA">25</A>], a modification of
HREF="node25.html#VANEK_MANDEL_BREZINA">26</A>], a modification of
this algorithm has been actually considered,
in which each aggregate <IMG
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
@ -174,7 +174,7 @@ since it has been shown to produce good results in practice
[<A
HREF="node25.html#aaecc_07">3</A>,<A
HREF="node25.html#apnum_07">4</A>,<A
HREF="node25.html#TUMINARO_TONG">24</A>].
HREF="node25.html#TUMINARO_TONG">25</A>].
<P>
The prolongator <IMG
@ -253,7 +253,7 @@ in order to remove oscillatory components from the range of the prolongator
and hence to improve the convergence properties of the multi-level
Schwarz method [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#StubenGMD69_99">23</A>].
HREF="node25.html#StubenGMD69_99">24</A>].
A simple choice for <IMG
WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png"

@ -140,7 +140,7 @@ compilers.
<P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="926"></A>
<DIV ALIGN="CENTER"><A NAME="928"></A>
<TABLE>
<CAPTION><STRONG>Table 1:</STRONG>
Preconditioner types, corresponding strings and default choices.

@ -86,7 +86,7 @@ the corresponding Fortran 95 codes are available in <code>examples/fileread/</co
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="929"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_default"></A><A NAME="931"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Setup and application of the default multi-level Schwarz preconditioner.
@ -203,7 +203,7 @@ and linked to the MLD2P4 library.
<BR>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="931"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3lh"></A><A NAME="933"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
@ -235,7 +235,7 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="933"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_3la"></A><A NAME="935"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Setup of an additive three-level Schwarz preconditioner.</CAPTION>
@ -267,7 +267,7 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="935"></A>
<DIV ALIGN="CENTER"><A NAME="fig:ex_1l"></A><A NAME="937"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Setup of a one-level Schwarz preconditioner.</CAPTION>

@ -133,7 +133,7 @@ refer to Section&nbsp;<A HREF="node11.html#sec:background">4</A>.
<P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1263"></A>
<DIV ALIGN="CENTER"><A NAME="1265"></A>
<TABLE>
<CAPTION><STRONG>Table 2:</STRONG>
Parameters defining the type of multi-level preconditioner.
@ -177,7 +177,7 @@ Parameters defining the type of multi-level preconditioner.
<P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1265"></A>
<DIV ALIGN="CENTER"><A NAME="1267"></A>
<TABLE>
<CAPTION><STRONG>Table 3:</STRONG>
Parameters defining the one-level preconditioner used as smoother.
@ -277,7 +277,7 @@ Parameters defining the one-level preconditioner used as smoother.
<P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1267"></A>
<DIV ALIGN="CENTER"><A NAME="1269"></A>
<TABLE>
<CAPTION><STRONG>Table 4:</STRONG>
Parameters defining the aggregation algorithm.
@ -380,7 +380,7 @@ Parameters defining the aggregation algorithm.
<P>
<BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1270"></A>
<DIV ALIGN="CENTER"><A NAME="1272"></A>
<TABLE>
<CAPTION><STRONG>Table 5:</STRONG>
Parameters defining the coarse-space correction at the coarsest

@ -59,41 +59,43 @@ License
<P>
The MLD2P4 is freely distributable under the following copyright
terms: <PRE>
MLD2P4 version 1.1
MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS (Parallel Sparse BLAS version 2.3.1)
(C) Copyright 2008, 2009
Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari University of Rome Tor Vergata
Pasqua D'Ambra ICAR-CNR, Naples
Daniela di Serafino Second University of Naples
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the MLD2P4 group or the names of its contributors may
not be used to endorse or promote products derived from this
software without specific written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
MLD2P4 version 2.0
MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS (Parallel Sparse BLAS version 3.0)
(C) Copyright 2008,2009,2010, 2010
Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari CNRS-IRIT, Toulouse
Pasqua D'Ambra ICAR-CNR, Naples
Daniela di Serafino Second University of Naples
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the MLD2P4 group or the names of its contributors may
not be used to endorse or promote products derived from this
software without specific written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
</PRE>
<BR><HR>

@ -103,7 +103,7 @@ Cambridge University Press.
P.&nbsp;D'Ambra, D.&nbsp;di&nbsp;Serafino, S.&nbsp;Filippone,
<I>MLD2P4: a Package of Parallel Multilevel
Algebraic Domain Decomposition Preconditioners
in Fortran 95</I>, ICAR-CNR Technical Report RT-ICAR-NA-09-01, 2009.
in Fortran 95</I>, ACM Trans. Math. Softw., 37(3), 2010.
<P></P><DT><A NAME="UMFPACK">9</A>
<DD>
T.A.&nbsp;Davis,
@ -140,59 +140,69 @@ BIT Numerical Mathematics, 43, 2003, 945-959.
<P></P><DT><A NAME="PSBLASGUIDE">15</A>
<DD>
S.&nbsp;Filippone, A.&nbsp;Buttari,
<EM>PSBLAS-2.3 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library</EM>, 2008,
<EM>PSBLAS-3.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library</EM>, 2012,
available from <TT>http://www.ce.uniroma2.it/psblas/</TT>.
<P></P><DT><A NAME="psblas_00">16</A>
<P>
<P></P><DT><A NAME="PSBLAS3">16</A>
<DD>
Salvatore Filippone and Alfredo Buttari.
<EM>Object-Oriented Techniques for Sparse Matrix Computations in Fortran
2003.</EM>
ACM Trans. on Math Software, 38(4), 2012.
<P>
<P></P><DT><A NAME="psblas_00">17</A>
<DD>
S.&nbsp;Filippone, M.&nbsp;Colajanni,
<EM>PSBLAS: A Library for Parallel Linear Algebra
Computation on Sparse Matrices</EM>,
ACM Transactions on Mathematical Software, 26, 4, 2000, 527-550.
<P></P><DT><A NAME="MPI2">17</A>
<P></P><DT><A NAME="MPI2">18</A>
<DD>
W.&nbsp;Gropp, S.&nbsp;Huss-Lederman, A.&nbsp;Lumsdaine, E.&nbsp;Lusk, B.&nbsp;Nitzberg, W.&nbsp;Saphir, M.&nbsp;Snir,
<EM>MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions</EM>,
MIT Press, 1998.
<P></P><DT><A NAME="blas1">18</A>
<P></P><DT><A NAME="blas1">19</A>
<DD>
C.&nbsp;L.&nbsp;Lawson, R.&nbsp;J.&nbsp;Hanson, D.&nbsp;Kincaid, F.&nbsp;T.&nbsp;Krogh,
<I>Basic Linear Algebra Subprograms for FORTRAN usage</I>,
ACM Transactions on Mathematical Software, 5, 1979, 308-323.
<P></P><DT><A NAME="SUPERLUDIST">19</A>
<P></P><DT><A NAME="SUPERLUDIST">20</A>
<DD>
X.&nbsp;S.&nbsp;Li, J.&nbsp;W.&nbsp;Demmel, <EM>SuperLU_DIST: A Scalable Distributed-memory
Sparse Direct Solver for Unsymmetric Linear Systems</EM>,
ACM Transactions on Mathematical Software, 29, 2, 2003, 110-140.
<P></P><DT><A NAME="Saad_book">20</A>
<P></P><DT><A NAME="Saad_book">21</A>
<DD>
Y.&nbsp;Saad,
<I>Iterative methods for sparse linear systems</I>, 2nd edition,
SIAM, 2003
<P>
<P></P><DT><A NAME="dd2_96">21</A>
<P></P><DT><A NAME="dd2_96">22</A>
<DD>
B.&nbsp;Smith, P.&nbsp;Bjorstad, W.&nbsp;Gropp,
<EM>Domain Decomposition: Parallel Multilevel Methods for Elliptic
Partial Differential Equations</EM>,
Cambridge University Press, 1996.
<P></P><DT><A NAME="MPI1">22</A>
<P></P><DT><A NAME="MPI1">23</A>
<DD>
M.&nbsp;Snir, S.&nbsp;Otto, S.&nbsp;Huss-Lederman, D.&nbsp;Walker, J.&nbsp;Dongarra,
<EM>MPI: The Complete Reference. Volume 1 - The MPI Core</EM>, second edition,
MIT Press, 1998.
<P></P><DT><A NAME="StubenGMD69_99">23</A>
<P></P><DT><A NAME="StubenGMD69_99">24</A>
<DD>
K.&nbsp;St&#252;ben,
<EM>Algebraic Multigrid (AMG): an Introduction with Applications</EM>,
in A.&nbsp;Sch&#252;ller, U.&nbsp;Trottenberg, C.&nbsp;Oosterlee, editors, Multigrid,
Academic Press, 2000.
<P></P><DT><A NAME="TUMINARO_TONG">24</A>
<P></P><DT><A NAME="TUMINARO_TONG">25</A>
<DD>
R.&nbsp;S.&nbsp;Tuminaro, C.&nbsp;Tong,
<EM>Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines</EM>,
in J. Donnelley, editor, Proceedings of SuperComputing 2000, Dallas, 2000.
<P></P><DT><A NAME="VANEK_MANDEL_BREZINA">25</A>
<P></P><DT><A NAME="VANEK_MANDEL_BREZINA">26</A>
<DD>
P.&nbsp;Vanek, J.&nbsp;Mandel and M.&nbsp;Brezina,
<EM>Algebraic Multigrid by Smoothed Aggregation for Second and Fourth Order Elliptic Problems</EM>,

@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney.
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P>
The translation was initiated by Salvatore Filippone on 2012-03-20
The translation was initiated by Salvatore Filippone on 2012-10-04
<BR><HR>
</BODY>

@ -59,7 +59,7 @@ General Overview
<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>&nbsp;[<A
HREF="node25.html#dd2_96">21</A>],
HREF="node25.html#dd2_96">22</A>],
to be used in the iterative solutions of sparse linear systems:
<BR>
<DIV ALIGN="RIGHT">
@ -83,7 +83,8 @@ Ax=b,
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.
ALT="$A$"> is a square, real or complex, sparse matrix with a symmetric
sparsity pattern.
These preconditioners have the following general features:
<UL>
@ -98,25 +99,27 @@ explicitly using any information on the geometry of the original problem (e.g. t
discretization of a PDE). The <I>smoothed aggregation</I> technique is applied
as algebraic coarsening strategy&nbsp;[<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">25</A>].
HREF="node25.html#VANEK_MANDEL_BREZINA">26</A>].
</LI>
</UL>
<P>
The package is written in <I>Fortran&nbsp;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.
Version 2.0 of the package is written in <I>Fortran&nbsp;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>&nbsp;[<A
HREF="node25.html#psblas_00">16</A>].
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>&nbsp;[<A
HREF="node25.html#psblas_00">17</A>,<A
HREF="node25.html#PSBLAS3">16</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
@ -128,11 +131,11 @@ 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&nbsp;[<A
PSBLAS 2.0 version&nbsp;[<A
HREF="node25.html#PSBLASGUIDE">15</A>]. The inter-process comunication required
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
MPI&nbsp;[<A
HREF="node25.html#MPI1">22</A>] is explicitly called. Therefore, MLD2P4 can be run on any parallel
HREF="node25.html#MPI1">23</A>] is explicitly called. Therefore, MLD2P4 can be run on any parallel
machine where PSBLAS and MPI implementations are available.
<P>
@ -147,6 +150,13 @@ On the other hand, the routines of the middle and lower layer can be used and ex
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.0 is essentially identical to that of
version 1.1; the internal implementation however has been changed a
lot, and it has become much easier to extend the library by adding new
smoothers and/or solvers, thanks to the Fortran&nbsp;2003 features
exploited in the design of PSBLAS&nbsp;3.0.
<P>
This guide is organized as follows. General information on the distribution of the source code
is reported in Section&nbsp;<A HREF="node4.html#sec:distribution">2</A>, while details on the configuration
@ -155,7 +165,7 @@ multi-level Schwarz preconditioners based on smoothed aggregation is provided
in Section&nbsp;<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&nbsp;<A HREF="node14.html#sec:started">5</A>, where the
Fortran 95 codes of a few sample programs are also shown. A reference guide for
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&nbsp;<A HREF="node16.html#sec:userinterface">6</A>. The error handling mechanism used by the package is briefly described
in Section&nbsp;<A HREF="node23.html#sec:errors">7</A>. The copyright terms concerning the distribution and modification

@ -62,7 +62,7 @@ The following base libraries are needed:
<DD>[<A
HREF="node25.html#blas3">11</A>,<A
HREF="node25.html#blas2">12</A>,<A
HREF="node25.html#blas1">18</A>] Many vendors provide optimized versions
HREF="node25.html#blas1">19</A>] Many vendors provide optimized versions
of the Basic Linear Algebra Subprograms; if no vendor version is
available for a given platform, the ATLAS software
(<code>http://math-atlas.sourceforge.net/</code>)
@ -77,15 +77,15 @@ The following base libraries are needed:
</DD>
<DT><STRONG>MPI</STRONG></DT>
<DD>[<A
HREF="node25.html#MPI2">17</A>,<A
HREF="node25.html#MPI1">22</A>] A version of MPI is available on most
HREF="node25.html#MPI2">18</A>,<A
HREF="node25.html#MPI1">23</A>] A version of MPI is available on most
high-performance computing systems; only version 1.1 is required.
</DD>
<DT><STRONG>PSBLAS</STRONG></DT>
<DD>[<A
HREF="node25.html#PSBLASGUIDE">15</A>,<A
HREF="node25.html#psblas_00">16</A>] Parallel Sparse BLAS is
HREF="node25.html#psblas_00">17</A>] Parallel Sparse BLAS is
available from
<BR><code>http://www.ce.uniroma2.it/psblas</code>; version
3.0 (or later) is required. Indeed, all the prerequisites

@ -81,7 +81,7 @@ for multilevel preconditioners may change to reflect their presence.
</DD>
<DT><STRONG>SuperLU_Dist</STRONG></DT>
<DD>[<A
HREF="node25.html#SUPERLUDIST">19</A>]
HREF="node25.html#SUPERLUDIST">20</A>]
A sparse direct factorization package available
from the same site as SuperLU; provides parallel factorization and
triangular system solution for double precision real and complex data.

@ -63,7 +63,7 @@ University of Rome ``Tor Vergata'', Italy
<BR>
Software version: 2.0-beta
<BR>
March 20,2012
October 31, 2012
<BR>

File diff suppressed because one or more lines are too long

@ -75,7 +75,7 @@ Cambridge University Press.
P.~D'Ambra, D.~di~Serafino, S.~Filippone,
\emph{MLD2P4: a Package of Parallel Multilevel
Algebraic Domain Decomposition Preconditioners
in Fortran 95}, ICAR-CNR Technical Report RT-ICAR-NA-09-01, 2009.
in Fortran 95}, ACM Trans. Math. Softw., 37(3), 2010.
%
\bibitem{UMFPACK}
T.A.~Davis,
@ -124,8 +124,15 @@ BIT Numerical Mathematics, 43, 2003, 945--959.
%
\bibitem{PSBLASGUIDE}
S.~Filippone, A.~Buttari,
{\em PSBLAS-2.3 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library}, 2008,
{\em PSBLAS-3.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library}, 2012,
available from \texttt{http://www.ce.uniroma2.it/psblas/}.
\bibitem{PSBLAS3}
Salvatore Filippone and Alfredo Buttari.
{\em {Object-Oriented Techniques for Sparse Matrix Computations in Fortran
2003}.}
ACM Trans. on Math Software, 38(4), 2012.
%
\bibitem{psblas_00}
S.~Filippone, M.~Colajanni,

@ -5,40 +5,43 @@
The MLD2P4 is freely distributable under the following copyright
terms: {\small
\begin{verbatim}
MLD2P4 version 1.1
MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS (Parallel Sparse BLAS version 2.3.1)
(C) Copyright 2008, 2009
Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari University of Rome Tor Vergata
Pasqua D'Ambra ICAR-CNR, Naples
Daniela di Serafino Second University of Naples
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the MLD2P4 group or the names of its contributors may
not be used to endorse or promote products derived from this
software without specific written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
MLD2P4 version 2.0
MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS (Parallel Sparse BLAS version 3.0)
(C) Copyright 2008,2009,2010, 2010
Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari CNRS-IRIT, Toulouse
Pasqua D'Ambra ICAR-CNR, Naples
Daniela di Serafino Second University of Naples
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the MLD2P4 group or the names of its contributors may
not be used to endorse or promote products derived from this
software without specific written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
\end{verbatim}
}

@ -9,7 +9,8 @@ to be used in the iterative solutions of sparse linear systems:
Ax=b,
\label{system1}
\end{equation}
where $A$ is a square, real or complex, sparse matrix with a symmetric sparsity pattern.
where $A$ is a square, real or complex, sparse matrix with a symmetric
sparsity pattern.
%
%\textbf{NOTA: Caso non simmetrico, aggregazione con $(A+A^T)$ fatta!
%Dovremmo implementare uno smoothed prolongator
@ -28,21 +29,22 @@ discretization of a PDE). The \emph{smoothed aggregation} technique is applied
as algebraic coarsening strategy~\cite{BREZINA_VANEK,VANEK_MANDEL_BREZINA}.
\end{itemize}
The package is written in \emph{Fortran~95}, following an
\emph{object-oriented approach} through the exploitation of features
such as abstract data type creation, functional
overloading and dynamic memory management.
Version 2.0 of the package is written in \emph{Fortran~2003}, following an
\emph{object-oriented design} through the exploitation of features
such as abstract data type creation, functional overloading and
dynamic memory management.
% , while providing a smooth
% path towards the integration in legacy application codes.
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.
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.
MLD2P4 has been designed to implement scalable and easy-to-use multilevel preconditioners
in the context of the \emph{PSBLAS (Parallel Sparse BLAS)
computational framework}~\cite{psblas_00}.
MLD2P4 has been designed to implement scalable and easy-to-use
multilevel preconditioners in the context of the \emph{PSBLAS
(Parallel Sparse BLAS) computational framework}~\cite{psblas_00,PSBLAS3}.
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
@ -54,7 +56,7 @@ 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~\cite{PSBLASGUIDE}. The inter-process comunication required
PSBLAS 2.0 version~\cite{PSBLASGUIDE}. The inter-process comunication required
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
MPI~\cite{MPI1} is explicitly called. Therefore, MLD2P4 can be run on any parallel
machine where PSBLAS and MPI implementations are available.
@ -72,6 +74,12 @@ We provide here a description of the upper-layer routines, but not of the
medium-layer ones.%% For a detailed description of the overall software architecture
%% of MLD2P4 the reader is referred to~\cite{MLD2P4_TOMS}.
The user interface of version 2.0 is essentially identical to that of
version 1.1; the internal implementation however has been changed a
lot, and 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.0.
This guide is organized as follows. General information on the distribution of the source code
is reported in Section~\ref{sec:distribution}, while details on the configuration
and installation of the package are given in Section~\ref{sec:building}. A description of
@ -79,7 +87,7 @@ multi-level Schwarz preconditioners based on smoothed aggregation is provided
in Section~\ref{sec:background}, 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~\ref{sec:started}, where the
Fortran 95 codes of a few sample programs are also shown. A reference guide for
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~\ref{sec:userinterface}. The error handling mechanism used by the package is briefly described
in Section~\ref{sec:errors}. The copyright terms concerning the distribution and modification

@ -127,7 +127,7 @@ based on PSBLAS}
\flushright
\large Software version: 2.0-beta\\
%\today
\large March 20, 2012
\large October 31, 2012
\end{minipage}}
%\addtolength{\textwidth}{\centeroffset}
\vspace{\stretch{2}}

@ -104,7 +104,7 @@ based on PSBLAS}\\[3ex]
%\today
Software version: 2.0-beta\\
%\today
March 20,2012
October 31, 2012
\clearpage
\ \\
\thispagestyle{empty}

Loading…
Cancel
Save