diff --git a/docs/html/node11.html b/docs/html/node11.html
index 1c0c92ad..1d447e7a 100644
--- a/docs/html/node11.html
+++ b/docs/html/node11.html
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next: Next: AMG preconditioners
- Up: Up: userhtml
- Previous: Previous: Example and test programs
- Contents
@@ -55,46 +55,46 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Multigrid Background
Multigrid preconditioners, coupled with Krylov iterative
solvers, are widely used in the parallel solution of large and sparse linear systems,
because of their optimality in the solution of linear systems arising from the
discretization of scalar elliptic Partial Differential Equations (PDEs) on regular grids.
Optimality, also known as algorithmic scalability, is the property
of having a computational cost per iteration that depends linearly on
the problem size, and a convergence rate that is independent of the problem size.
Multigrid preconditioners are based on a recursive application of a two-grid process
consisting of smoother iterations and a coarse-space (or coarse-level) correction.
The smoothers may be either basic iterative methods, such as the Jacobi and Gauss-Seidel ones,
or more complex subspace-correction methods, such as the Schwarz ones.
The coarse-space correction consists of solving, in an appropriately chosen
coarse space, the residual equation associated with the approximate solution computed
by the smoother, and of using the solution of this equation to correct the
previous approximation. The transfer of information between the original
(fine) space and the coarse one is performed by using suitable restriction and
prolongation operators. The construction of the coarse space and the corresponding
transfer operators is carried out by applying a so-called coarsening algorithm to the system
matrix. Two main approaches can be used to perform coarsening: the geometric approach,
which exploits the knowledge of some physical grid associated with the matrix
and requires the user to define transfer operators from the fine
to the coarse level and vice versa, and the algebraic approach, which builds
the coarse-space correction and the associate transfer operators using only matrix
information. The first approach may be difficult when the system comes from
discretizations on complex geometries;
furthermore, ad hoc one-level smoothers may be required to get an efficient
interplay between fine and coarse levels, e.g., when matrices with highly varying coefficients
are considered. The second approach performs a fully automatic coarsening and enforces the
interplay between fine and coarse level by suitably choosing the coarse space and
the coarse-to-fine interpolation (see, e.g., [3,23,21] for details.)
MLD2P4 uses a pure algebraic approach, based on the smoothed
aggregation algorithm [2,25],
for building the sequence of coarse matrices and transfer operators,
starting from the original one.
A decoupled version of this algorithm is implemented, where the smoothed
aggregation is applied locally to each submatrix [24].
A brief description of the AMG preconditioners implemented in MLD2P4 is given in
Sections 4.1-4.3. For further details the reader
is referred to [4,5,7,8].
We note that optimal multigrid preconditioners do not necessarily correspond
to minimum execution times in a parallel setting. Indeed, to obtain effective parallel
multigrid preconditioners, a tradeoff between the optimality and the cost of building and
applying the smoothers and the coarse-space corrections must be achieved. Effective
parallel preconditioners require algorithmic scalability to be coupled with implementation
scalability, i.e., a computational cost per iteration which remains (almost) constant as
the number of parallel processors increases.
+ HREF="node27.html#Briggs2000">3,23,21] for details.)
MLD2P4 uses a pure algebraic approach, based on the smoothed
aggregation algorithm [2,25],
for building the sequence of coarse matrices and transfer operators,
starting from the original one.
A decoupled version of this algorithm is implemented, where the smoothed
aggregation is applied locally to each submatrix [24].
A brief description of the AMG preconditioners implemented in MLD2P4 is given in
Sections 4.1-4.3. For further details the reader
is referred to [4,5,7,8].
We note that optimal multigrid preconditioners do not necessarily correspond
to minimum execution times in a parallel setting. Indeed, to obtain effective parallel
multigrid preconditioners, a tradeoff between the optimality and the cost of building and
applying the smoothers and the coarse-space corrections must be achieved. Effective
parallel preconditioners require algorithmic scalability to be coupled with implementation
scalability, i.e., a computational cost per iteration which remains (almost) constant as
the number of parallel processors increases.
Subsections
diff --git a/docs/html/node13.html b/docs/html/node13.html
index b7109d40..52a0949b 100644
--- a/docs/html/node13.html
+++ b/docs/html/node13.html
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next: Next: Examples
- Up: Up: userhtml
- Previous: Previous: AMG preconditioners
- Contents
@@ -59,7 +59,7 @@ Getting Started
We describe the basics for building and applying MLD2P4 one-level and multi-level
(i.e., AMG) preconditioners with the Krylov solvers included in PSBLAS [13].
+ HREF="node27.html#PSBLASGUIDE">13].
The following steps are required:
@@ -192,32 +192,32 @@ on parallel computers.
Subsections
@@ -78,7 +78,7 @@ Section 3.5). A sample test probl
input data is available in examples/fileread/runs.
For details on the use of the PSBLAS routines, see the PSBLAS User's
Guide [13].
+ HREF="node27.html#PSBLASGUIDE">13].
The setup and application of the default multi-level preconditioner
@@ -294,26 +294,26 @@ setup of a one-level Schwarz preconditioner.
@@ -86,7 +86,7 @@ This routine allocates and initializes the preconditioner
integer, intent(out).
-
Error code. If no error, 0 is returned. See Section 7 for details.
+
Error code. If no error, 0 is returned. See Section 8 for details.
diff --git a/docs/html/node17.html b/docs/html/node17.html
index dcd5e947..1d89ccda 100644
--- a/docs/html/node17.html
+++ b/docs/html/node17.html
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next: Next: Subroutine build
- Up: Up: User Interface
- Previous: Previous: Subroutine init
- Contents
@@ -97,7 +97,7 @@ contained in val.
integer, intent(out).
-
Error code. If no error, 0 is returned. See Section 7
+
Error code. If no error, 0 is returned. See Section 8
for details.
ilev
@@ -240,7 +240,7 @@ solver is changed to the default sequential solver.
-
+
Table 2:
Parameters defining the multi-level cycle and the number of cycles to
@@ -293,7 +293,7 @@ number
-
+
Table 3:
Parameters defining the aggregation algorithm.
@@ -380,7 +380,7 @@ Currently, only the
Type of aggregation algorithm: currently, the scalar aggregation
algorithm by Vanek, Mandel and Brezina is implemented
[25].
+ HREF="node27.html#VANEK_MANDEL_BREZINA">25].
'AGGR_PROL'
character(len=*)
@@ -408,7 +408,7 @@ of levels.
-
+
Table 4:
Parameters defining the aggregation algorithm (continued).
@@ -460,7 +460,7 @@ number
Note. Different thresholds at different levels, such as
those used in [25, Section 5.1], can be easily set by
+ HREF="node27.html#VANEK_MANDEL_BREZINA">25, Section 5.1], can be easily set by
invoking the rou-
tine set with
@@ -475,7 +475,7 @@ the parameter ilev.
-
+
Table 5:
Parameters defining the coarse-space correction at the coarsest
@@ -583,7 +583,7 @@ Note that UMF and SLU require the coarsest
-
+
Table 6:
Parameters defining the coarse-space correction at the coarsest
@@ -649,7 +649,7 @@ number
-
+
Table 7:
Parameters defining the smoother or the details of the one-level preconditioner.
@@ -772,7 +772,7 @@ Parameters defining the smoother or the details of the one-level preconditioner.
-
+
Table 8:
Parameters defining the smoother or the details of the one-level preconditioner
@@ -872,26 +872,26 @@ Parameters defining the smoother or the details of the one-level preconditioner
@@ -81,7 +81,7 @@ made by the user through the routines init and set
matrix to be preconditioned. Note that x must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.
See the PSBLAS User's Guide for details [13].
+ HREF="node27.html#PSBLASGUIDE">13].
desc_a
type(psb_desc_type), intent(in).
@@ -89,13 +89,13 @@ made by the user through the routines init and set
The communication descriptor of a. See the PSBLAS User's Guide for
details [13].
+ HREF="node27.html#PSBLASGUIDE">13].
info
integer, intent(out).
-
Error code. If no error, 0 is returned. See Section 7 for details.
+
Error code. If no error, 0 is returned. See Section 8 for details.
@@ -117,26 +117,26 @@ In this case, the routine can be used to build multi-level preconditioners too.
@@ -82,7 +82,7 @@ made by the user through the routines init and set.
to the real/complex,
single/double precision version of MLD2P4 under use.
See the PSBLAS User's Guide for details [13].
+ HREF="node27.html#PSBLASGUIDE">13].
desc_a
type(psb_desc_type), intent(in).
@@ -90,13 +90,13 @@ single/double precision version of MLD2P4 under use.
The communication descriptor of a. See the PSBLAS User's Guide for
details [13].
+ HREF="node27.html#PSBLASGUIDE">13].
info
integer, intent(out).
-
Error code. If no error, 0 is returned. See Section 7 for details.
+
Error code. If no error, 0 is returned. See Section 8 for details.
diff --git a/docs/html/node2.html b/docs/html/node2.html
index a9ba2cc0..1a55c9ad 100644
--- a/docs/html/node2.html
+++ b/docs/html/node2.html
@@ -26,21 +26,21 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
- Next: Next: General Overview
- Up: Up: userhtml
- Previous: Previous: Abstract
diff --git a/docs/html/node20.html b/docs/html/node20.html
index 6d41f54f..240b44c6 100644
--- a/docs/html/node20.html
+++ b/docs/html/node20.html
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next: Next: Subroutine apply
- Up: Up: User Interface
- Previous: Previous: Subroutine hierarchy_build
- Contents
@@ -83,7 +83,7 @@ hierarchy produced by a previous call to hierarchy_build
matrix to be preconditioned. Note that x must be chosen according
to the real/complex, single/double precision version of MLD2P4 under use.
See the PSBLAS User's Guide for details [13].
+ HREF="node27.html#PSBLASGUIDE">13].
desc_a
type(psb_desc_type), intent(in).
@@ -91,13 +91,13 @@ hierarchy produced by a previous call to hierarchy_build
The communication descriptor of a. See the PSBLAS User's Guide for
details [13].
+ HREF="node27.html#PSBLASGUIDE">13].
info
integer, intent(out).
-
Error code. If no error, 0 is returned. See Section 7 for details.
+
Error code. If no error, 0 is returned. See Section 8 for details.
diff --git a/docs/html/node21.html b/docs/html/node21.html
index b3ccbba6..f495f0d6 100644
--- a/docs/html/node21.html
+++ b/docs/html/node21.html
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next: Next: Subroutine free
- Up: Up: User Interface
- Previous: Previous: Subroutine smoothers_build
- Contents
@@ -122,7 +122,7 @@ and hence it is completely transparent to the user.
integer, intent(out).
-
Error code. If no error, 0 is returned. See Section 7 for details.
+
Error code. If no error, 0 is returned. See Section 8 for details.
Error code. If no error, 0 is returned. See Section 7 for details.
+
Error code. If no error, 0 is returned. See Section 8 for details.
iout
integer, intent(in), optional.
@@ -99,6 +99,9 @@ as follows:
+
+
+
diff --git a/docs/html/node24.html b/docs/html/node24.html
index 1a52a490..159f64b0 100644
--- a/docs/html/node24.html
+++ b/docs/html/node24.html
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-Error Handling
-
+Adding new smoother and solver objects to MLD2P4
+
@@ -26,53 +26,157 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next:License
- Up: Next: Error Handling
+ Up:userhtml
- Previous: Previous: Subroutine descr
- Contents
-
+
-Error Handling
+Adding new smoother and solver objects to MLD2P4
-The error handling in MLD2P4 is based on the PSBLAS (version 2) error
-handling. Error conditions are signaled via an integer argument
-info; whenever an error condition is detected, an error trace
-stack is built by the library up to the top-level, user-callable
-routine. This routine will then decide, according to the user
-preferences, whether the error should be handled by terminating the
-program or by returning the error condition to the user code, which
-will then take action, and whether
-an error message should be printed. These options may be set by using
-the PSBLAS error handling routines; for further details see the PSBLAS
-User's Guide [13].
+Developers can add completely new smoother and/or solver classes
+derived from the base objects in the library (see Remark 2 in Section 6.2),
+without recompiling the library itself.
+To do so, it is necessary first to select the base type to be extended.
+In our experience, it is quite likely that the new application needs
+only the definition of a ``solver'' object, which is almost
+always acting only on the local part of the distributed matrix.
+The parallel actions required to connect the various solver objects
+are most often already provided by the block-Jacobi or the additive
+Schwarz smoothers. To define a new solver, the developer will then
+have to define its components and methods, perhaps taking one of the
+predefined solvers as a starting point, if possible.
+
+
+Once the new smoother/solver class has been developed, to use it in
+the context of the multilevel preconditioners it is necessary to:
+
+
+
declare in the application program a variable of the new type;
+
+
pass that variable as the argument to the set routine as in the
+following:
+
link the code implementing the various methods into the application executable.
+
+
+The new solver object is then dynamically included in the
+preconditioner structure, and acts as a mold to which the
+preconditioner will conform, even though the MLD2P4 library has not
+been modified to account for this new development.
-
+
+It is possible to define new values for the keyword WHAT in the
+set routine; if the library code does not recognize a keyword,
+it passes it down the composition hierarchy (levels containing
+smoothers containing in turn solvers), so that it can be eventually caught by
+the new solver.
+
+
+An example is provided in the source code distribution under the
+folder tests/newslv. In this example we are implementing a new
+incomplete factorization variant (which is simply the ILU(0)
+factorization under a new name). Because of the specifics of this case, it is
+possible to reuse the basic structure of the ILU solver, with its
+L/D/U components and the methods needed to apply the solver; only a
+few methods, such as the description and most importantly the build,
+need to be ovverridden (rewritten).
+
+
+The interfaces for the calls shown above are defined using
+
+
+
smoother
+
class(mld_x_base_smoother_type)
+
+
+
The user-defined new smoother to be employed in the
+ preconditioner.
+
+
solver
+
class(mld_x_base_solver_type)
+
+
+
The user-defined new solver to be employed in the
+ preconditioner.
+
+
+
+The other arguments are defined in the way described in
+Sec. 6.2. As an example, in the tests/newslv
+code we define a new object of type mld_d_tlu_solver_type, and
+we pass it as follows:
+
+ ! sparse matrix and preconditioner
+ type(psb_dspmat_type) :: a
+ type(mld_dprec_type) :: prec
+ type(mld_d_tlu_solver_type) :: tlusv
+
+......
+ !
+ ! prepare the preconditioner: an ML with defaults, but with TLU solver at
+ ! intermediate levels. All other parameters are at default values.
+ !
+ call prec%init('ML', info)
+ call prec%hierarchy_build(a,desc_a,info)
+ nlv = prec%get_nlevs()
+ call prec%set(tlusv, info,ilev=1,ilmax=max(1,nlv-1))
+ call prec%smoothers_build(a,desc_a,info)
+
+
+
+
+
+
+
+
+
+
+
+
+ Next:Error Handling
+ Up:userhtml
+ Previous:Subroutine descr
+ Contents
+
diff --git a/docs/html/node25.html b/docs/html/node25.html
index 16114c93..d905a8ea 100644
--- a/docs/html/node25.html
+++ b/docs/html/node25.html
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-License
-
+Error Handling
+
@@ -26,77 +26,51 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next:Bibliography
- Up: Next: License
+ Up:userhtml
- Previous:Error Handling
- Previous:Adding new smoother and
+ Contents
-
+
-License
+Error Handling
-The MLD2P4 is freely distributable under the following copyright
-terms:
+The error handling in MLD2P4 is based on the PSBLAS (version 2) error
+handling. Error conditions are signaled via an integer argument
+info; whenever an error condition is detected, an error trace
+stack is built by the library up to the top-level, user-callable
+routine. This routine will then decide, according to the user
+preferences, whether the error should be handled by terminating the
+program or by returning the error condition to the user code, which
+will then take action, and whether
+an error message should be printed. These options may be set by using
+the PSBLAS error handling routines; for further details see the PSBLAS
+User's Guide [13].
-
- MLD2P4 version 2.1
- MultiLevel Domain Decomposition Parallel Preconditioners Package
- based on PSBLAS (Parallel Sparse BLAS version 3.4)
-
- (C) Copyright 2008, 2010, 2012, 2017
-
- Salvatore Filippone Cranfield University, Cranfield, UK
- Ambra Abdullahi Hassan University of Rome Tor Vergata, Rome, IT
- Alfredo Buttari CNRS-IRIT, Toulouse, FR
- Pasqua D'Ambra IAC-CNR, Naples, IT
- Daniela di Serafino University of Campania L. Vanvitelli, Caserta, IT
-
- 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.
-
+
diff --git a/docs/html/node26.html b/docs/html/node26.html
index 6487cb01..0730f26e 100644
--- a/docs/html/node26.html
+++ b/docs/html/node26.html
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-Bibliography
-
+License
+
@@ -26,153 +26,78 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next:About this document ...
- Up: Next: Bibliography
+ Up:userhtml
- Previous:License
- Previous:Error Handling
+ Contents
-
-P. R. Amestoy, C. Ashcraft, O. Boiteau, A. Buttari, J. L'Excellent, C. Weisbecker,
-Improving multifrontal methods by means of block low-rank representations,
-SIAM Journal on Scientific Computing, volume 37 (3), 2015, A1452-A1474.
-See also http://mumps.enseeiht.fr.
-A. Buttari, P. D'Ambra, D. di Serafino, S. Filippone,
-Extending PSBLAS to Build Parallel Schwarz Preconditioners,
-in J. Dongarra, K. Madsen, J. Wasniewski, editors,
-Proceedings of PARA 04 Workshop on State of the Art
-in Scientific Computing, Lecture Notes in Computer Science,
-Springer, 2005, 593-602.
-A. Buttari, P. D'Ambra, D. di Serafino, S. Filippone,
-2LEV-D2P4: a package of high-performance preconditioners
-for scientific and engineering applications,
-Applicable Algebra in Engineering, Communications and Computing,
-18 (3) 2007, 223-239.
-X. C. Cai, M. Sarkis,
-A Restricted Additive Schwarz Preconditioner for General Sparse Linear Systems,
-SIAM Journal on Scientific Computing, 21 (2), 1999, 792-797.
-P. D'Ambra, S. Filippone, D. di Serafino,
-On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners,
-Applied Numerical Mathematics, Elsevier Science,
-57 (11-12), 2007, 1181-1196.
-T. A. Davis,
-Algorithm 832: UMFPACK - an Unsymmetric-pattern Multifrontal
-Method with a Column Pre-ordering Strategy,
-ACM Transactions on Mathematical Software, 30, 2004, 196-199.
-(See also http://www.cise.ufl.edu/ davis/)
-J. W. Demmel, S. C. Eisenstat, J. R. Gilbert, X. S. Li, J. W. H. Liu,
-A supernodal approach to sparse partial pivoting,
-SIAM Journal on Matrix Analysis and Applications, 20 (3), 1999, 720-755.
-J. J. Dongarra, J. Du Croz, I. S. Duff, S. Hammarling,
-A set of Level 3 Basic Linear Algebra Subprograms,
-ACM Transactions on Mathematical Software, 16 (1) 1990, 1-17.
-J. J. Dongarra, J. Du Croz, S. Hammarling, R. J. Hanson,
-An extended set of FORTRAN Basic Linear Algebra Subprograms,
-ACM Transactions on Mathematical Software, 14 (1) 1988, 1-17.
-S. Filippone, A. Buttari,
-PSBLAS-3.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library, 2012,
-available from http://www.ce.uniroma2.it/psblas/.
-S. Filippone, A. Buttari,
-Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003.
-ACM Transactions on on Mathematical Software, 38 (4), 2012, art. 23.
-S. Filippone, M. Colajanni,
-PSBLAS: A Library for Parallel Linear Algebra
-Computation on Sparse Matrices,
-ACM Transactions on Mathematical Software, 26 (4), 2000, 527-550.
-W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B. Nitzberg, W. Saphir, M. Snir,
-MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions,
-MIT Press, 1998.
-C. L. Lawson, R. J. Hanson, D. Kincaid, F. T. Krogh,
-Basic Linear Algebra Subprograms for FORTRAN usage,
-ACM Transactions on Mathematical Software, 5 (3), 1979, 308-323.
-X. S. Li, J. W. Demmel,
-SuperLU_DIST: A Scalable Distributed-memory
-Sparse Direct Solver for Unsymmetric Linear Systems,
-ACM Transactions on Mathematical Software, 29 (2), 2003, 110-140.
-B. Smith, P. Bjorstad, W. Gropp,
-Domain Decomposition: Parallel Multilevel Methods for Elliptic
-Partial Differential Equations,
-Cambridge University Press, 1996.
-R. S. Tuminaro, C. Tong,
-Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines, in J. Donnelley, editor, Proceedings of SuperComputing 2000, Dallas, 2000.
-P. Vanek, J. Mandel, M. Brezina,
-Algebraic Multigrid by Smoothed Aggregation for Second and Fourth Order Elliptic Problems,
-Computing, 56 (3) 1996, 179-196.
+
+
+License
+
-
+The MLD2P4 is freely distributable under the following copyright
+terms:
+
+
+ MLD2P4 version 2.1
+ MultiLevel Domain Decomposition Parallel Preconditioners Package
+ based on PSBLAS (Parallel Sparse BLAS version 3.4)
+
+ (C) Copyright 2008, 2010, 2012, 2017
+
+ Salvatore Filippone Cranfield University, Cranfield, UK
+ Ambra Abdullahi Hassan University of Rome Tor Vergata, Rome, IT
+ Alfredo Buttari CNRS-IRIT, Toulouse, FR
+ Pasqua D'Ambra IAC-CNR, Naples, IT
+ Daniela di Serafino University of Campania L. Vanvitelli, Caserta, IT
+
+ 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.
+
-
diff --git a/docs/html/node27.html b/docs/html/node27.html
index 12d71e5c..f4287919 100644
--- a/docs/html/node27.html
+++ b/docs/html/node27.html
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-About this document ...
-
+Bibliography
+
@@ -18,52 +18,161 @@ original version by: Nikos Drakos, CBLU, University of Leeds
+
+
-
-
+
+
-
-
- Up: Next: About this document ...
+ Up:userhtml
- Previous:Bibliography
- Previous:License
+ Contents
-
-
+
+P. R. Amestoy, C. Ashcraft, O. Boiteau, A. Buttari, J. L'Excellent, C. Weisbecker,
+Improving multifrontal methods by means of block low-rank representations,
+SIAM Journal on Scientific Computing, volume 37 (3), 2015, A1452-A1474.
+See also http://mumps.enseeiht.fr.
+A. Buttari, P. D'Ambra, D. di Serafino, S. Filippone,
+Extending PSBLAS to Build Parallel Schwarz Preconditioners,
+in J. Dongarra, K. Madsen, J. Wasniewski, editors,
+Proceedings of PARA 04 Workshop on State of the Art
+in Scientific Computing, Lecture Notes in Computer Science,
+Springer, 2005, 593-602.
+A. Buttari, P. D'Ambra, D. di Serafino, S. Filippone,
+2LEV-D2P4: a package of high-performance preconditioners
+for scientific and engineering applications,
+Applicable Algebra in Engineering, Communications and Computing,
+18 (3) 2007, 223-239.
+X. C. Cai, M. Sarkis,
+A Restricted Additive Schwarz Preconditioner for General Sparse Linear Systems,
+SIAM Journal on Scientific Computing, 21 (2), 1999, 792-797.
+P. D'Ambra, S. Filippone, D. di Serafino,
+On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners,
+Applied Numerical Mathematics, Elsevier Science,
+57 (11-12), 2007, 1181-1196.
+T. A. Davis,
+Algorithm 832: UMFPACK - an Unsymmetric-pattern Multifrontal
+Method with a Column Pre-ordering Strategy,
+ACM Transactions on Mathematical Software, 30, 2004, 196-199.
+(See also http://www.cise.ufl.edu/ davis/)
+J. W. Demmel, S. C. Eisenstat, J. R. Gilbert, X. S. Li, J. W. H. Liu,
+A supernodal approach to sparse partial pivoting,
+SIAM Journal on Matrix Analysis and Applications, 20 (3), 1999, 720-755.
+J. J. Dongarra, J. Du Croz, I. S. Duff, S. Hammarling,
+A set of Level 3 Basic Linear Algebra Subprograms,
+ACM Transactions on Mathematical Software, 16 (1) 1990, 1-17.
+J. J. Dongarra, J. Du Croz, S. Hammarling, R. J. Hanson,
+An extended set of FORTRAN Basic Linear Algebra Subprograms,
+ACM Transactions on Mathematical Software, 14 (1) 1988, 1-17.
+S. Filippone, A. Buttari,
+PSBLAS-3.0 User's Guide. A Reference Guide for the Parallel Sparse BLAS Library, 2012,
+available from http://www.ce.uniroma2.it/psblas/.
+S. Filippone, A. Buttari,
+Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003.
+ACM Transactions on on Mathematical Software, 38 (4), 2012, art. 23.
+S. Filippone, M. Colajanni,
+PSBLAS: A Library for Parallel Linear Algebra
+Computation on Sparse Matrices,
+ACM Transactions on Mathematical Software, 26 (4), 2000, 527-550.
+W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B. Nitzberg, W. Saphir, M. Snir,
+MPI: The Complete Reference. Volume 2 - The MPI-2 Extensions,
+MIT Press, 1998.
+C. L. Lawson, R. J. Hanson, D. Kincaid, F. T. Krogh,
+Basic Linear Algebra Subprograms for FORTRAN usage,
+ACM Transactions on Mathematical Software, 5 (3), 1979, 308-323.
+X. S. Li, J. W. Demmel,
+SuperLU_DIST: A Scalable Distributed-memory
+Sparse Direct Solver for Unsymmetric Linear Systems,
+ACM Transactions on Mathematical Software, 29 (2), 2003, 110-140.
+B. Smith, P. Bjorstad, W. Gropp,
+Domain Decomposition: Parallel Multilevel Methods for Elliptic
+Partial Differential Equations,
+Cambridge University Press, 1996.
+R. S. Tuminaro, C. Tong,
+Parallel Smoothed Aggregation Multigrid: Aggregation Strategies on Massively Parallel Machines, in J. Donnelley, editor, Proceedings of SuperComputing 2000, Dallas, 2000.
+P. Vanek, J. Mandel, M. Brezina,
+Algebraic Multigrid by Smoothed Aggregation for Second and Fourth Order Elliptic Problems,
+Computing, 56 (3) 1996, 179-196.
+
-The translation was initiated by Salvatore Filippone on 2017-07-17
diff --git a/docs/html/node28.html b/docs/html/node28.html
index d5340175..48c10904 100644
--- a/docs/html/node28.html
+++ b/docs/html/node28.html
@@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney.
The command line arguments were: latex2html-local_icons -noaddress -dir ../../html userhtml.tex
-The translation was initiated by Salvatore Filippone on 2017-05-16
+The translation was initiated by Salvatore Filippone on 2017-07-19
diff --git a/docs/html/node3.html b/docs/html/node3.html
index 7cdd18e4..3fdf3b30 100644
--- a/docs/html/node3.html
+++ b/docs/html/node3.html
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
-
-
-
- Next: Next: Code Distribution
- Up: Up: userhtml
- Previous: Previous: Contents
- Contents
@@ -60,9 +60,9 @@ General Overview
The MULTI-LEVEL DOMAIN DECOMPOSITION PARALLEL PRECONDITIONERS PACKAGE BASED ON
PSBLAS (MLD2P4) provides parallel Algebraic MultiGrid (AMG) and Domain
Decomposition preconditioners (see, e.g., [3,23,21]),
+ HREF="node27.html#Briggs2000">3,23,21]),
to be used in the iterative solution of linear systems,
@@ -95,8 +95,8 @@ multi-level cycles and smoothers widely used in multigrid methods.
The multi-level preconditioners implemented in MLD2P4 are obtained by combining
AMG cycles with smoothers and coarsest-level solvers. The V-, W-, and
K-cycles [3,19] are available, which allow to define
+ HREF="node27.html#Briggs2000">3,19] are available, which allow to define
almost all the preconditioners in the package, including the multi-level hybrid
Schwarz ones; a specific cycle is implemented to obtain multi-level additive
Schwarz preconditioners. The Jacobi, hybridforward/backward Gauss-Seidel, block-Jacobi, and additive Schwarz methods
@@ -104,8 +104,8 @@ are available as smoothers. An algebraic approach is used to generate a hierarch
coarse-level matrices and operators, without explicitly using any information on the
geometry of the original problem, e.g., the discretization of a PDE. To this end,
the smoothed aggregation technique [2,25]
+ HREF="node27.html#BREZINA_VANEK">2,25]
is applied. Either exact or approximate solvers can be used on the coarsest-level
system. Specifically, different sparse LU factorizations from external
packages, and native incomplete LU factorizations and Jacobi, hybrid Gauss-Seidel,
@@ -126,8 +126,8 @@ interface.
MLD2P4 has been designed to implement scalable and easy-to-use
multilevel preconditioners in the context of the PSBLAS (Parallel Sparse BLAS)
computational framework [15,14]. PSBLAS provides basic linear algebra
+ HREF="node27.html#psblas_00">15,14]. PSBLAS provides basic linear algebra
operators and data management facilities for distributed sparse matrices,
as well as parallel Krylov solvers which can be used with the MLD2P4 preconditioners.
The choice of PSBLAS has been mainly motivated by the need of having
@@ -150,14 +150,14 @@ few black-box routines at the upper layer allow all users to easily
build and apply any preconditioner available in MLD2P4;
facilities are also available allowing expert users to extend the set of smoothers
and solvers for building new versions of the preconditioners (see
-Section ).
+Section 7).
We note that the user interface of MLD2P4 2.1 has been extended with respect to the
previous versions in order to separate the construction of the multi-level hierarchy from
the construction of the smoothers and solvers, and to allow for more flexibility
at each level. The software architecture described in [8] has significantly
+ HREF="node27.html#MLD2P4_TOMS">8] has significantly
evolved too, in order to fully exploit the Fortran 2003 features implemented in PSBLAS 3.
However, compatibility with previous versions has been preserved.
@@ -171,34 +171,34 @@ preconditioners with the Krylov solvers implemented in PSBLAS are reported
in Section 5, where the Fortran codes of a few sample programs
are also shown. A reference guide for the user interface routines is provided
in Section 6. Information on the extension of the package
-through the addition of new smoothers and solvers is reported in Section .
+through the addition of new smoothers and solvers is reported in Section 7.
The error handling mechanism used by the package
-is briefly described in Section 7. The copyright terms concerning the
-distribution and modification of MLD2P4 are reported in Appendix A.
+is briefly described in Section 8. The copyright terms concerning the
+distribution and modification of MLD2P4 are reported in Appendix A.
@@ -66,7 +66,7 @@ where contact points for further information can be also found.
The software is available under a modified BSD license, as specified
-in Appendix A; please note that some of the optional
+in Appendix A; please note that some of the optional
third party libraries may be licensed under a different and more
stringent license, most notably the GPL, and this should be taken into
account when treating derived works.
diff --git a/docs/html/node5.html b/docs/html/node5.html
index b37cef8f..259d774f 100644
--- a/docs/html/node5.html
+++ b/docs/html/node5.html
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
@@ -61,9 +61,9 @@ The following base libraries are needed:
BLAS
[11,12,17] Many vendors provide optimized versions
+ HREF="node27.html#blas3">11,12,17] Many vendors provide optimized versions
of BLAS; if no vendor version is
available for a given platform, the ATLAS software
(
[16,22] A version of MPI is available on most
+ HREF="node27.html#MPI2">16
,22] A version of MPI is available on most
high-performance computing systems.
PSBLAS
[13,15] Parallel Sparse BLAS (PSBLAS) is
+ HREF="node27.html#PSBLASGUIDE">13,15] Parallel Sparse BLAS (PSBLAS) is
available from www.ce.uniroma2.it/psblas; version
3.5.0 (or later) is required. Indeed, all the prerequisites
@@ -109,26 +109,26 @@ compiler as MLD2P4.
@@ -65,7 +65,7 @@ for multi-level preconditioners may change to reflect their presence.
UMFPACK
[9]
+ HREF="node27.html#UMFPACK">9]
A sparse LU factorization package included in the SuiteSparse library, available from
faculty.cse.tamu.edu/davis/suitesparse.html;
@@ -76,7 +76,7 @@ for multi-level preconditioners may change to reflect their presence.
MUMPS
[1]
+ HREF="node27.html#MUMPS">1]
A sparse LU factorization package available from mumps.enseeiht.fr;
it provides sequential and parallel factorizations and triangular system solution
@@ -85,7 +85,7 @@ for multi-level preconditioners may change to reflect their presence.
SuperLU
[10]
+ HREF="node27.html#SUPERLU">10]
A sparse LU factorization package available from
crd.lbl.gov/~xiaoye/SuperLU/; it provides sequential
@@ -96,7 +96,7 @@ for multi-level preconditioners may change to reflect their presence.
SuperLU_Dist
[18]
+ HREF="node27.html#SUPERLUDIST">18]
A sparse LU factorization package available
from the same site as SuperLU; it provides parallel factorization and
triangular system solution for double precision real and complex data.
@@ -113,26 +113,26 @@ for multi-level preconditioners may change to reflect their presence.