mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-19 20:32:13 +00:00
Update documentation for release
This commit is contained in:
@@ -94,7 +94,6 @@ Multilevel &\fortinline|'ML'| & V-cycle with one hybrid forward Gauss-
|
||||
\label{tab:precinit}}
|
||||
\end{center}
|
||||
\end{table}
|
||||
|
||||
Note that the module \fortinline|amg_prec_mod|, containing the definition of the
|
||||
preconditioner data type and the interfaces to the routines of AMG4PSBLAS,
|
||||
must be used in any program calling such routines.
|
||||
@@ -110,6 +109,12 @@ a standard discretization of basic scalar elliptic PDE problems. However,
|
||||
this does not necessarily correspond to the shortest execution time
|
||||
on parallel~computers.
|
||||
|
||||
\textbf{Remark 2.} Memory allocation on GPUs is a costly operation
|
||||
implying a synchronization; therefore, it is convenient to preallocate
|
||||
internal preconditioner workspace with the method
|
||||
\verb|prec%allocate_wrk(info)| before invoking an iterative method,
|
||||
and release it upon exit with \verb|prec%deallocate_wrk(info)|.
|
||||
|
||||
|
||||
\subsection{Examples\label{sec:examples}}
|
||||
|
||||
@@ -140,7 +145,6 @@ for the real single precision and the complex, single and double
|
||||
precision, versions are obtained with straightforward modifications of the previous
|
||||
example (see Section~\ref{sec:userinterface} for details). If these versions are installed,
|
||||
the corresponding codes are available in \verb|samples/simple/file|\-\verb|read|.
|
||||
|
||||
\begin{listing}[tbp]
|
||||
\begin{center}
|
||||
\begin{minipage}{.90\textwidth}
|
||||
@@ -260,7 +264,6 @@ stop
|
||||
\label{fig:ex1}}
|
||||
\end{center}
|
||||
\end{listing}
|
||||
|
||||
Different versions of the multilevel preconditioner can be obtained by changing
|
||||
the default values of the preconditioner parameters. The code reported in
|
||||
Figure~\ref{fig:ex2} shows how to set a V-cycle preconditioner
|
||||
@@ -272,10 +275,15 @@ with block-Jacobi and set by~\fortinline|P%init|.
|
||||
Furthermore, specifying block-Jacobi as coarsest-level
|
||||
solver implies that the coarsest-level matrix is distributed
|
||||
among the processes.
|
||||
Figure~\ref{fig:ex3} shows how to set a W-cycle preconditioner using the Coarsening based on Compatible Weighted Matching, aggregates of size at most $8$ and smoothed prolongators. It applies
|
||||
Figure~\ref{fig:ex3} shows how to set a W-cycle preconditioner using
|
||||
the Coarsening based on Compatible Weighted Matching, aggregates of
|
||||
size at most $8$ and smoothed prolongators. It applies
|
||||
2 hybrid Gauss-Seidel sweeps as pre- and post-smoother,
|
||||
and solves the coarsest-level system with the parallel flexible Conjugate Gradient method (KRM) coupled with the block-Jacobi preconditioner having ILU(0) on the blocks. Default parameters are used for stopping criterion of the coarsest solver.
|
||||
Note that, also in this case, specifying KRM as coarsest-level
|
||||
and solves the coarsest-level system with the parallel flexible
|
||||
Conjugate Gradient method (KRM) coupled with the block-Jacobi
|
||||
preconditioner having ILU(0) on the blocks, with default parameters
|
||||
used for the coarsest solver.
|
||||
Note that specifying KRM as coarsest-level
|
||||
solver implies that the coarsest-level matrix is distributed
|
||||
among the processes.
|
||||
%It is specified that the coarsest-level
|
||||
|
||||
Reference in New Issue
Block a user