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> <BR>
Software version: 2.0-beta Software version: 2.0-beta
<BR> <BR>
March 20,2012 October 31, 2012
<BR> <BR>

@ -70,13 +70,13 @@ solution of the original problem from the local solutions
[<A [<A
HREF="node25.html#Cai_Widlund_92">6</A>,<A HREF="node25.html#Cai_Widlund_92">6</A>,<A
HREF="node25.html#dd1_94">7</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> <P>
<I>Additive Schwarz</I> preconditioners are DD preconditioners using overlapping <I>Additive Schwarz</I> preconditioners are DD preconditioners using overlapping
submatrices, i.e. with some common rows, to couple the local information submatrices, i.e. with some common rows, to couple the local information
related to the submatrices (see, e.g., [<A 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 The main motivation for choosing Additive Schwarz preconditioners is their
intrinsic parallelism. A drawback of these intrinsic parallelism. A drawback of these
preconditioners is that the number of iterations of the preconditioned solvers 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 called `smoother'. Different two-level preconditioners are obtained by varying the
choice of the smoother and of the coarse-level correction, and the choice of the smoother and of the coarse-level correction, and the
way they are combined [<A 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 the coarse-level system, i.e. a coarse-space correction can be built
from this system, thus obtaining <I>multi-level</I> preconditioners. 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 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 the fine and coarse levels by suitably choosing the coarse space and the coarse-to-fine
interpolation [<A interpolation [<A
HREF="node25.html#StubenGMD69_99">23</A>]. HREF="node25.html#StubenGMD69_99">24</A>].
<P> <P>
MLD2P4 uses a pure algebraic approach for building the sequence of coarse matrices 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 starting from the original matrix. The algebraic approach is based on the <I>smoothed
aggregation</I> algorithm [<A aggregation</I> algorithm [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<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 of this algorithm is implemented, where the smoothed aggregation is applied locally
to each submatrix [<A 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 a brief description of the multi-level Schwarz preconditioners and of the smoothed
aggregation technique as implemented in MLD2P4. For further details the reader aggregation technique as implemented in MLD2P4. For further details the reader
is referred to [<A is referred to [<A
@ -137,7 +137,7 @@ is referred to [<A
HREF="node25.html#aaecc_07">3</A>,<A HREF="node25.html#aaecc_07">3</A>,<A
HREF="node25.html#apnum_07">4</A>,<A HREF="node25.html#apnum_07">4</A>,<A
HREF="node25.html#MLD2P4_TOMS">8</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> <P>
<BR><HR> <BR><HR>

@ -295,7 +295,7 @@ ILU(<IMG
WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0"
SRC="img36.png" SRC="img36.png"
ALT="$p,t$">) [<A ALT="$p,t$">) [<A
HREF="node25.html#Saad_book">20</A>, Chapter 10]. HREF="node25.html#Saad_book">21</A>, Chapter 10].
<P> <P>
A variant of the classical AS preconditioner that outperforms it A variant of the classical AS preconditioner that outperforms it
@ -387,7 +387,7 @@ of <IMG
SRC="img11.png" SRC="img11.png"
ALT="$W$"> increases [<A ALT="$W$"> increases [<A
HREF="node25.html#dd1_94">7</A>,<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 of the number of iterations on the degree of parallelism we may
introduce a global coupling among the overlapping partitions by defining introduce a global coupling among the overlapping partitions by defining
a coarse-space approximation <IMG 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> coarse-level system. The corresponding preconditioners, called <I>multi-level</I>
preconditioners, can significantly reduce the computational cost of preconditioning preconditioners, can significantly reduce the computational cost of preconditioning
with respect to the two-level case (see [<A 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 Additive and hybrid multilevel preconditioners
are obtained as direct extensions of the two-level counterparts. are obtained as direct extensions of the two-level counterparts.
For a detailed descrition of them, the reader is For a detailed descrition of them, the reader is
referred to [<A 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 The algorithm for the application of a multi-level hybrid
post-smoothed preconditioner <IMG post-smoothed preconditioner <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
@ -685,7 +685,7 @@ denoted by <IMG
SRC="img67.png" SRC="img67.png"
ALT="$R_l$">. 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> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG>
Application of the multi-level hybrid post-smoothed preconditioner.</CAPTION> 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> ALT="$A_C$">, MLD2P4 uses the <I>smoothed aggregation</I>
algorithm described in [<A algorithm described in [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<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 The basic idea of this algorithm is to build a coarse set of vertices
<IMG <IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" 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 To perform the coarsening step, we have implemented the aggregation algorithm sketched
in [<A in [<A
HREF="node25.html#apnum_07">4</A>]. According to [<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, this algorithm has been actually considered,
in which each aggregate <IMG in which each aggregate <IMG
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
@ -174,7 +174,7 @@ since it has been shown to produce good results in practice
[<A [<A
HREF="node25.html#aaecc_07">3</A>,<A HREF="node25.html#aaecc_07">3</A>,<A
HREF="node25.html#apnum_07">4</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> <P>
The prolongator <IMG 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 and hence to improve the convergence properties of the multi-level
Schwarz method [<A Schwarz method [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<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 A simple choice for <IMG
WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png" SRC="img84.png"

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

@ -86,7 +86,7 @@ the corresponding Fortran 95 codes are available in <code>examples/fileread/</co
<P> <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> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Setup and application of the default multi-level Schwarz preconditioner. Setup and application of the default multi-level Schwarz preconditioner.
@ -203,7 +203,7 @@ and linked to the MLD2P4 library.
<BR> <BR>
<P> <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> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Setup of a hybrid three-level Schwarz preconditioner.</CAPTION> Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
@ -235,7 +235,7 @@ Setup of a hybrid three-level Schwarz preconditioner.</CAPTION>
<P> <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> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Setup of an additive three-level Schwarz preconditioner.</CAPTION> Setup of an additive three-level Schwarz preconditioner.</CAPTION>
@ -267,7 +267,7 @@ Setup of an additive three-level Schwarz preconditioner.</CAPTION>
<P> <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> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Setup of a one-level Schwarz preconditioner.</CAPTION> 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> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1263"></A> <DIV ALIGN="CENTER"><A NAME="1265"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 2:</STRONG> <CAPTION><STRONG>Table 2:</STRONG>
Parameters defining the type of multi-level preconditioner. Parameters defining the type of multi-level preconditioner.
@ -177,7 +177,7 @@ Parameters defining the type of multi-level preconditioner.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1265"></A> <DIV ALIGN="CENTER"><A NAME="1267"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 3:</STRONG> <CAPTION><STRONG>Table 3:</STRONG>
Parameters defining the one-level preconditioner used as smoother. Parameters defining the one-level preconditioner used as smoother.
@ -277,7 +277,7 @@ Parameters defining the one-level preconditioner used as smoother.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1267"></A> <DIV ALIGN="CENTER"><A NAME="1269"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 4:</STRONG> <CAPTION><STRONG>Table 4:</STRONG>
Parameters defining the aggregation algorithm. Parameters defining the aggregation algorithm.
@ -380,7 +380,7 @@ Parameters defining the aggregation algorithm.
<P> <P>
<BR><P></P> <BR><P></P>
<DIV ALIGN="CENTER"><A NAME="1270"></A> <DIV ALIGN="CENTER"><A NAME="1272"></A>
<TABLE> <TABLE>
<CAPTION><STRONG>Table 5:</STRONG> <CAPTION><STRONG>Table 5:</STRONG>
Parameters defining the coarse-space correction at the coarsest Parameters defining the coarse-space correction at the coarsest

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

@ -103,7 +103,7 @@ Cambridge University Press.
P.&nbsp;D'Ambra, D.&nbsp;di&nbsp;Serafino, S.&nbsp;Filippone, P.&nbsp;D'Ambra, D.&nbsp;di&nbsp;Serafino, S.&nbsp;Filippone,
<I>MLD2P4: a Package of Parallel Multilevel <I>MLD2P4: a Package of Parallel Multilevel
Algebraic Domain Decomposition Preconditioners 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> <P></P><DT><A NAME="UMFPACK">9</A>
<DD> <DD>
T.A.&nbsp;Davis, T.A.&nbsp;Davis,
@ -140,59 +140,69 @@ BIT Numerical Mathematics, 43, 2003, 945-959.
<P></P><DT><A NAME="PSBLASGUIDE">15</A> <P></P><DT><A NAME="PSBLASGUIDE">15</A>
<DD> <DD>
S.&nbsp;Filippone, A.&nbsp;Buttari, 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>. 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> <DD>
S.&nbsp;Filippone, M.&nbsp;Colajanni, S.&nbsp;Filippone, M.&nbsp;Colajanni,
<EM>PSBLAS: A Library for Parallel Linear Algebra <EM>PSBLAS: A Library for Parallel Linear Algebra
Computation on Sparse Matrices</EM>, Computation on Sparse Matrices</EM>,
ACM Transactions on Mathematical Software, 26, 4, 2000, 527-550. 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> <DD>
W.&nbsp;Gropp, S.&nbsp;Huss-Lederman, A.&nbsp;Lumsdaine, E.&nbsp;Lusk, B.&nbsp;Nitzberg, W.&nbsp;Saphir, M.&nbsp;Snir, 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>, <EM>MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions</EM>,
MIT Press, 1998. MIT Press, 1998.
<P></P><DT><A NAME="blas1">18</A> <P></P><DT><A NAME="blas1">19</A>
<DD> <DD>
C.&nbsp;L.&nbsp;Lawson, R.&nbsp;J.&nbsp;Hanson, D.&nbsp;Kincaid, F.&nbsp;T.&nbsp;Krogh, 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>, <I>Basic Linear Algebra Subprograms for FORTRAN usage</I>,
ACM Transactions on Mathematical Software, 5, 1979, 308-323. 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> <DD>
X.&nbsp;S.&nbsp;Li, J.&nbsp;W.&nbsp;Demmel, <EM>SuperLU_DIST: A Scalable Distributed-memory 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>, Sparse Direct Solver for Unsymmetric Linear Systems</EM>,
ACM Transactions on Mathematical Software, 29, 2, 2003, 110-140. 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> <DD>
Y.&nbsp;Saad, Y.&nbsp;Saad,
<I>Iterative methods for sparse linear systems</I>, 2nd edition, <I>Iterative methods for sparse linear systems</I>, 2nd edition,
SIAM, 2003 SIAM, 2003
<P> <P>
<P></P><DT><A NAME="dd2_96">21</A> <P></P><DT><A NAME="dd2_96">22</A>
<DD> <DD>
B.&nbsp;Smith, P.&nbsp;Bjorstad, W.&nbsp;Gropp, B.&nbsp;Smith, P.&nbsp;Bjorstad, W.&nbsp;Gropp,
<EM>Domain Decomposition: Parallel Multilevel Methods for Elliptic <EM>Domain Decomposition: Parallel Multilevel Methods for Elliptic
Partial Differential Equations</EM>, Partial Differential Equations</EM>,
Cambridge University Press, 1996. Cambridge University Press, 1996.
<P></P><DT><A NAME="MPI1">22</A> <P></P><DT><A NAME="MPI1">23</A>
<DD> <DD>
M.&nbsp;Snir, S.&nbsp;Otto, S.&nbsp;Huss-Lederman, D.&nbsp;Walker, J.&nbsp;Dongarra, 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, <EM>MPI: The Complete Reference. Volume 1 - The MPI Core</EM>, second edition,
MIT Press, 1998. MIT Press, 1998.
<P></P><DT><A NAME="StubenGMD69_99">23</A> <P></P><DT><A NAME="StubenGMD69_99">24</A>
<DD> <DD>
K.&nbsp;St&#252;ben, K.&nbsp;St&#252;ben,
<EM>Algebraic Multigrid (AMG): an Introduction with Applications</EM>, <EM>Algebraic Multigrid (AMG): an Introduction with Applications</EM>,
in A.&nbsp;Sch&#252;ller, U.&nbsp;Trottenberg, C.&nbsp;Oosterlee, editors, Multigrid, in A.&nbsp;Sch&#252;ller, U.&nbsp;Trottenberg, C.&nbsp;Oosterlee, editors, Multigrid,
Academic Press, 2000. Academic Press, 2000.
<P></P><DT><A NAME="TUMINARO_TONG">24</A> <P></P><DT><A NAME="TUMINARO_TONG">25</A>
<DD> <DD>
R.&nbsp;S.&nbsp;Tuminaro, C.&nbsp;Tong, R.&nbsp;S.&nbsp;Tuminaro, C.&nbsp;Tong,
<EM>Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines</EM>, <EM>Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines</EM>,
in J. Donnelley, editor, Proceedings of SuperComputing 2000, Dallas, 2000. 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> <DD>
P.&nbsp;Vanek, J.&nbsp;Mandel and M.&nbsp;Brezina, P.&nbsp;Vanek, J.&nbsp;Mandel and M.&nbsp;Brezina,
<EM>Algebraic Multigrid by Smoothed Aggregation for Second and Fourth Order Elliptic Problems</EM>, <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> The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT> <STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P> <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> <BR><HR>
</BODY> </BODY>

@ -59,7 +59,7 @@ General Overview
<P> <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 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 </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: to be used in the iterative solutions of sparse linear systems:
<BR> <BR>
<DIV ALIGN="RIGHT"> <DIV ALIGN="RIGHT">
@ -83,7 +83,8 @@ Ax=b,
where <IMG where <IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png" 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: These preconditioners have the following general features:
<UL> <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 discretization of a PDE). The <I>smoothed aggregation</I> technique is applied
as algebraic coarsening strategy&nbsp;[<A as algebraic coarsening strategy&nbsp;[<A
HREF="node25.html#BREZINA_VANEK">1</A>,<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> </LI>
</UL> </UL>
<P> <P>
The package is written in <I>Fortran&nbsp;95</I>, following an Version 2.0 of the package is written in <I>Fortran&nbsp;2003</I>, following an
<I>object-oriented approach</I> through the exploitation of features <I>object-oriented design</I> through the exploitation of features
such as abstract data type creation, functional such as abstract data type creation, functional overloading and
overloading and dynamic memory management. dynamic memory management.
The parallel implementation is based The parallel implementation is based on a Single Program Multiple Data
on a Single Program Multiple Data (SPMD) paradigm for distributed-memory architectures. (SPMD) paradigm for distributed-memory architectures. Single and
Single and double precision implementations of MLD2P4 are available for both the double precision implementations of MLD2P4 are available for both the
real and the complex case, that can be used through a single interface. real and the complex case, that can be used through a single
interface.
<P> <P>
MLD2P4 has been designed to implement scalable and easy-to-use multilevel preconditioners MLD2P4 has been designed to implement scalable and easy-to-use
in the context of the <I>PSBLAS (Parallel Sparse BLAS) multilevel preconditioners in the context of the <I>PSBLAS
computational framework</I>&nbsp;[<A (Parallel Sparse BLAS) computational framework</I>&nbsp;[<A
HREF="node25.html#psblas_00">16</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 PSBLAS is a library originally developed to address the parallel implementation of
iterative solvers for sparse linear system, by providing basic linear algebra iterative solvers for sparse linear system, by providing basic linear algebra
operators and data management facilities for distributed sparse matrices; it 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 portability, modularity ed extensibility in the development of the preconditioner
package. On the other hand, the implementation of MLD2P4 has led to some package. On the other hand, the implementation of MLD2P4 has led to some
revisions and extentions of the PSBLAS kernels, leading to the 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 HREF="node25.html#PSBLASGUIDE">15</A>]. The inter-process comunication required
by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where by MLD2P4 is encapsulated into the PSBLAS routines, except few cases where
MPI&nbsp;[<A 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. machine where PSBLAS and MPI implementations are available.
<P> <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. 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 We provide here a description of the upper-layer routines, but not of the
medium-layer ones. 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> <P>
This guide is organized as follows. General information on the distribution of the source code 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 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 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 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 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 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="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 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 <DD>[<A
HREF="node25.html#blas3">11</A>,<A HREF="node25.html#blas3">11</A>,<A
HREF="node25.html#blas2">12</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 of the Basic Linear Algebra Subprograms; if no vendor version is
available for a given platform, the ATLAS software available for a given platform, the ATLAS software
(<code>http://math-atlas.sourceforge.net/</code>) (<code>http://math-atlas.sourceforge.net/</code>)
@ -77,15 +77,15 @@ The following base libraries are needed:
</DD> </DD>
<DT><STRONG>MPI</STRONG></DT> <DT><STRONG>MPI</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#MPI2">17</A>,<A HREF="node25.html#MPI2">18</A>,<A
HREF="node25.html#MPI1">22</A>] A version of MPI is available on most HREF="node25.html#MPI1">23</A>] A version of MPI is available on most
high-performance computing systems; only version 1.1 is required. high-performance computing systems; only version 1.1 is required.
</DD> </DD>
<DT><STRONG>PSBLAS</STRONG></DT> <DT><STRONG>PSBLAS</STRONG></DT>
<DD>[<A <DD>[<A
HREF="node25.html#PSBLASGUIDE">15</A>,<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 available from
<BR><code>http://www.ce.uniroma2.it/psblas</code>; version <BR><code>http://www.ce.uniroma2.it/psblas</code>; version
3.0 (or later) is required. Indeed, all the prerequisites 3.0 (or later) is required. Indeed, all the prerequisites

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

@ -63,7 +63,7 @@ University of Rome ``Tor Vergata'', Italy
<BR> <BR>
Software version: 2.0-beta Software version: 2.0-beta
<BR> <BR>
March 20,2012 October 31, 2012
<BR> <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, P.~D'Ambra, D.~di~Serafino, S.~Filippone,
\emph{MLD2P4: a Package of Parallel Multilevel \emph{MLD2P4: a Package of Parallel Multilevel
Algebraic Domain Decomposition Preconditioners 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} \bibitem{UMFPACK}
T.A.~Davis, T.A.~Davis,
@ -124,8 +124,15 @@ BIT Numerical Mathematics, 43, 2003, 945--959.
% %
\bibitem{PSBLASGUIDE} \bibitem{PSBLASGUIDE}
S.~Filippone, A.~Buttari, 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/}. 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} \bibitem{psblas_00}
S.~Filippone, M.~Colajanni, S.~Filippone, M.~Colajanni,

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

@ -9,7 +9,8 @@ to be used in the iterative solutions of sparse linear systems:
Ax=b, Ax=b,
\label{system1} \label{system1}
\end{equation} \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! %\textbf{NOTA: Caso non simmetrico, aggregazione con $(A+A^T)$ fatta!
%Dovremmo implementare uno smoothed prolongator %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}. as algebraic coarsening strategy~\cite{BREZINA_VANEK,VANEK_MANDEL_BREZINA}.
\end{itemize} \end{itemize}
The package is written in \emph{Fortran~95}, following an Version 2.0 of the package is written in \emph{Fortran~2003}, following an
\emph{object-oriented approach} through the exploitation of features \emph{object-oriented design} through the exploitation of features
such as abstract data type creation, functional such as abstract data type creation, functional overloading and
overloading and dynamic memory management. dynamic memory management.
% , while providing a smooth % , while providing a smooth
% path towards the integration in legacy application codes. % path towards the integration in legacy application codes.
The parallel implementation is based The parallel implementation is based on a Single Program Multiple Data
on a Single Program Multiple Data (SPMD) paradigm for distributed-memory architectures. (SPMD) paradigm for distributed-memory architectures. Single and
Single and double precision implementations of MLD2P4 are available for both the double precision implementations of MLD2P4 are available for both the
real and the complex case, that can be used through a single interface. 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 MLD2P4 has been designed to implement scalable and easy-to-use
in the context of the \emph{PSBLAS (Parallel Sparse BLAS) multilevel preconditioners in the context of the \emph{PSBLAS
computational framework}~\cite{psblas_00}. (Parallel Sparse BLAS) computational framework}~\cite{psblas_00,PSBLAS3}.
PSBLAS is a library originally developed to address the parallel implementation of PSBLAS is a library originally developed to address the parallel implementation of
iterative solvers for sparse linear system, by providing basic linear algebra iterative solvers for sparse linear system, by providing basic linear algebra
operators and data management facilities for distributed sparse matrices; it 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 portability, modularity ed extensibility in the development of the preconditioner
package. On the other hand, the implementation of MLD2P4 has led to some package. On the other hand, the implementation of MLD2P4 has led to some
revisions and extentions of the PSBLAS kernels, leading to the 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 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 MPI~\cite{MPI1} is explicitly called. Therefore, MLD2P4 can be run on any parallel
machine where PSBLAS and MPI implementations are available. 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 medium-layer ones.%% For a detailed description of the overall software architecture
%% of MLD2P4 the reader is referred to~\cite{MLD2P4_TOMS}. %% 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 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 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 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 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 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 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 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: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 in Section~\ref{sec:errors}. The copyright terms concerning the distribution and modification

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

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

Loading…
Cancel
Save