mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 14:44:55 +00:00
update
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2020
|
||||
!
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
! Salvatore Filippone
|
||||
! Pasqua D'Ambra
|
||||
! Fabio Durastante
|
||||
! Salvatore Filippone
|
||||
! Pasqua D'Ambra
|
||||
! Fabio Durastante
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2020
|
||||
!
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
! Salvatore Filippone
|
||||
! Pasqua D'Ambra
|
||||
! Fabio Durastante
|
||||
! Salvatore Filippone
|
||||
! Pasqua D'Ambra
|
||||
! Fabio Durastante
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2020
|
||||
!
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
! Salvatore Filippone
|
||||
! Pasqua D'Ambra
|
||||
! Fabio Durastante
|
||||
! Salvatore Filippone
|
||||
! Pasqua D'Ambra
|
||||
! Fabio Durastante
|
||||
@@ -42,7 +45,7 @@
|
||||
! (C) Copyright 2019
|
||||
!
|
||||
! Salvatore Filippone Cranfield University
|
||||
! Pasqua D'Ambra IAC-CNR, Naples, IT
|
||||
! Pasqua D'Ambra IAC-CNR, Naples, IT
|
||||
!
|
||||
! Redistribution and use in source and binary forms, with or without
|
||||
! modification, are permitted provided that the following conditions
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2020
|
||||
!
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
! Salvatore Filippone
|
||||
! Pasqua D'Ambra
|
||||
! Fabio Durastante
|
||||
! Salvatore Filippone
|
||||
! Pasqua D'Ambra
|
||||
! Fabio Durastante
|
||||
@@ -42,7 +45,7 @@
|
||||
! (C) Copyright 2019
|
||||
!
|
||||
! Salvatore Filippone Cranfield University
|
||||
! Pasqua D'Ambra IAC-CNR, Naples, IT
|
||||
! Pasqua D'Ambra IAC-CNR, Naples, IT
|
||||
!
|
||||
! Redistribution and use in source and binary forms, with or without
|
||||
! modification, are permitted provided that the following conditions
|
||||
|
||||
@@ -65,8 +65,9 @@ class="cmti-12">Improving multifrontal methods by means of block low-rank</span>
|
||||
class="cmti-12">representations</span><span
|
||||
class="cmr-12">, SIAM Journal on Scientific Computing, volume 37 (3), 2015,</span>
|
||||
<span
|
||||
class="cmr-12">A1452–A1474. See also </span><span
|
||||
class="cmtt-12">http://mumps.enseeiht.fr</span><span
|
||||
class="cmr-12">A1452–A1474. See also </span><a
|
||||
href="http://mumps.enseeiht.fr" class="url" ><span
|
||||
class="cmtt-12">http://mumps.enseeiht.fr</span></a><span
|
||||
class="cmr-12">.</span>
|
||||
</p>
|
||||
<p class="bibitem" ><span class="biblabel">
|
||||
@@ -331,8 +332,11 @@ class="cmti-12">- an Unsymmetric-pattern Multifrontal Method with a Column Pre-o
|
||||
class="cmti-12">Strategy</span><span
|
||||
class="cmr-12">, ACM Transactions on Mathematical Software, 30, 2004, 196–199.</span>
|
||||
<span
|
||||
class="cmr-12">(See also </span><span
|
||||
class="cmtt-12">http://www.cise.ufl.edu/~davis/</span><span
|
||||
class="cmr-12">(See also </span><a
|
||||
href="http://www.cise.ufl.edu/~davis/" class="url" ><span
|
||||
class="cmtt-12">http://www.cise.ufl.edu/</span><span
|
||||
class="cmtt-12">~</span><span
|
||||
class="cmtt-12">davis/</span></a><span
|
||||
class="cmr-12">)</span>
|
||||
</p>
|
||||
<p class="bibitem" ><span class="biblabel">
|
||||
@@ -440,8 +444,9 @@ class="cmti-12">PSBLAS 3.5.0 User’s Guide. A Reference</span>
|
||||
<span
|
||||
class="cmti-12">Guide for the Parallel Sparse BLAS Library</span><span
|
||||
class="cmr-12">, 2012, available from</span>
|
||||
<span
|
||||
class="cmtt-12">https://github.com/sfilippone/psblas3/tree/master/docs</span><span
|
||||
<a
|
||||
href="https://github.com/sfilippone/psblas3/tree/master/docs" class="url" ><span
|
||||
class="cmtt-12">https://github.com/sfilippone/psblas3/tree/master/docs</span></a><span
|
||||
class="cmr-12">.</span>
|
||||
</p>
|
||||
<p class="bibitem" ><span class="biblabel">
|
||||
|
||||
@@ -36,7 +36,8 @@ class="cmr-12">This section describes the basics for building and applying AMG4P
|
||||
<span
|
||||
class="cmr-12">and multilevel (i.e., AMG) preconditioners with the Krylov solvers included in</span>
|
||||
<span
|
||||
class="cmr-12">PSBLAS </span><span class="cite"><span
|
||||
class="cmr-12">PSBLAS</span><span
|
||||
class="cmr-12"> </span><span class="cite"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlli5.html#XPSBLASGUIDE"><span
|
||||
class="cmr-12">20</span></a><span
|
||||
@@ -432,7 +433,8 @@ class="cmr-12">linear system comes from a standard discretization of basic scala
|
||||
<span
|
||||
class="cmr-12">problems. However, this does not necessarily correspond to the shortest execution time</span>
|
||||
<span
|
||||
class="cmr-12">on parallel computers.</span>
|
||||
class="cmr-12">on parallel</span><span
|
||||
class="cmr-12"> computers.</span>
|
||||
<div class="subsectionTOCS">
|
||||
<span
|
||||
class="cmr-12"> </span><span class="subsectionToc" ><span
|
||||
|
||||
@@ -1565,9 +1565,15 @@ class="cmtt-10x-x-109">’</span> </td><td style="white-space:nowrap;
|
||||
class="td11"><span class="lstinline"></span><!--l. 501--><p class="noindent" ><span
|
||||
class="cmtt-10x-x-109">integer</span> </td><td style="white-space:normal; text-align:left;" id="TBL-8-4-3"
|
||||
class="td11"><!--l. 501--><p class="noindent" >Any integer
|
||||
<<<<<<< HEAD
|
||||
<span
|
||||
class="cmmi-10x-x-109">> </span>0 </td><td style="white-space:normal; text-align:left;" id="TBL-8-4-4"
|
||||
class="td11"><!--l. 501--><p class="noindent" >-1 </td><td style="white-space:normal; text-align:left;" id="TBL-8-4-5"
|
||||
=======
|
||||
<!--l. 501--><p class="noindent" ><span
|
||||
class="cmmi-10x-x-109">> </span>0 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-4-4"
|
||||
class="td11"><!--l. 501--><p class="noindent" >-1 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-4-5"
|
||||
>>>>>>> b7eba989ad763746ba3317b0316a49c8861f7568
|
||||
class="td11"><!--l. 501--><p class="noindent" >Number of iterations after which a trace is to
|
||||
be printed. </td>
|
||||
</tr><tr
|
||||
@@ -1580,9 +1586,15 @@ class="cmtt-10x-x-109">’</span> </td><td style="white-space:nowrap; t
|
||||
class="td11"><span class="lstinline"></span><!--l. 502--><p class="noindent" ><span
|
||||
class="cmtt-10x-x-109">integer</span> </td><td style="white-space:normal; text-align:left;" id="TBL-8-5-3"
|
||||
class="td11"><!--l. 502--><p class="noindent" >Any integer
|
||||
<<<<<<< HEAD
|
||||
<span
|
||||
class="cmmi-10x-x-109">> </span>0 </td><td style="white-space:normal; text-align:left;" id="TBL-8-5-4"
|
||||
class="td11"><!--l. 502--><p class="noindent" >-1 </td><td style="white-space:normal; text-align:left;" id="TBL-8-5-5"
|
||||
=======
|
||||
<!--l. 502--><p class="noindent" ><span
|
||||
class="cmmi-10x-x-109">> </span>0 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-5-4"
|
||||
class="td11"><!--l. 502--><p class="noindent" >-1 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-5-5"
|
||||
>>>>>>> b7eba989ad763746ba3317b0316a49c8861f7568
|
||||
class="td11"><!--l. 502--><p class="noindent" >Number of iterations after which a residual is
|
||||
to be calculated. </td>
|
||||
</tr><tr
|
||||
@@ -1596,11 +1608,19 @@ class="td11"><span class="lstinline"></span><!--l. 503--><p class="noindent" ><s
|
||||
class="cmtt-10x-x-109">real</span><span
|
||||
class="cmtt-10x-x-109">(</span><span
|
||||
class="cmtt-10x-x-109">kind_parameter</span><span
|
||||
<<<<<<< HEAD
|
||||
class="cmtt-10x-x-109">)</span> </td><td style="white-space:normal; text-align:left;" id="TBL-8-6-3"
|
||||
class="td11"><!--l. 503--><p class="noindent" >Any real <span
|
||||
class="cmmi-10x-x-109"><</span>
|
||||
1 </td><td style="white-space:normal; text-align:left;" id="TBL-8-6-4"
|
||||
class="td11"><!--l. 503--><p class="noindent" >0 </td><td style="white-space:normal; text-align:left;" id="TBL-8-6-5"
|
||||
=======
|
||||
class="cmtt-10x-x-109">)</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-8-6-3"
|
||||
class="td11"><!--l. 503--><p class="noindent" >Any real
|
||||
<!--l. 503--><p class="noindent" ><span
|
||||
class="cmmi-10x-x-109">< </span>1 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-6-4"
|
||||
class="td11"><!--l. 503--><p class="noindent" >0 </td><td style="white-space:wrap; text-align:left;" id="TBL-8-6-5"
|
||||
>>>>>>> b7eba989ad763746ba3317b0316a49c8861f7568
|
||||
class="td11"><!--l. 503--><p class="noindent" >Tolerance for the stopping criterion on the
|
||||
residual. </td>
|
||||
</tr><tr
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
This section describes the basics for building and applying
|
||||
AMG4PSBLAS one-level and multilevel (i.e., AMG) preconditioners with
|
||||
the Krylov solvers included in PSBLAS \cite{PSBLASGUIDE}.
|
||||
the Krylov solvers included in PSBLAS~\cite{PSBLASGUIDE}.
|
||||
|
||||
The following steps are required:
|
||||
\begin{enumerate}
|
||||
@@ -108,7 +108,7 @@ usually lead to smaller numbers of preconditioned Krylov
|
||||
iterations than inexact solvers, when the linear system comes from
|
||||
a standard discretization of basic scalar elliptic PDE problems. However,
|
||||
this does not necessarily correspond to the shortest execution time
|
||||
on parallel computers.
|
||||
on parallel~computers.
|
||||
|
||||
|
||||
\subsection{Examples\label{sec:examples}}
|
||||
|
||||
@@ -12,7 +12,12 @@
|
||||
pdfpagelabels,
|
||||
colorlinks,
|
||||
citecolor=red,
|
||||
linkcolor=blue]{hyperref}
|
||||
linkcolor=blue,
|
||||
pdfauthor={Pasqua D'Ambra, Fabio Durastante, Salvatore Filippone},
|
||||
pdftitle={Algebraic MultiGrid Preconditioners Package based on PSBLAS, V. 1.0},
|
||||
pdfsubject={MultiGrid Parallel Preconditioners Package},
|
||||
pdfkeywords={Parallel Numerical Software, Algebraic MultiGrid Preconditioners, Sparse Iterative Solvers, PSBLAS, MPI},
|
||||
]{hyperref}
|
||||
\usepackage{html}
|
||||
\usepackage{ifthen}
|
||||
\usepackage{graphicx}
|
||||
|
||||
+10
-10
@@ -14,7 +14,7 @@ For backward compatibility, methods are also accessible as
|
||||
stand-alone subroutines.
|
||||
|
||||
For each method, the same user interface is overloaded with
|
||||
respect to the real/complex and single/double precision data;
|
||||
respect to the real/\-com\-plex and single/double precision data;
|
||||
arguments with appropriate data types must be passed to the method, i.e.,
|
||||
\begin{itemize}
|
||||
\item the sparse matrix data structure, containing the matrix to be
|
||||
@@ -282,11 +282,11 @@ be applied.
|
||||
& Parallel aggregation algorithm. \par the
|
||||
\fortinline|SYMDEC| option applies decoupled
|
||||
aggregation to the sparsity pattern
|
||||
of $A+A^T$.\\ \hline
|
||||
of $A+A^T$.\\\hline%
|
||||
\ifpdf
|
||||
\phantomcaption
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\phantomcaption
|
||||
\esideways
|
||||
\bsideways
|
||||
\ContinuedFloat
|
||||
@@ -414,11 +414,11 @@ the parameter \texttt{ilev}.} \\
|
||||
solvers is specified, the matrix layout is set to a default
|
||||
value which allows the use of the solver (see Remark 3, p.~24).
|
||||
Note also that UMFPACK and SuperLU\_Dist
|
||||
are available only in double precision. \\ \hline
|
||||
are available only in double precision. \\\hline%
|
||||
\ifpdf
|
||||
\phantomcaption
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\phantomcaption
|
||||
\esideways
|
||||
\bsideways
|
||||
\ContinuedFloat
|
||||
@@ -498,9 +498,9 @@ level (continued).\label{tab:p_coarse_1}}
|
||||
\textsc{comments} \\ \hline
|
||||
\fortinline|'BJAC_STOP'| & \fortinline|character(len=*)| & \fortinline|'FALSE'| \par \fortinline|'TRUE'| & \fortinline|'FALSE'| & Select whether to use a stopping criterion for the Block-Jacobi method used as a coarse solver. \\ \hline
|
||||
\fortinline|'BJAC_TRACE'| & \fortinline|character(len=*)| & \fortinline|'FALSE'| \par \fortinline|'TRUE'| & \fortinline|'FALSE'| & Select whether to print a trace for the calculated residual for the Block-Jacobi method used as a coarse solver. \\ \hline
|
||||
\fortinline|'BJAC_ITRACE'| & \fortinline|integer| & Any integer $>0$ & -1 & Number of iterations after which a trace is to be printed. \\ \hline
|
||||
\fortinline|'BJAC_RESCHECK'|& \fortinline|integer| & Any integer $>0$ & -1 & Number of iterations after which a residual is to be calculated. \\ \hline
|
||||
\fortinline|'BJAC_STOPTOL'| & \fortinline|real(kind_parameter)| & Any real $<1$ & 0 & Tolerance for the stopping criterion on the residual. \\ \hline
|
||||
\fortinline|'BJAC_ITRACE'| & \fortinline|integer| & Any integer\par $>0$ & -1 & Number of iterations after which a trace is to be printed. \\ \hline
|
||||
\fortinline|'BJAC_RESCHECK'|& \fortinline|integer| & Any integer\par $>0$ & -1 & Number of iterations after which a residual is to be calculated. \\ \hline
|
||||
\fortinline|'BJAC_STOPTOL'| & \fortinline|real(kind_parameter)| & Any real\par $<1$ & 0 & Tolerance for the stopping criterion on the residual. \\ \hline
|
||||
\fortinline|'KRM_METHOD'| & \fortinline|character(len=*)| & \fortinline|'CG'| \par \fortinline|'FCG'| \par \fortinline|'CGS'| \par \fortinline|'CGR'| \par \fortinline|'BICG'| \par \fortinline|'BICGSTAB'| \par \fortinline|'BICGSTABL'| \par \fortinline|'RGMRES'| & \fortinline|'FCG'| & A string that defines the iterative method to be
|
||||
used. \texttt{CG} the Conjugate Gradient method;
|
||||
\texttt{CGS} the Conjugate Gradient Stabilized method;
|
||||
@@ -510,11 +510,11 @@ level (continued).\label{tab:p_coarse_1}}
|
||||
\texttt{BICGSTAB} the Bi-Conjugate Gradient Stabilized method;
|
||||
\texttt{BICGSTABL} the Bi-Conjugate Gradient Stabilized method with restarting;
|
||||
\texttt{RGMRES} the Generalized Minimal Residual method with restarting. Refer to the PSBLAS guide~\cite{PSBLASGUIDE} for further information. \\ \hline
|
||||
\fortinline|'KRM_KPREC'| & \fortinline|character(len=*)| & Table~\ref{tab:precinit} & \fortinline|'BJAC'| & The one-level preconditioners from the Table~\ref{tab:precinit} can be used for the coarse Krylov solver. \\ \hline
|
||||
\fortinline|'KRM_KPREC'| & \fortinline|character(len=*)| & Table~\ref{tab:precinit} & \fortinline|'BJAC'| & The one-level preconditioners from the Table~\ref{tab:precinit} can be used for the coarse Krylov solver.\\\hline%
|
||||
\ifpdf
|
||||
\phantomcaption
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\phantomcaption
|
||||
\esideways
|
||||
\bsideways
|
||||
\ContinuedFloat
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
!
|
||||
! AMG4PSBLAS version 1.0
|
||||
! Algebraic Multigrid Package
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
! based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
!
|
||||
! (C) Copyright 2021
|
||||
!
|
||||
|
||||
Reference in New Issue
Block a user