mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
mld2p4-2:
Start update of documentation.
This commit is contained in:
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 <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
|
||||
|
||||
+34
-32
@@ -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.
|
||||
MLD2P4 version 2.0
|
||||
MultiLevel Domain Decomposition Parallel Preconditioners Package
|
||||
based on PSBLAS (Parallel Sparse BLAS version 3.0)
|
||||
|
||||
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.
|
||||
(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>
|
||||
|
||||
+22
-12
@@ -103,7 +103,7 @@ Cambridge University Press.
|
||||
P. D'Ambra, D. di Serafino, S. 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. Davis,
|
||||
@@ -140,59 +140,69 @@ BIT Numerical Mathematics, 43, 2003, 945-959.
|
||||
<P></P><DT><A NAME="PSBLASGUIDE">15</A>
|
||||
<DD>
|
||||
S. Filippone, A. 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. Filippone, M. 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. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B. Nitzberg, W. Saphir, M. 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. L. Lawson, R. J. Hanson, D. Kincaid, F. T. 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. S. Li, J. W. 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. 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. Smith, P. Bjorstad, W. 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. Snir, S. Otto, S. Huss-Lederman, D. Walker, J. 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. Stüben,
|
||||
<EM>Algebraic Multigrid (AMG): an Introduction with Applications</EM>,
|
||||
in A. Schüller, U. Trottenberg, C. 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. S. Tuminaro, C. 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. Vanek, J. Mandel and M. 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>
|
||||
|
||||
+28
-18
@@ -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> [<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 [<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 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 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="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> [<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 [<A
|
||||
PSBLAS 2.0 version [<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 [<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 2003 features
|
||||
exploited in the design of PSBLAS 3.0.
|
||||
|
||||
<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
|
||||
@@ -155,7 +165,7 @@ 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 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 <A HREF="node16.html#sec:userinterface">6</A>. The error handling mechanism used by the package is briefly described
|
||||
in Section <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,
|
||||
|
||||
+35
-32
@@ -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.
|
||||
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.
|
||||
|
||||
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}
|
||||
}
|
||||
|
||||
+22
-14
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user