From 92e47008bd73e35a97f429e56fd9d6fc464838bb Mon Sep 17 00:00:00 2001
From: Salvatore Filippone
+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 [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 [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="node29.html#MLD2P4_TOMS">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.
+
+
+
+In order to describe the AMG preconditioners available in MLD2P4, we consider a
+linear system
+
+Let us assume as finest index space the set of row (column) indices of , i.e.,
.
Any algebraic multilevel preconditioners implemented in MLD2P4 generates
a hierarchy of index spaces and a corresponding hierarchy of matrices,
+ ALT="$\Omega = \{1, 2, \ldots, n\}$">.
+Any algebraic multilevel preconditioners implemented in MLD2P4 generates
+a hierarchy of index spaces and a corresponding hierarchy of matrices,
+
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., [
+
+
+
Multigrid Background
-
Subsections
diff --git a/docs/html/node12.html b/docs/html/node12.html
index 42fbc14c..9de5d48c 100644
--- a/docs/html/node12.html
+++ b/docs/html/node12.html
@@ -54,7 +54,11 @@ original version by: Nikos Drakos, CBLU, University of Leeds
In order to describe the AMG preconditioners available in MLD2P4, we consider a
linear system
+
+
AMG preconditioners
-
(2)
-
-
by using the information contained in
+The components produced in the build phase may be combined in several ways +to obtain different multilevel preconditioners; +this is done in the application phase, i.e., in the computation of a vector +of type , where denotes the preconditioner, usually within an iteration of a Krylov solver [20]. An example of such a combination, known as V-cycle, is given in Figure 1. In this case, a single iteration of the same smoother is used before and after the the recursive call to the V-cycle (i.e., in the pre-smoothing and post-smoothing phases); however, different choices can be performed. Other cycles can be defined; in MLD2P4, we implemented the standard V-cycle and W-cycle [3], and a version of the K-cycle described in [19].
+
+In order to define the prolongator , used to compute the coarse-level matrix , used to compute +the coarse-level matrix , MLD2P4 uses the smoothed aggregation algorithm described in [, MLD2P4 uses the smoothed aggregation +algorithm described in [2,25]. The basic idea of this algorithm is to build a coarse set of indices 25
]. +The basic idea of this algorithm is to build a coarse set of indices + by suitably grouping the indices of into disjoint subsets (aggregates), and to define the coarse-to-fine space transfer operator into disjoint +subsets (aggregates), and to define the coarse-to-fine space transfer operator + by applying a suitable smoother to a simple piecewise constant prolongation operator, with the aim of improving the quality of the coarse-space correction. Three main steps can be identified in the smoothed aggregation procedure: - + ALT="$P^k$"> by applying a suitable smoother to a simple piecewise constant +prolongation operator, with the aim of improving the quality of the coarse-space correction. + ++Three main steps can be identified in the smoothed aggregation procedure: +
(3) |
+The prolongator is built starting from a tentative prolongator
, defined as
+ ALT="$\bar{P}^k \in \mathbb{R}^{n_k \times n_{k+1}}$">, defined as
+
(4) |
(5) |
+
+The smoothers implemented in MLD2P4 include the Jacobi and block-Jacobi methods, +a hybrid version of the forward and backward Gauss-Seidel methods, and the +additive Schwarz (AS) ones (see, e.g., [20,21]). The hybrid Gauss-Seidel version is considered because the original Gauss-Seidel method is inherently sequential. At each iteration of the hybrid version, each parallel process uses the most recent values of its own local variables and the values of the non-local variables computed at the previous iteration, obtained by exchanging data with other processes before the beginning of the current iteration. In the AS methods, the index space 21
]). + ++The hybrid Gauss-Seidel +version is considered because the original Gauss-Seidel method is inherently sequential. +At each iteration of the hybrid version, each parallel process uses the most recent values +of its own local variables and the values of the non-local variables computed at the +previous iteration, obtained by exchanging data with other processes before +the beginning of the current iteration. + +
+In the AS methods, the index space is divided into
subsets
+subsets of size , possibly
overlapping. For each , possibly
+overlapping. For each we consider the restriction
operator
that maps a vector
+that maps a vector to the vector made of the components of
with indices in
+with indices in , and the prolongation operator
. These operators are then used to build
, which is the restriction of to the index
space to the index
+space .
The classical AS preconditioner .
+The classical AS preconditioner is defined as
+ ALT="$M^k_{AS}$"> is defined as
+
+Direct solvers based on sparse LU factorizations, implemented in the +third-party libraries reported in Section 3.2, can be applied +as coarsest-level solvers by MLD2P4. Native inexact solvers based on +incomplete LU factorizations, as well as Jacobi, hybrid (forward) Gauss-Seidel, +and block Jacobi preconditioners are also available. Direct solvers usually +lead to more effective preconditioners in terms of algorithmic scalability; +however, this does not guarantee parallel efficiency. + +
+