mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 14:44:55 +00:00
Doc changes to overview, build and prereqs
This commit is contained in:
Binary file not shown.
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
|
||||
+25
-25
@@ -16,23 +16,24 @@
|
||||
.cmbx-12{ font-weight: bold;}
|
||||
.cmbx-12{ font-weight: bold;}
|
||||
.cmbx-12{ font-weight: bold;}
|
||||
.cmtt-12{font-size:109%;font-family: monospace;}
|
||||
.cmtt-12{font-family: monospace;}
|
||||
.cmtt-12{font-family: monospace;}
|
||||
.cmtt-12{font-size:109%;font-family: monospace,monospace;}
|
||||
.cmtt-12{font-family: monospace,monospace;}
|
||||
.cmtt-12{font-family: monospace,monospace;}
|
||||
.cmcsc-10x-x-120{font-size:109%;}
|
||||
.cmr-8{font-size:72%;}
|
||||
.cmmi-12{font-size:109%;font-style: italic;}
|
||||
.cmmi-8{font-size:72%;font-style: italic;}
|
||||
.cmsy-8{font-size:72%;}
|
||||
.tctt-1200{font-size:109%;font-family: monospace,monospace;}
|
||||
.cmmi-10x-x-109{font-style: italic;}
|
||||
.cmsy-10x-x-109{}
|
||||
.cmtt-10x-x-109{font-family: monospace;}
|
||||
.cmtt-10x-x-109{font-family: monospace;}
|
||||
.cmtt-10x-x-109{font-family: monospace;}
|
||||
.cmtt-10x-x-109{font-family: monospace,monospace;}
|
||||
.cmtt-10x-x-109{font-family: monospace,monospace;}
|
||||
.cmtt-10x-x-109{font-family: monospace,monospace;}
|
||||
.cmcsc-10x-x-109{}
|
||||
.cmtt-10{font-size:90%;font-family: monospace;}
|
||||
.cmtt-10{font-family: monospace;}
|
||||
.cmtt-10{font-family: monospace;}
|
||||
.cmtt-10{font-size:90%;font-family: monospace,monospace;}
|
||||
.cmtt-10{font-family: monospace,monospace;}
|
||||
.cmtt-10{font-family: monospace,monospace;}
|
||||
.cmbx-10x-x-109{ font-weight: bold;}
|
||||
.cmbx-10x-x-109{ font-weight: bold;}
|
||||
.cmbx-10x-x-109{ font-weight: bold;}
|
||||
@@ -44,10 +45,11 @@
|
||||
.cmbx-10{ font-weight: bold;}
|
||||
.cmti-10{font-size:90%; font-style: italic;}
|
||||
.small-caps{font-variant: small-caps; }
|
||||
p.noindent { text-indent: 0em }
|
||||
td p.noindent { text-indent: 0em; margin-top:0em; }
|
||||
p.nopar { text-indent: 0em; }
|
||||
p.indent{ text-indent: 1.5em }
|
||||
p{margin-top:0;margin-bottom:0}
|
||||
p.indent{text-indent:0;}
|
||||
p + p{margin-top:1em;}
|
||||
p + div, p + pre {margin-top:1em;}
|
||||
div + p, pre + p {margin-top:1em;}
|
||||
@media print {div.crosslinks {visibility:hidden;}}
|
||||
a img { border-top: 0; border-left: 0; border-right: 0; }
|
||||
center { margin-top:1em; margin-bottom:1em; }
|
||||
@@ -70,7 +72,7 @@ div.obeylines-v p { margin-top:0; margin-bottom:0; }
|
||||
td.displaylines {text-align:center; white-space:nowrap;}
|
||||
.centerline {text-align:center;}
|
||||
.rightline {text-align:right;}
|
||||
div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; }
|
||||
pre.verbatim {font-family: monospace,monospace; text-align:left; clear:both; }
|
||||
.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
|
||||
div.fbox {display:table}
|
||||
div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
|
||||
@@ -103,18 +105,16 @@ td.td01{ padding-left:0pt; padding-right:5pt; }
|
||||
td.td10{ padding-left:5pt; padding-right:0pt; }
|
||||
td.td11{ padding-left:5pt; padding-right:5pt; }
|
||||
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
|
||||
.hline hr, .cline hr{ height : 1px; margin:0px; }
|
||||
.hline hr, .cline hr{ height : 0px; margin:0px; }
|
||||
.hline td, .cline td{ padding: 0; }
|
||||
.hline hr, .cline hr{border:none;border-top:1px solid black;}
|
||||
.tabbing-right {text-align:right;}
|
||||
span.TEX {letter-spacing: -0.125em; }
|
||||
span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
|
||||
a span.TEX span.E {text-decoration: none; }
|
||||
span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
|
||||
span.LATEX span.TEX{ position:relative; left: -0.4em; }
|
||||
div.float, div.figure {margin-left: auto; margin-right: auto;}
|
||||
div.float img {text-align:center;}
|
||||
div.figure img {text-align:center;}
|
||||
.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
|
||||
.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
|
||||
.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
|
||||
.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;}
|
||||
.reversemarginpar{float:left;}
|
||||
table.equation {width:100%;}
|
||||
.equation td{text-align:center; }
|
||||
td.equation { margin-top:1em; margin-bottom:1em; }
|
||||
@@ -157,10 +157,10 @@ div.abstract {width:100%;}
|
||||
.Ovalbox-thick { padding-left:3pt; padding-right:3pt; border:solid thick; }
|
||||
.shadowbox { padding-left:3pt; padding-right:3pt; border:solid thin; border-right:solid thick; border-bottom:solid thick; }
|
||||
.doublebox { padding-left:3pt; padding-right:3pt; border-style:double; border:solid thick; }
|
||||
.figure img.graphics {margin-left:10%;}
|
||||
.rotatebox{display: inline-block;}
|
||||
.lstlisting .label{margin-right:0.5em; }
|
||||
div.lstlisting{font-family: monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; }
|
||||
div.lstinputlisting{ font-family: monospace; white-space: nowrap; }
|
||||
div.lstlisting{font-family: monospace,monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; }
|
||||
div.lstinputlisting{ font-family: monospace,monospace; white-space: nowrap; }
|
||||
.lstinputlisting .label{margin-right:0.5em;}
|
||||
#TBL-1 colgroup{border-left: 1px solid black;border-right:1px solid black;}
|
||||
#TBL-1{border-collapse:collapse;}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 905 B After Width: | Height: | Size: 892 B |
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Abstract</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Contents</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Contributors</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>References</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -181,7 +181,7 @@ class="cmr-12"> Pothen, </span><span
|
||||
class="cmti-12">Distributed-memory parallel algorithms for matching and</span>
|
||||
<span
|
||||
class="cmti-12">coloring</span><span
|
||||
class="cmr-12">, in PCO11 New Trends in Parallel Computing and Optimization,</span>
|
||||
class="cmr-12">, in PCO’11 New Trends in Parallel Computing and Optimization,</span>
|
||||
<span
|
||||
class="cmr-12">IEEE International Symposium on Parallel and Distributed Processing</span>
|
||||
<span
|
||||
|
||||
+39
-46
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>General Overview</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -108,9 +108,11 @@ class="cmr-12">matrix.</span>
|
||||
<!--l. 19--><p class="indent" > <span
|
||||
class="cmr-12">The preconditioners implemented in AMG4PSBLAS are obtained by combining 3</span>
|
||||
<span
|
||||
class="cmr-12">different types of AMG cycles with smoothers and coarsest-level solvers. The V-, W-,</span>
|
||||
class="cmr-12">different types of AMG cycles with smoothers and coarsest-level solvers. Available</span>
|
||||
<span
|
||||
class="cmr-12">and a version of a Krylov-type cycle (K-cycle)</span><span
|
||||
class="cmr-12">multigrid cycles include the V-, W-, and a version of a Krylov-type cycle</span>
|
||||
<span
|
||||
class="cmr-12">(K-cycle)</span><span
|
||||
class="cmr-12"> </span><span class="cite"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlli4.html#XBriggs2000"><span
|
||||
@@ -119,42 +121,37 @@ class="cmr-12">,</span><span
|
||||
class="cmr-12"> </span><a
|
||||
href="userhtmlli4.html#XNotay2008"><span
|
||||
class="cmr-12">23</span></a><span
|
||||
class="cmr-12">]</span></span> <span
|
||||
class="cmr-12">are available, which can be</span>
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">; they can be combined with Jacobi hybrid forward/backward</span>
|
||||
<span
|
||||
class="cmr-12">combined with Jacobi hybrid forward/backward Gauss-Seidel, block-Jacobi, and</span>
|
||||
class="cmr-12">Gauss-Seidel, block-Jacobi, and additive Schwarz smoothers. The Jacobi, block-Jacobi</span>
|
||||
<span
|
||||
class="cmr-12">additive Schwarz smoothers. Also </span><span
|
||||
class="cmr-12">and Gauss-Seidel smoothers are also available in the </span><span
|
||||
class="cmmi-12">ℓ</span><sub><span
|
||||
class="cmr-8">1</span></sub> <span
|
||||
class="cmr-12">versions of Jacobi, block-Jacobi and Gauss-Seidel</span>
|
||||
class="cmr-12">version.</span>
|
||||
<!--l. 29--><p class="indent" > <span
|
||||
class="cmr-12">An algebraic approach is used to generate a hierarchy of coarse-level matrices and</span>
|
||||
<span
|
||||
class="cmr-12">smoothers are available. An algebraic approach is used to generate a hierarchy of</span>
|
||||
class="cmr-12">operators, without explicitly using any information on the geometry of the original</span>
|
||||
<span
|
||||
class="cmr-12">coarse-level matrices and operators, without explicitly using any information</span>
|
||||
class="cmr-12">problem, e.g., the discretization of a PDE. To this end, two different coarsening</span>
|
||||
<span
|
||||
class="cmr-12">on the geometry of the original problem, e.g., the discretization of a PDE.</span>
|
||||
<span
|
||||
class="cmr-12">To this end, two different coarsening strategies, based on aggregation, are</span>
|
||||
<span
|
||||
class="cmr-12">available:</span>
|
||||
class="cmr-12">strategies, based on aggregation, are available:</span>
|
||||
<ul class="itemize1">
|
||||
<li class="itemize"><span
|
||||
class="cmr-12">a decoupled version of the well known smoothed aggregation procedure</span>
|
||||
<span
|
||||
class="cmr-12">proposed in</span><span
|
||||
class="cmr-12">a decoupled version of the smoothed aggregation procedure proposed in</span><span
|
||||
class="cmr-12"> </span><span class="cite"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlli4.html#XBREZINA_VANEK"><span
|
||||
class="cmr-12">2</span></a><span
|
||||
class="cmr-12">,</span><span
|
||||
class="cmr-12">,</span>
|
||||
<span
|
||||
class="cmr-12"> </span><a
|
||||
href="userhtmlli4.html#XVANEK_MANDEL_BREZINA"><span
|
||||
class="cmr-12">29</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">, and already included in the previous versions of the</span>
|
||||
<span
|
||||
class="cmr-12">package</span><span
|
||||
class="cmr-12">, and already included in the previous versions of the package</span><span
|
||||
class="cmr-12"> </span><span class="cite"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlli4.html#XBDDF2007"><span
|
||||
@@ -165,14 +162,11 @@ href="userhtmlli4.html#XMLD2P4_TOMS"><span
|
||||
class="cmr-12">9</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">;</span>
|
||||
|
||||
|
||||
|
||||
</li>
|
||||
<li class="itemize"><span
|
||||
class="cmr-12">the first parallel implementation of a coupled version of Coarsening based</span>
|
||||
class="cmr-12">a coupled, parallel implementation of the Coarsening based on Compatible</span>
|
||||
<span
|
||||
class="cmr-12">on Compatible Weighted Matching introduced in</span><span
|
||||
class="cmr-12">Weighted Matching introduced in</span><span
|
||||
class="cmr-12"> </span><span class="cite"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlli4.html#XDV2013"><span
|
||||
@@ -182,28 +176,27 @@ class="cmr-12"> </span><a
|
||||
href="userhtmlli4.html#XDFV2018"><span
|
||||
class="cmr-12">31</span></a><span
|
||||
class="cmr-12">]</span></span> <span
|
||||
class="cmr-12">and described in</span>
|
||||
<span
|
||||
class="cmr-12">details in</span><span
|
||||
class="cmr-12">and described in detail in</span><span
|
||||
class="cmr-12"> </span><span class="cite"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlli4.html#XDDF2020"><span
|
||||
class="cmr-12">11</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">;</span></li></ul>
|
||||
<!--l. 32--><p class="indent" > <span
|
||||
class="cmr-12">Either exact or approximate solvers can be used on the coarsest-level system.</span>
|
||||
|
||||
|
||||
|
||||
<!--l. 42--><p class="noindent" ><span
|
||||
class="cmr-12">Either exact or approximate solvers can be used on the coarsest-level system. We provide</span>
|
||||
<span
|
||||
class="cmr-12">Specifically, different sparse LU factorizations from external packages, native</span>
|
||||
class="cmr-12">interfaces to various sparse LU factorizations from external packages, native incomplete</span>
|
||||
<span
|
||||
class="cmr-12">incomplete LU and approximate inverse factorizations, weighted Jacobi, hybrid</span>
|
||||
class="cmr-12">LU and approximate inverse factorizations, weighted Jacobi, hybrid Gauss-Seidel,</span>
|
||||
<span
|
||||
class="cmr-12">Gauss-Seidel, block-Jacobi solvers and recursive call to preconditioned Krylov</span>
|
||||
class="cmr-12">block-Jacobi solvers and a recursive call to preconditioned Krylov methods; all</span>
|
||||
<span
|
||||
class="cmr-12">methods are available. All the smoothers can be also exploited as one-level</span>
|
||||
<span
|
||||
class="cmr-12">preconditioners.</span>
|
||||
<!--l. 36--><p class="indent" > <span
|
||||
class="cmr-12">smoothers can be also exploited as one-level preconditioners.</span>
|
||||
<!--l. 49--><p class="indent" > <span
|
||||
class="cmr-12">AMG4PSBLAS is written in Fortran</span><span
|
||||
class="cmr-12"> 2003, following an object-oriented design</span>
|
||||
<span
|
||||
@@ -218,7 +211,7 @@ class="cmr-12">Single and double precision implementations of AMG4PSBLAS are ava
|
||||
class="cmr-12">for both the real and the complex case, which can be used through a single</span>
|
||||
<span
|
||||
class="cmr-12">interface.</span>
|
||||
<!--l. 46--><p class="indent" > <span
|
||||
<!--l. 59--><p class="indent" > <span
|
||||
class="cmr-12">AMG4PSBLAS has been designed to implement scalable and easy-to-use</span>
|
||||
<span
|
||||
class="cmr-12">multilevel preconditioners in the context of the PSBLAS (Parallel Sparse BLAS)</span>
|
||||
@@ -272,15 +265,12 @@ class="cmr-12">preconditioners relying on Jacobi and block-Jacobi smoothers with
|
||||
class="cmr-12">approximate inverses on the blocks can be efficiently executed on cluster of</span>
|
||||
<span
|
||||
class="cmr-12">GPUs.</span>
|
||||
<!--l. 64--><p class="indent" > <span
|
||||
<!--l. 84--><p class="indent" > <span
|
||||
class="cmr-12">AMG4PSBLAS has a layered and modular software architecture where three main</span>
|
||||
<span
|
||||
class="cmr-12">layers can be identified. The lower layer consists of the PSBLAS kernels, the middle</span>
|
||||
<span
|
||||
class="cmr-12">one implements the construction and application phases of the preconditioners, and the</span>
|
||||
|
||||
|
||||
|
||||
<span
|
||||
class="cmr-12">upper one provides a uniform interface to all the preconditioners. This architecture</span>
|
||||
<span
|
||||
@@ -291,13 +281,16 @@ class="cmr-12">layer allow all users to easily build and apply any preconditione
|
||||
class="cmr-12">AMG4PSBLAS; facilities are also available allowing expert users to extend the set of</span>
|
||||
<span
|
||||
class="cmr-12">smoothers and solvers for building new versions of the preconditioners (see</span>
|
||||
|
||||
|
||||
|
||||
<span
|
||||
class="cmr-12">Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
href="userhtmlse6.html#x25-290006"><span
|
||||
class="cmr-12">6</span><!--tex4ht:ref: sec:adding --></a><span
|
||||
class="cmr-12">).</span>
|
||||
<!--l. 75--><p class="indent" > <span
|
||||
<!--l. 95--><p class="indent" > <span
|
||||
class="cmr-12">This guide is organized as follows. General information on the distribution of the</span>
|
||||
<span
|
||||
class="cmr-12">source code is reported in Section</span><span
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Code Distribution</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
|
||||
+10
-10
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Configuring and Building AMG4PSBLAS</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -54,13 +54,13 @@ class="cmr-12">feature, which enhances the usability</span>
|
||||
<span
|
||||
class="cmr-12">of </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">ALLOCATE</span></span></span><span
|
||||
class="cmr-12">. Many compilers do this; in particular, this is supported by the GNU</span>
|
||||
class="cmr-12">. Most Fortran compilers provide this feature; in particular, this is</span>
|
||||
<span
|
||||
class="cmr-12">Fortran compiler, for which we recommend to use at least version 4.8. The software</span>
|
||||
class="cmr-12">supported by the GNU Fortran compiler, for which we recommend to use at least</span>
|
||||
<span
|
||||
class="cmr-12">defines data types and interfaces for real and complex data, in both single and double</span>
|
||||
class="cmr-12">version 4.8. The software defines data types and interfaces for real and complex data,</span>
|
||||
<span
|
||||
class="cmr-12">precision.</span>
|
||||
class="cmr-12">in both single and double precision.</span>
|
||||
<!--l. 20--><p class="indent" > <span
|
||||
class="cmr-12">Building AMG4PSBLAS requires some base libraries (see Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -68,13 +68,13 @@ href="userhtmlsu1.html#x8-70003.1"><span
|
||||
class="cmr-12">3.1</span><!--tex4ht:ref: sec:prerequisites --></a><span
|
||||
class="cmr-12">); interfaces to</span>
|
||||
<span
|
||||
class="cmr-12">optional third-party libraries, which extend the functionalities of AMG4PSBLAS</span>
|
||||
class="cmr-12">optional third-party libraries, which extend the functionalities of AMG4PSBLAS (see</span>
|
||||
<span
|
||||
class="cmr-12">(see Section</span><span
|
||||
class="cmr-12">Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
href="userhtmlsu2.html#x9-80003.2"><span
|
||||
class="cmr-12">3.2</span><!--tex4ht:ref: sec:third-party --></a><span
|
||||
class="cmr-12">), are also available. Many Linux distributions (e.g., Ubuntu,</span>
|
||||
class="cmr-12">), are also available. A number of Linux distributions (e.g., Ubuntu,</span>
|
||||
<span
|
||||
class="cmr-12">Fedora, CentOS) provide precompiled packages for the prerequisite and optional</span>
|
||||
<span
|
||||
@@ -85,7 +85,7 @@ class="cmr-12">“developer” part; in order to build AMG4PSBLAS you ne
|
||||
class="cmr-12">the base and optional software used by AMG4PSBLAS is given in the next</span>
|
||||
<span
|
||||
class="cmr-12">sections.</span>
|
||||
<!--l. 28--><p class="noindent" >
|
||||
<!--l. 30--><p class="noindent" >
|
||||
<div class="subsectionTOCS">
|
||||
<span
|
||||
class="cmr-12"> </span><span class="subsectionToc" ><span
|
||||
|
||||
+18
-18
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Getting Started</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -239,7 +239,7 @@ class="cmcsc-10x-x-109"><span
|
||||
class="small-caps">t</span><span
|
||||
class="small-caps">y</span><span
|
||||
class="small-caps">p</span><span
|
||||
class="small-caps">e</span> </span></td><td style="white-space:wrap; text-align:left;" id="TBL-1-1-2"
|
||||
class="small-caps">e</span> </span></td><td style="white-space:normal; text-align:left;" id="TBL-1-1-2"
|
||||
class="td11"><!--l. 61--><p class="noindent" ><span
|
||||
class="cmcsc-10x-x-109"><span
|
||||
class="small-caps">s</span><span
|
||||
@@ -247,7 +247,7 @@ class="small-caps">t</span><span
|
||||
class="small-caps">r</span><span
|
||||
class="small-caps">i</span><span
|
||||
class="small-caps">n</span><span
|
||||
class="small-caps">g</span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-1-1-3"
|
||||
class="small-caps">g</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-1-3"
|
||||
class="td11"><!--l. 61--><p class="noindent" ><span
|
||||
class="cmcsc-10x-x-109"><span
|
||||
class="small-caps">d</span><span
|
||||
@@ -273,21 +273,21 @@ class="small-caps">e</span><span
|
||||
class="small-caps">r</span></span> </td></tr><tr
|
||||
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-1-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-2-1"
|
||||
class="td11">No preconditioner </td><td style="white-space:wrap; text-align:left;" id="TBL-1-2-2"
|
||||
class="td11">No preconditioner </td><td style="white-space:normal; text-align:left;" id="TBL-1-2-2"
|
||||
class="td11"><!--l. 62--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’NONE’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-1-2-3"
|
||||
class="cmtt-10x-x-109">’NONE’</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-2-3"
|
||||
class="td11"><!--l. 62--><p class="noindent" >Considered to use the PSBLAS Krylov
|
||||
solvers with no preconditioner. </td>
|
||||
</tr><tr
|
||||
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-1-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-3-1"
|
||||
class="td11">Diagonal </td><td style="white-space:wrap; text-align:left;" id="TBL-1-3-2"
|
||||
class="td11">Diagonal </td><td style="white-space:normal; text-align:left;" id="TBL-1-3-2"
|
||||
class="td11"><!--l. 64--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’DIAG’</span></span></span>,
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’JACOBI’</span></span></span>,
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’L1-JACOBI’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-1-3-3"
|
||||
class="cmtt-10x-x-109">’L1-JACOBI’</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-3-3"
|
||||
class="td11"><!--l. 64--><p class="noindent" >Diagonal preconditioner. For any zero
|
||||
diagonal entry of the matrix to be
|
||||
preconditioned, the corresponding entry
|
||||
@@ -295,49 +295,49 @@ of the preconditioner is set to 1. </td>
|
||||
</tr><tr
|
||||
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-1-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-4-1"
|
||||
class="td11">Gauss-Seidel </td><td style="white-space:wrap; text-align:left;" id="TBL-1-4-2"
|
||||
class="td11">Gauss-Seidel </td><td style="white-space:normal; text-align:left;" id="TBL-1-4-2"
|
||||
class="td11"><!--l. 67--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’GS’</span></span></span>,
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’L1-GS’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-1-4-3"
|
||||
class="cmtt-10x-x-109">’L1-GS’</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-4-3"
|
||||
class="td11"><!--l. 67--><p class="noindent" >Hybrid Gauss-Seidel (forward), that is,
|
||||
global block Jacobi with Gauss-Seidel as
|
||||
local solver. </td>
|
||||
</tr><tr
|
||||
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-1-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-5-1"
|
||||
class="td11">Symmetrized Gauss-Seidel</td><td style="white-space:wrap; text-align:left;" id="TBL-1-5-2"
|
||||
class="td11">Symmetrized Gauss-Seidel</td><td style="white-space:normal; text-align:left;" id="TBL-1-5-2"
|
||||
class="td11"><!--l. 70--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’FBGS’</span></span></span>,
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’L1-FBGS’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-1-5-3"
|
||||
class="cmtt-10x-x-109">’L1-FBGS’</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-5-3"
|
||||
class="td11"><!--l. 70--><p class="noindent" >Symmetrized hybrid Gauss-Seidel, that
|
||||
is, forward Gauss-Seidel followed by
|
||||
backward Gauss-Seidel. </td>
|
||||
</tr><tr
|
||||
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-1-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-6-1"
|
||||
class="td11">Block Jacobi </td><td style="white-space:wrap; text-align:left;" id="TBL-1-6-2"
|
||||
class="td11">Block Jacobi </td><td style="white-space:normal; text-align:left;" id="TBL-1-6-2"
|
||||
class="td11"><!--l. 73--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’BJAC’</span></span></span>,
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’L1-BJAC’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-1-6-3"
|
||||
class="cmtt-10x-x-109">’L1-BJAC’</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-6-3"
|
||||
class="td11"><!--l. 73--><p class="noindent" >Block-Jacobi with ILU(0) on the local
|
||||
blocks. </td>
|
||||
</tr><tr
|
||||
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-1-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-7-1"
|
||||
class="td11">Additive Schwarz </td><td style="white-space:wrap; text-align:left;" id="TBL-1-7-2"
|
||||
class="td11">Additive Schwarz </td><td style="white-space:normal; text-align:left;" id="TBL-1-7-2"
|
||||
class="td11"><!--l. 74--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’AS’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-1-7-3"
|
||||
class="cmtt-10x-x-109">’AS’</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-7-3"
|
||||
class="td11"><!--l. 74--><p class="noindent" >Additive Schwarz (AS), with overlap 1
|
||||
and ILU(0) on the local blocks. </td>
|
||||
</tr><tr
|
||||
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-1-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-8-1"
|
||||
class="td11">Multilevel </td><td style="white-space:wrap; text-align:left;" id="TBL-1-8-2"
|
||||
class="td11">Multilevel </td><td style="white-space:normal; text-align:left;" id="TBL-1-8-2"
|
||||
class="td11"><!--l. 76--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10x-x-109">’ML’</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-1-8-3"
|
||||
class="cmtt-10x-x-109">’ML’</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-8-3"
|
||||
class="td11"><!--l. 76--><p class="noindent" >V-cycle with one hybrid
|
||||
forward Gauss-Seidel (GS) sweep as
|
||||
pre-smoother and one hybrid backward
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>User Interface</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
|
||||
+26
-28
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Adding new smoother and solver objects to AMG4PSBLAS</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -142,27 +142,27 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-21-1g"><col
|
||||
id="TBL-21-1"><col
|
||||
id="TBL-21-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-21-1-"><td style="white-space:wrap; text-align:left;" id="TBL-21-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-21-1-"><td style="white-space:normal; text-align:left;" id="TBL-21-1-1"
|
||||
class="td11"><!--l. 58--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">smoother</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-1-2"
|
||||
class="cmtt-12">smoother</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-21-1-2"
|
||||
class="td11"><!--l. 58--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(amg_x_base_smoother_type)</span></span></span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-21-2-"><td style="white-space:wrap; text-align:left;" id="TBL-21-2-1"
|
||||
class="td11"><!--l. 59--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-21-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-21-2-"><td style="white-space:normal; text-align:left;" id="TBL-21-2-1"
|
||||
class="td11"><!--l. 59--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-21-2-2"
|
||||
class="td11"><!--l. 59--><p class="noindent" ><span
|
||||
class="cmr-12">The user-defined new smoother to be employed in the</span>
|
||||
<span
|
||||
class="cmr-12">preconditioner.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-21-3-"><td style="white-space:wrap; text-align:left;" id="TBL-21-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-21-3-"><td style="white-space:normal; text-align:left;" id="TBL-21-3-1"
|
||||
class="td11"><!--l. 61--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">solver</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-3-2"
|
||||
class="cmtt-12">solver</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-21-3-2"
|
||||
class="td11"><!--l. 61--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(amg_x_base_solver_type)</span></span></span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-21-4-"><td style="white-space:wrap; text-align:left;" id="TBL-21-4-1"
|
||||
class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-21-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-21-4-"><td style="white-space:normal; text-align:left;" id="TBL-21-4-1"
|
||||
class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-21-4-2"
|
||||
class="td11"><!--l. 62--><p class="noindent" ><span
|
||||
class="cmr-12">The user-defined new solver to be employed in the preconditioner.</span></td></tr></table></div></div>
|
||||
<!--l. 66--><p class="noindent" ><span
|
||||
@@ -181,24 +181,22 @@ class="cmr-12">pass it as follows:</span>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-9">
|
||||
 <br />  ! sparse matrix and preconditioner
|
||||
 <br />  type(psb_dspmat_type) :: a
|
||||
 <br />  type(amg_dprec_type)  :: prec
|
||||
 <br />  type(amg_d_tlu_solver_type) :: tlusv
|
||||
 <br />
|
||||
 <br />......
|
||||
 <br />  !
|
||||
 <br />  !  prepare the preconditioner: an ML with defaults, but with TLU solver at
|
||||
 <br />  !  intermediate levels. All other parameters are at default values.
|
||||
 <br />  !
|
||||
 <br />  call prec%init(’ML’,       info)
|
||||
 <br />  call prec%hierarchy_build(a,desc_a,info)
|
||||
 <br />  nlv = prec%get_nlevs()
|
||||
 <br />  call prec%set(tlusv,   info,ilev=1,ilmax=max(1,nlv-1))
|
||||
 <br />  call prec%smoothers_build(a,desc_a,info)
|
||||
 <br />
|
||||
</div>
|
||||
<pre class="verbatim" id="verbatim-9">
|
||||
  ! sparse matrix and preconditioner
|
||||
  type(psb_dspmat_type) :: a
|
||||
  type(amg_dprec_type)  :: prec
|
||||
  type(amg_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)
|
||||
</pre>
|
||||
<!--l. 88--><p class="nopar" >
|
||||
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Error Handling</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
|
||||
+64
-76
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>License</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -36,42 +36,37 @@ class="cmr-12">AMG4PSBLAS is freely distributable under the following copyright
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-10">
|
||||
 <br />                           AMG4PSBLAS  version 1.0
|
||||
 <br />              Algebraic MultiGrid Preconditioners Package
|
||||
 <br />             based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
 <br />
|
||||
 <br />  (C) Copyright 2021
|
||||
 <br />
|
||||
 <br />  Pasqua D’Ambra         IAC-CNR, IT
|
||||
 <br />  Fabio Durastante       University of Pisa and IAC-CNR, IT
|
||||
 <br />  Salvatore Filippone    University of Rome Tor-Vergata and IAC-CNR, IT
|
||||
 <br />
|
||||
 <br />  Redistribution and use in source and binary forms, with or without
|
||||
 <br />  modification, are permitted provided that the following conditions
|
||||
 <br />  are met:
|
||||
 <br />    1. Redistributions of source code must retain the above copyright
|
||||
 <br />       notice, this list of conditions and the following disclaimer.
|
||||
 <br />    2. Redistributions in binary form must reproduce the above copyright
|
||||
 <br />       notice, this list of conditions, and the following disclaimer in the
|
||||
 <br />       documentation and/or other materials provided with the distribution.
|
||||
 <br />    3. The name of the MLD2P4 group or the names of its contributors may
|
||||
 <br />       not be used to endorse or promote products derived from this
|
||||
 <br />       software without specific written permission.
|
||||
 <br />
|
||||
 <br />  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
 <br />  ‘‘AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
 <br />  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
 <br />  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
|
||||
 <br />  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
 <br />  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
 <br />  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
 <br />  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
 <br />  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
 <br />  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
 <br />  POSSIBILITY OF SUCH DAMAGE.
|
||||
 <br />
|
||||
</div>
|
||||
<pre class="verbatim" id="verbatim-10">
|
||||
                           AMG4PSBLAS  version 1.0
|
||||
              Algebraic MultiGrid Preconditioners Package
|
||||
             based on PSBLAS (Parallel Sparse BLAS version 3.7)
|
||||
  (C) Copyright 2021
|
||||
  Pasqua D’Ambra         IAC-CNR, IT
|
||||
  Fabio Durastante       University of Pisa and IAC-CNR, IT
|
||||
  Salvatore Filippone    University of Rome Tor-Vergata and IAC-CNR, 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.
|
||||
</pre>
|
||||
<!--l. 44--><p class="nopar" >
|
||||
|
||||
|
||||
@@ -83,44 +78,37 @@ class="cmr-12">abide by its terms:</span>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-11">
|
||||
 <br />
|
||||
 <br />                           MLD2P4  version 2.2
|
||||
 <br />  MultiLevel Domain Decomposition Parallel Preconditioners Package
|
||||
 <br />             based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
 <br />
|
||||
 <br />  (C) Copyright 2008-2018
|
||||
 <br />
|
||||
 <br />      Salvatore Filippone
|
||||
 <br />      Pasqua D’Ambra
|
||||
 <br />      Daniela di Serafino
|
||||
 <br />
|
||||
 <br />
|
||||
 <br />  Redistribution and use in source and binary forms, with or without
|
||||
 <br />  modification, are permitted provided that the following conditions
|
||||
 <br />  are met:
|
||||
 <br />    1. Redistributions of source code must retain the above copyright
|
||||
 <br />       notice, this list of conditions and the following disclaimer.
|
||||
 <br />    2. Redistributions in binary form must reproduce the above copyright
|
||||
 <br />       notice, this list of conditions, and the following disclaimer in the
|
||||
 <br />       documentation and/or other materials provided with the distribution.
|
||||
 <br />    3. The name of the MLD2P4 group or the names of its contributors may
|
||||
 <br />       not be used to endorse or promote products derived from this
|
||||
 <br />       software without specific written permission.
|
||||
 <br />
|
||||
 <br />  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
 <br />  ‘‘AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
 <br />  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
 <br />  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
|
||||
 <br />  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
 <br />  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
 <br />  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
 <br />  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
 <br />  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
 <br />  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
 <br />  POSSIBILITY OF SUCH DAMAGE.
|
||||
 <br />
|
||||
</div>
|
||||
<pre class="verbatim" id="verbatim-11">
|
||||
                           MLD2P4  version 2.2
|
||||
  MultiLevel Domain Decomposition Parallel Preconditioners Package
|
||||
             based on PSBLAS (Parallel Sparse BLAS version 3.5)
|
||||
  (C) Copyright 2008-2018
|
||||
      Salvatore Filippone
|
||||
      Pasqua D’Ambra
|
||||
      Daniela di Serafino
|
||||
  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.
|
||||
</pre>
|
||||
<!--l. 87--><p class="nopar" >
|
||||
|
||||
|
||||
|
||||
+19
-19
@@ -3,14 +3,14 @@
|
||||
<html >
|
||||
<head><title>Prerequisites</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
</head><body
|
||||
>
|
||||
<!--l. 28--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 30--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu2.html" ><span
|
||||
class="cmr-12">next</span></a><span
|
||||
@@ -25,7 +25,7 @@ class="cmr-12">] </span></p></div>
|
||||
class="cmr-12">3.1 </span></span> <a
|
||||
id="x8-70003.1"></a><span
|
||||
class="cmr-12">Prerequisites</span></h4>
|
||||
<!--l. 30--><p class="noindent" ><span
|
||||
<!--l. 32--><p class="noindent" ><span
|
||||
class="cmr-12">The following base libraries are needed:</span>
|
||||
|
||||
|
||||
@@ -62,28 +62,28 @@ class="cmr-12">) are meant to define the standard behaviour of</span>
|
||||
<span
|
||||
class="cmr-12">the BLAS interface, so they are not optimized for any particular platform,</span>
|
||||
<span
|
||||
class="cmr-12">and should only be used as a last resort. Note that BLAS computations</span>
|
||||
class="cmr-12">and should only be used as a last resort. Note that BLAS computations form</span>
|
||||
<span
|
||||
class="cmr-12">form a relatively small part of the AMG4PSBLAS/PSBLAS computations;</span>
|
||||
class="cmr-12">a relatively small part of the AMG4PSBLAS/PSBLAS; however they are</span>
|
||||
<span
|
||||
class="cmr-12">they are however critical when using preconditioners based on MUMPS,</span>
|
||||
class="cmr-12">critical when using preconditioners based on the MUMPS, UMFPACK or</span>
|
||||
<span
|
||||
class="cmr-12">UMFPACK or SuperLU third party libraries. Note that UMFPACK requires</span>
|
||||
class="cmr-12">SuperLU third party libraries. UMFPACK requires a full LAPACK library;</span>
|
||||
<span
|
||||
class="cmr-12">a full LAPACK library; our experience is that configuring ATLAS for</span>
|
||||
class="cmr-12">our experience is that configuring ATLAS for building full LAPACK does</span>
|
||||
<span
|
||||
class="cmr-12">building full LAPACK does not work in the correct way. Our advice is first</span>
|
||||
class="cmr-12">not always work in the expected way. Our advice is first to download the</span>
|
||||
<span
|
||||
class="cmr-12">to download the LAPACK tarfile from </span><a
|
||||
class="cmr-12">LAPACK tarfile from </span><a
|
||||
href="http://www.netlib.org/lapack" ><span
|
||||
class="cmr-12">www.netlib.org/lapack</span></a> <span
|
||||
class="cmr-12">and install it</span>
|
||||
class="cmr-12">and install it independently of</span>
|
||||
<span
|
||||
class="cmr-12">independently of ATLAS. In this case, you need to modify the OPTS and</span>
|
||||
class="cmr-12">ATLAS. In this case, you need to modify the OPTS and NOOPT definitions</span>
|
||||
<span
|
||||
class="cmr-12">NOOPT definitions for including -fPIC compilation option in the make.inc</span>
|
||||
class="cmr-12">for including -fPIC compilation option in the make.inc file of the LAPACK</span>
|
||||
<span
|
||||
class="cmr-12">file of the LAPACK library.</span>
|
||||
class="cmr-12">library.</span>
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-12">MPI</span> </dt><dd
|
||||
@@ -118,16 +118,16 @@ class="cmr-12">psctoolkit.github.io/ products/psblas/</span></a><span
|
||||
class="cmr-12">; version 3.7.0 (or later) is required.</span>
|
||||
<span
|
||||
class="cmr-12">Indeed, all the prerequisites listed so far are also prerequisites of PSBLAS.</span></dd></dl>
|
||||
<!--l. 56--><p class="noindent" ><span
|
||||
<!--l. 58--><p class="noindent" ><span
|
||||
class="cmr-12">Please note that the four previous libraries must have Fortran interfaces compatible with</span>
|
||||
<span
|
||||
class="cmr-12">AMG4PSBLAS; usually this means that they should all be built with the same</span>
|
||||
<span
|
||||
class="cmr-12">compiler as AMG4PSBLAS.</span>
|
||||
class="cmr-12">compiler being used for AMG4PSBLAS.</span>
|
||||
|
||||
|
||||
|
||||
<!--l. 61--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 62--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu2.html" ><span
|
||||
class="cmr-12">next</span></a><span
|
||||
@@ -138,6 +138,6 @@ class="cmr-12">] [</span><a
|
||||
href="userhtmlse3.html#userhtmlsu1.html" ><span
|
||||
class="cmr-12">up</span></a><span
|
||||
class="cmr-12">] </span></p></div>
|
||||
<!--l. 61--><p class="indent" > <a
|
||||
<!--l. 62--><p class="indent" > <a
|
||||
id="tailuserhtmlsu1.html"></a>
|
||||
</body></html>
|
||||
|
||||
+27
-27
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Method smoothers_build</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -64,9 +64,9 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-12-1g"><col
|
||||
id="TBL-12-1"><col
|
||||
id="TBL-12-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:wrap; text-align:left;" id="TBL-12-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:normal; text-align:left;" id="TBL-12-1-1"
|
||||
class="td11"><!--l. 620--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">a</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-12-1-2"
|
||||
class="cmtt-12">a</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-1-2"
|
||||
class="td11"><!--l. 620--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">type(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -74,8 +74,8 @@ class="cmtt-12">spmat_type),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:wrap; text-align:left;" id="TBL-12-2-1"
|
||||
class="td11"><!--l. 621--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-12-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:normal; text-align:left;" id="TBL-12-2-1"
|
||||
class="td11"><!--l. 621--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-2-2"
|
||||
class="td11"><!--l. 621--><p class="noindent" ><span
|
||||
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
|
||||
<span
|
||||
@@ -92,16 +92,16 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-3-"><td style="white-space:wrap; text-align:left;" id="TBL-12-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-12-3-"><td style="white-space:normal; text-align:left;" id="TBL-12-3-1"
|
||||
class="td11"><!--l. 625--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-12-3-2"
|
||||
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:normal; text-align:left;" id="TBL-12-3-2"
|
||||
class="td11"><!--l. 625--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">type(psb_desc_type),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:wrap; text-align:left;" id="TBL-12-4-1"
|
||||
class="td11"><!--l. 626--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-12-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:normal; text-align:left;" id="TBL-12-4-1"
|
||||
class="td11"><!--l. 626--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-4-2"
|
||||
class="td11"><!--l. 626--><p class="noindent" ><span
|
||||
class="cmr-12">The communication descriptor of </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">a</span></span></span><span
|
||||
@@ -114,16 +114,16 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-5-"><td style="white-space:wrap; text-align:left;" id="TBL-12-5-1"
|
||||
style="vertical-align:baseline;" id="TBL-12-5-"><td style="white-space:normal; text-align:left;" id="TBL-12-5-1"
|
||||
class="td11"><!--l. 628--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-12-5-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-5-2"
|
||||
class="td11"><!--l. 628--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:wrap; text-align:left;" id="TBL-12-6-1"
|
||||
class="td11"><!--l. 629--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-12-6-2"
|
||||
style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:normal; text-align:left;" id="TBL-12-6-1"
|
||||
class="td11"><!--l. 629--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-6-2"
|
||||
class="td11"><!--l. 629--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -131,9 +131,9 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-7-"><td style="white-space:wrap; text-align:left;" id="TBL-12-7-1"
|
||||
style="vertical-align:baseline;" id="TBL-12-7-"><td style="white-space:normal; text-align:left;" id="TBL-12-7-1"
|
||||
class="td11"><!--l. 630--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">amold</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-12-7-2"
|
||||
class="cmtt-12">amold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-7-2"
|
||||
class="td11"><!--l. 630--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -142,8 +142,8 @@ class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:wrap; text-align:left;" id="TBL-12-8-1"
|
||||
class="td11"><!--l. 631--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-12-8-2"
|
||||
style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:normal; text-align:left;" id="TBL-12-8-1"
|
||||
class="td11"><!--l. 631--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-8-2"
|
||||
class="td11"><!--l. 631--><p class="noindent" ><span
|
||||
class="cmr-12">The desired dynamic type for internal matrix components; this</span>
|
||||
<span
|
||||
@@ -156,9 +156,9 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-9-"><td style="white-space:wrap; text-align:left;" id="TBL-12-9-1"
|
||||
style="vertical-align:baseline;" id="TBL-12-9-"><td style="white-space:normal; text-align:left;" id="TBL-12-9-1"
|
||||
class="td11"><!--l. 635--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">vmold</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-12-9-2"
|
||||
class="cmtt-12">vmold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-9-2"
|
||||
class="td11"><!--l. 635--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -167,30 +167,30 @@ class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-10-"><td style="white-space:wrap; text-align:left;" id="TBL-12-10-1"
|
||||
class="td11"><!--l. 636--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-12-10-2"
|
||||
style="vertical-align:baseline;" id="TBL-12-10-"><td style="white-space:normal; text-align:left;" id="TBL-12-10-1"
|
||||
class="td11"><!--l. 636--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-10-2"
|
||||
class="td11"><!--l. 636--><p class="noindent" ><span
|
||||
class="cmr-12">The desired dynamic type for internal vector components; this</span>
|
||||
<span
|
||||
class="cmr-12">allows e.g. running on GPUs.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-11-"><td style="white-space:wrap; text-align:left;" id="TBL-12-11-1"
|
||||
style="vertical-align:baseline;" id="TBL-12-11-"><td style="white-space:normal; text-align:left;" id="TBL-12-11-1"
|
||||
class="td11"><!--l. 638--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">imold</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-12-11-2"
|
||||
class="cmtt-12">imold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-11-2"
|
||||
class="td11"><!--l. 638--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(psb_i_base_vect_type),</span><span
|
||||
class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-12-"><td style="white-space:wrap; text-align:left;" id="TBL-12-12-1"
|
||||
class="td11"><!--l. 639--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-12-12-2"
|
||||
style="vertical-align:baseline;" id="TBL-12-12-"><td style="white-space:normal; text-align:left;" id="TBL-12-12-1"
|
||||
class="td11"><!--l. 639--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-12-2"
|
||||
class="td11"><!--l. 639--><p class="noindent" ><span
|
||||
class="cmr-12">The desired dynamic type for internal integer vector components;</span>
|
||||
<span
|
||||
class="cmr-12">this allows e.g. running on GPUs.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-12-13-"><td style="white-space:wrap; text-align:left;" id="TBL-12-13-1"
|
||||
style="vertical-align:baseline;" id="TBL-12-13-"><td style="white-space:normal; text-align:left;" id="TBL-12-13-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
|
||||
|
||||
|
||||
+27
-27
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Method build</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -74,9 +74,9 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-13-1g"><col
|
||||
id="TBL-13-1"><col
|
||||
id="TBL-13-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:wrap; text-align:left;" id="TBL-13-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:normal; text-align:left;" id="TBL-13-1-1"
|
||||
class="td11"><!--l. 664--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">a</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-13-1-2"
|
||||
class="cmtt-12">a</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-1-2"
|
||||
class="td11"><!--l. 664--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">type(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -84,8 +84,8 @@ class="cmtt-12">spmat_type),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-2-"><td style="white-space:wrap; text-align:left;" id="TBL-13-2-1"
|
||||
class="td11"><!--l. 665--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-13-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-13-2-"><td style="white-space:normal; text-align:left;" id="TBL-13-2-1"
|
||||
class="td11"><!--l. 665--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-2-2"
|
||||
class="td11"><!--l. 665--><p class="noindent" ><span
|
||||
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
|
||||
<span
|
||||
@@ -102,16 +102,16 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-3-"><td style="white-space:wrap; text-align:left;" id="TBL-13-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-13-3-"><td style="white-space:normal; text-align:left;" id="TBL-13-3-1"
|
||||
class="td11"><!--l. 669--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-13-3-2"
|
||||
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:normal; text-align:left;" id="TBL-13-3-2"
|
||||
class="td11"><!--l. 669--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">type(psb_desc_type),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-4-"><td style="white-space:wrap; text-align:left;" id="TBL-13-4-1"
|
||||
class="td11"><!--l. 670--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-13-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-13-4-"><td style="white-space:normal; text-align:left;" id="TBL-13-4-1"
|
||||
class="td11"><!--l. 670--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-4-2"
|
||||
class="td11"><!--l. 670--><p class="noindent" ><span
|
||||
class="cmr-12">The communication descriptor of </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">a</span></span></span><span
|
||||
@@ -124,16 +124,16 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-5-"><td style="white-space:wrap; text-align:left;" id="TBL-13-5-1"
|
||||
style="vertical-align:baseline;" id="TBL-13-5-"><td style="white-space:normal; text-align:left;" id="TBL-13-5-1"
|
||||
class="td11"><!--l. 672--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-13-5-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-5-2"
|
||||
class="td11"><!--l. 672--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-6-"><td style="white-space:wrap; text-align:left;" id="TBL-13-6-1"
|
||||
class="td11"><!--l. 673--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-13-6-2"
|
||||
style="vertical-align:baseline;" id="TBL-13-6-"><td style="white-space:normal; text-align:left;" id="TBL-13-6-1"
|
||||
class="td11"><!--l. 673--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-6-2"
|
||||
class="td11"><!--l. 673--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -141,9 +141,9 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-7-"><td style="white-space:wrap; text-align:left;" id="TBL-13-7-1"
|
||||
style="vertical-align:baseline;" id="TBL-13-7-"><td style="white-space:normal; text-align:left;" id="TBL-13-7-1"
|
||||
class="td11"><!--l. 674--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">amold</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-13-7-2"
|
||||
class="cmtt-12">amold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-7-2"
|
||||
class="td11"><!--l. 674--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -152,8 +152,8 @@ class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-8-"><td style="white-space:wrap; text-align:left;" id="TBL-13-8-1"
|
||||
class="td11"><!--l. 675--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-13-8-2"
|
||||
style="vertical-align:baseline;" id="TBL-13-8-"><td style="white-space:normal; text-align:left;" id="TBL-13-8-1"
|
||||
class="td11"><!--l. 675--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-8-2"
|
||||
class="td11"><!--l. 675--><p class="noindent" ><span
|
||||
class="cmr-12">The desired dynamic type for internal matrix components; this</span>
|
||||
<span
|
||||
@@ -166,9 +166,9 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-9-"><td style="white-space:wrap; text-align:left;" id="TBL-13-9-1"
|
||||
style="vertical-align:baseline;" id="TBL-13-9-"><td style="white-space:normal; text-align:left;" id="TBL-13-9-1"
|
||||
class="td11"><!--l. 679--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">vmold</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-13-9-2"
|
||||
class="cmtt-12">vmold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-9-2"
|
||||
class="td11"><!--l. 679--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -177,30 +177,30 @@ class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-10-"><td style="white-space:wrap; text-align:left;" id="TBL-13-10-1"
|
||||
class="td11"><!--l. 680--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-13-10-2"
|
||||
style="vertical-align:baseline;" id="TBL-13-10-"><td style="white-space:normal; text-align:left;" id="TBL-13-10-1"
|
||||
class="td11"><!--l. 680--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-10-2"
|
||||
class="td11"><!--l. 680--><p class="noindent" ><span
|
||||
class="cmr-12">The desired dynamic type for internal vector components; this</span>
|
||||
<span
|
||||
class="cmr-12">allows e.g. running on GPUs.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-11-"><td style="white-space:wrap; text-align:left;" id="TBL-13-11-1"
|
||||
style="vertical-align:baseline;" id="TBL-13-11-"><td style="white-space:normal; text-align:left;" id="TBL-13-11-1"
|
||||
class="td11"><!--l. 682--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">imold</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-13-11-2"
|
||||
class="cmtt-12">imold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-11-2"
|
||||
class="td11"><!--l. 682--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(psb_i_base_vect_type),</span><span
|
||||
class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:wrap; text-align:left;" id="TBL-13-12-1"
|
||||
class="td11"><!--l. 683--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-13-12-2"
|
||||
style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:normal; text-align:left;" id="TBL-13-12-1"
|
||||
class="td11"><!--l. 683--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-12-2"
|
||||
class="td11"><!--l. 683--><p class="noindent" ><span
|
||||
class="cmr-12">The desired dynamic type for internal integer vector components;</span>
|
||||
<span
|
||||
class="cmr-12">this allows e.g. running on GPUs.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-13-13-"><td style="white-space:wrap; text-align:left;" id="TBL-13-13-1"
|
||||
style="vertical-align:baseline;" id="TBL-13-13-"><td style="white-space:normal; text-align:left;" id="TBL-13-13-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
<!--l. 688--><p class="noindent" ><span
|
||||
class="cmr-12">The method can be used to build multilevel preconditioners too.</span>
|
||||
|
||||
+27
-27
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Method apply</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -78,9 +78,9 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-14-1g"><col
|
||||
id="TBL-14-1"><col
|
||||
id="TBL-14-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:wrap; text-align:left;" id="TBL-14-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:normal; text-align:left;" id="TBL-14-1-1"
|
||||
class="td11"><!--l. 711--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">x</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-14-1-2"
|
||||
class="cmtt-12">x</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-1-2"
|
||||
class="td11"><!--l. 711--><p class="noindent" ><span
|
||||
class="cmti-12">type</span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">(</span></span></span><span
|
||||
@@ -91,8 +91,8 @@ class="cmtt-12"> dimension(:),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:wrap; text-align:left;" id="TBL-14-2-1"
|
||||
class="td11"><!--l. 712--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-14-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:normal; text-align:left;" id="TBL-14-2-1"
|
||||
class="td11"><!--l. 712--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-2-2"
|
||||
class="td11"><!--l. 712--><p class="noindent" ><span
|
||||
class="cmr-12">The local part of the vector </span><span
|
||||
class="cmmi-12">x</span><span
|
||||
@@ -106,9 +106,9 @@ class="cmr-12">must be chosen according to the real/complex, single/doubl
|
||||
<span
|
||||
class="cmr-12">precision version of AMG4PSBLAS under use.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-3-"><td style="white-space:wrap; text-align:left;" id="TBL-14-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-14-3-"><td style="white-space:normal; text-align:left;" id="TBL-14-3-1"
|
||||
class="td11"><!--l. 715--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">y</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-14-3-2"
|
||||
class="cmtt-12">y</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-3-2"
|
||||
class="td11"><!--l. 715--><p class="noindent" ><span
|
||||
class="cmti-12">type</span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">(</span></span></span><span
|
||||
@@ -119,8 +119,8 @@ class="cmtt-12"> dimension(:),</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-4-"><td style="white-space:wrap; text-align:left;" id="TBL-14-4-1"
|
||||
class="td11"><!--l. 716--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-14-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-14-4-"><td style="white-space:normal; text-align:left;" id="TBL-14-4-1"
|
||||
class="td11"><!--l. 716--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-4-2"
|
||||
class="td11"><!--l. 716--><p class="noindent" ><span
|
||||
class="cmr-12">The local part of the vector </span><span
|
||||
class="cmmi-12">y</span><span
|
||||
@@ -134,31 +134,31 @@ class="cmr-12">must be chosen according to the real/complex, single/doubl
|
||||
<span
|
||||
class="cmr-12">precision version of AMG4PSBLAS under use.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-5-"><td style="white-space:wrap; text-align:left;" id="TBL-14-5-1"
|
||||
style="vertical-align:baseline;" id="TBL-14-5-"><td style="white-space:normal; text-align:left;" id="TBL-14-5-1"
|
||||
class="td11"><!--l. 719--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-14-5-2"
|
||||
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:normal; text-align:left;" id="TBL-14-5-2"
|
||||
class="td11"><!--l. 719--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">type(psb_desc_type),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-6-"><td style="white-space:wrap; text-align:left;" id="TBL-14-6-1"
|
||||
class="td11"><!--l. 720--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-14-6-2"
|
||||
style="vertical-align:baseline;" id="TBL-14-6-"><td style="white-space:normal; text-align:left;" id="TBL-14-6-1"
|
||||
class="td11"><!--l. 720--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-6-2"
|
||||
class="td11"><!--l. 720--><p class="noindent" ><span
|
||||
class="cmr-12">The communication descriptor associated to the matrix to be</span>
|
||||
<span
|
||||
class="cmr-12">preconditioned.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-7-"><td style="white-space:wrap; text-align:left;" id="TBL-14-7-1"
|
||||
style="vertical-align:baseline;" id="TBL-14-7-"><td style="white-space:normal; text-align:left;" id="TBL-14-7-1"
|
||||
class="td11"><!--l. 722--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-14-7-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-7-2"
|
||||
class="td11"><!--l. 722--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-8-"><td style="white-space:wrap; text-align:left;" id="TBL-14-8-1"
|
||||
class="td11"><!--l. 723--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-14-8-2"
|
||||
style="vertical-align:baseline;" id="TBL-14-8-"><td style="white-space:normal; text-align:left;" id="TBL-14-8-1"
|
||||
class="td11"><!--l. 723--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-8-2"
|
||||
class="td11"><!--l. 723--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -166,16 +166,16 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-9-"><td style="white-space:wrap; text-align:left;" id="TBL-14-9-1"
|
||||
style="vertical-align:baseline;" id="TBL-14-9-"><td style="white-space:normal; text-align:left;" id="TBL-14-9-1"
|
||||
class="td11"><!--l. 724--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">trans</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-14-9-2"
|
||||
class="cmtt-12">trans</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-9-2"
|
||||
class="td11"><!--l. 724--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">character(len=1),</span><span
|
||||
class="cmtt-12"> optional,</span><span
|
||||
class="cmtt-12"> intent(in).</span></span></span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-10-"><td style="white-space:wrap; text-align:left;" id="TBL-14-10-1"
|
||||
class="td11"><!--l. 725--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-14-10-2"
|
||||
style="vertical-align:baseline;" id="TBL-14-10-"><td style="white-space:normal; text-align:left;" id="TBL-14-10-1"
|
||||
class="td11"><!--l. 725--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-10-2"
|
||||
class="td11"><!--l. 725--><p class="noindent" ><span
|
||||
class="cmr-12">If </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">trans</span></span></span> <span
|
||||
@@ -231,9 +231,9 @@ class="cmsy-8">-</span><span
|
||||
class="cmr-8">1</span></sup><span
|
||||
class="cmr-12">).</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-11-"><td style="white-space:wrap; text-align:left;" id="TBL-14-11-1"
|
||||
style="vertical-align:baseline;" id="TBL-14-11-"><td style="white-space:normal; text-align:left;" id="TBL-14-11-1"
|
||||
class="td11"><!--l. 729--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">work</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-14-11-2"
|
||||
class="cmtt-12">work</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-11-2"
|
||||
class="td11"><!--l. 729--><p class="noindent" ><span
|
||||
class="cmti-12">type</span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">(</span></span></span><span
|
||||
@@ -245,8 +245,8 @@ class="cmtt-12"> optional,</span><span
|
||||
class="cmtt-12"> target</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-12-"><td style="white-space:wrap; text-align:left;" id="TBL-14-12-1"
|
||||
class="td11"><!--l. 730--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-14-12-2"
|
||||
style="vertical-align:baseline;" id="TBL-14-12-"><td style="white-space:normal; text-align:left;" id="TBL-14-12-1"
|
||||
class="td11"><!--l. 730--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-12-2"
|
||||
class="td11"><!--l. 730--><p class="noindent" ><span
|
||||
class="cmr-12">Workspace. Its size should be at least </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">4</span><span
|
||||
@@ -264,7 +264,7 @@ class="cmr-12">must be chosen according to the real/complex,</span>
|
||||
<span
|
||||
class="cmr-12">single/double precision version of AMG4PSBLAS under use.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-14-13-"><td style="white-space:wrap; text-align:left;" id="TBL-14-13-1"
|
||||
style="vertical-align:baseline;" id="TBL-14-13-"><td style="white-space:normal; text-align:left;" id="TBL-14-13-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Method free</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -49,16 +49,16 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-15-1g"><col
|
||||
id="TBL-15-1"><col
|
||||
id="TBL-15-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:wrap; text-align:left;" id="TBL-15-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:normal; text-align:left;" id="TBL-15-1-1"
|
||||
class="td11"><!--l. 751--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-15-1-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-1-2"
|
||||
class="td11"><!--l. 751--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:wrap; text-align:left;" id="TBL-15-2-1"
|
||||
class="td11"><!--l. 752--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-15-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:normal; text-align:left;" id="TBL-15-2-1"
|
||||
class="td11"><!--l. 752--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-2-2"
|
||||
class="td11"><!--l. 752--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -68,7 +68,7 @@ class="cmr-12">for</span>
|
||||
<span
|
||||
class="cmr-12">details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-15-3-"><td style="white-space:wrap; text-align:left;" id="TBL-15-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-15-3-"><td style="white-space:normal; text-align:left;" id="TBL-15-3-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
|
||||
|
||||
|
||||
+11
-11
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Method descr</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -60,16 +60,16 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-16-1g"><col
|
||||
id="TBL-16-1"><col
|
||||
id="TBL-16-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:wrap; text-align:left;" id="TBL-16-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:normal; text-align:left;" id="TBL-16-1-1"
|
||||
class="td11"><!--l. 772--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-16-1-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-1-2"
|
||||
class="td11"><!--l. 772--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:wrap; text-align:left;" id="TBL-16-2-1"
|
||||
class="td11"><!--l. 773--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-16-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:normal; text-align:left;" id="TBL-16-2-1"
|
||||
class="td11"><!--l. 773--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-2-2"
|
||||
class="td11"><!--l. 773--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -77,23 +77,23 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-16-3-"><td style="white-space:wrap; text-align:left;" id="TBL-16-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-16-3-"><td style="white-space:normal; text-align:left;" id="TBL-16-3-1"
|
||||
class="td11"><!--l. 774--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">iout</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-16-3-2"
|
||||
class="cmtt-12">iout</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-3-2"
|
||||
class="td11"><!--l. 774--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-16-4-"><td style="white-space:wrap; text-align:left;" id="TBL-16-4-1"
|
||||
class="td11"><!--l. 775--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-16-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-16-4-"><td style="white-space:normal; text-align:left;" id="TBL-16-4-1"
|
||||
class="td11"><!--l. 775--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-4-2"
|
||||
class="td11"><!--l. 775--><p class="noindent" ><span
|
||||
class="cmr-12">The id of the file where the preconditioner description will be</span>
|
||||
<span
|
||||
class="cmr-12">printed; the default is the standard output.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-16-5-"><td style="white-space:wrap; text-align:left;" id="TBL-16-5-1"
|
||||
style="vertical-align:baseline;" id="TBL-16-5-"><td style="white-space:normal; text-align:left;" id="TBL-16-5-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
|
||||
|
||||
|
||||
+34
-34
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Auxiliary Methods</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -53,16 +53,16 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-17-1g"><col
|
||||
id="TBL-17-1"><col
|
||||
id="TBL-17-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:wrap; text-align:left;" id="TBL-17-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:normal; text-align:left;" id="TBL-17-1-1"
|
||||
class="td11"><!--l. 796--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-17-1-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-17-1-2"
|
||||
class="td11"><!--l. 796--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-17-2-"><td style="white-space:wrap; text-align:left;" id="TBL-17-2-1"
|
||||
class="td11"><!--l. 797--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-17-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-17-2-"><td style="white-space:normal; text-align:left;" id="TBL-17-2-1"
|
||||
class="td11"><!--l. 797--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-2-2"
|
||||
class="td11"><!--l. 797--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -70,9 +70,9 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-17-3-"><td style="white-space:wrap; text-align:left;" id="TBL-17-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-17-3-"><td style="white-space:normal; text-align:left;" id="TBL-17-3-1"
|
||||
class="td11"><!--l. 798--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">amold</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-17-3-2"
|
||||
class="cmtt-12">amold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-17-3-2"
|
||||
class="td11"><!--l. 798--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -81,8 +81,8 @@ class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-17-4-"><td style="white-space:wrap; text-align:left;" id="TBL-17-4-1"
|
||||
class="td11"><!--l. 799--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-17-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-17-4-"><td style="white-space:normal; text-align:left;" id="TBL-17-4-1"
|
||||
class="td11"><!--l. 799--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-4-2"
|
||||
class="td11"><!--l. 799--><p class="noindent" ><span
|
||||
class="cmr-12">The desired dynamic type for internal matrix components; this</span>
|
||||
<span
|
||||
@@ -95,7 +95,7 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-17-5-"><td style="white-space:wrap; text-align:left;" id="TBL-17-5-1"
|
||||
style="vertical-align:baseline;" id="TBL-17-5-"><td style="white-space:normal; text-align:left;" id="TBL-17-5-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
<!--l. 806--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark"><span
|
||||
@@ -121,9 +121,9 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-18-1g"><col
|
||||
id="TBL-18-1"><col
|
||||
id="TBL-18-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-18-1-"><td style="white-space:wrap; text-align:left;" id="TBL-18-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-18-1-"><td style="white-space:normal; text-align:left;" id="TBL-18-1-1"
|
||||
class="td11"><!--l. 818--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">pout</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-18-1-2"
|
||||
class="cmtt-12">pout</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-18-1-2"
|
||||
class="td11"><!--l. 818--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">type(amg_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -131,8 +131,8 @@ class="cmtt-12">prec_type),</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-18-2-"><td style="white-space:wrap; text-align:left;" id="TBL-18-2-1"
|
||||
class="td11"><!--l. 819--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-18-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-18-2-"><td style="white-space:normal; text-align:left;" id="TBL-18-2-1"
|
||||
class="td11"><!--l. 819--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-2-2"
|
||||
class="td11"><!--l. 819--><p class="noindent" ><span
|
||||
class="cmr-12">The copy of the preconditioner data structure. Note that </span><span
|
||||
class="cmti-12">x </span><span
|
||||
@@ -142,16 +142,16 @@ class="cmr-12">be chosen according to the real/complex, single/double precision<
|
||||
<span
|
||||
class="cmr-12">version of AMG4PSBLAS under use.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-18-3-"><td style="white-space:wrap; text-align:left;" id="TBL-18-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-18-3-"><td style="white-space:normal; text-align:left;" id="TBL-18-3-1"
|
||||
class="td11"><!--l. 822--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-18-3-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-18-3-2"
|
||||
class="td11"><!--l. 822--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-18-4-"><td style="white-space:wrap; text-align:left;" id="TBL-18-4-1"
|
||||
class="td11"><!--l. 823--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-18-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-18-4-"><td style="white-space:normal; text-align:left;" id="TBL-18-4-1"
|
||||
class="td11"><!--l. 823--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-4-2"
|
||||
class="td11"><!--l. 823--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -159,7 +159,7 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-18-5-"><td style="white-space:wrap; text-align:left;" id="TBL-18-5-1"
|
||||
style="vertical-align:baseline;" id="TBL-18-5-"><td style="white-space:normal; text-align:left;" id="TBL-18-5-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
<!--l. 828--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark"><span
|
||||
@@ -230,16 +230,16 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-19-1g"><col
|
||||
id="TBL-19-1"><col
|
||||
id="TBL-19-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-19-1-"><td style="white-space:wrap; text-align:left;" id="TBL-19-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-19-1-"><td style="white-space:normal; text-align:left;" id="TBL-19-1-1"
|
||||
class="td11"><!--l. 862--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-1-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-19-1-2"
|
||||
class="td11"><!--l. 862--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-19-2-"><td style="white-space:wrap; text-align:left;" id="TBL-19-2-1"
|
||||
class="td11"><!--l. 863--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-19-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-19-2-"><td style="white-space:normal; text-align:left;" id="TBL-19-2-1"
|
||||
class="td11"><!--l. 863--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-19-2-2"
|
||||
class="td11"><!--l. 863--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -247,9 +247,9 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-19-3-"><td style="white-space:wrap; text-align:left;" id="TBL-19-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-19-3-"><td style="white-space:normal; text-align:left;" id="TBL-19-3-1"
|
||||
class="td11"><!--l. 864--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">vmold</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-3-2"
|
||||
class="cmtt-12">vmold</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-19-3-2"
|
||||
class="td11"><!--l. 864--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">class(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -258,14 +258,14 @@ class="cmtt-12"> intent(in),</span><span
|
||||
class="cmtt-12"> optional</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-19-4-"><td style="white-space:wrap; text-align:left;" id="TBL-19-4-1"
|
||||
class="td11"><!--l. 865--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-19-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-19-4-"><td style="white-space:normal; text-align:left;" id="TBL-19-4-1"
|
||||
class="td11"><!--l. 865--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-19-4-2"
|
||||
class="td11"><!--l. 865--><p class="noindent" ><span
|
||||
class="cmr-12">The desired dynamic type for internal vector components; this</span>
|
||||
<span
|
||||
class="cmr-12">allows e.g. running on GPUs.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-19-5-"><td style="white-space:wrap; text-align:left;" id="TBL-19-5-1"
|
||||
style="vertical-align:baseline;" id="TBL-19-5-"><td style="white-space:normal; text-align:left;" id="TBL-19-5-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
<!--l. 871--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark"><span
|
||||
@@ -289,16 +289,16 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-20-1g"><col
|
||||
id="TBL-20-1"><col
|
||||
id="TBL-20-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:wrap; text-align:left;" id="TBL-20-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:normal; text-align:left;" id="TBL-20-1-1"
|
||||
class="td11"><!--l. 883--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-1-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-20-1-2"
|
||||
class="td11"><!--l. 883--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-20-2-"><td style="white-space:wrap; text-align:left;" id="TBL-20-2-1"
|
||||
class="td11"><!--l. 884--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-20-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-20-2-"><td style="white-space:normal; text-align:left;" id="TBL-20-2-1"
|
||||
class="td11"><!--l. 884--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-20-2-2"
|
||||
class="td11"><!--l. 884--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -306,7 +306,7 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-20-3-"><td style="white-space:wrap; text-align:left;" id="TBL-20-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-20-3-"><td style="white-space:normal; text-align:left;" id="TBL-20-3-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
|
||||
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<html >
|
||||
<head><title>Optional third party libraries</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
</head><body
|
||||
>
|
||||
<!--l. 61--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 62--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu3.html" ><span
|
||||
class="cmr-12">next</span></a><span
|
||||
@@ -31,13 +31,13 @@ class="cmr-12">] </span></p></div>
|
||||
class="cmr-12">3.2 </span></span> <a
|
||||
id="x9-80003.2"></a><span
|
||||
class="cmr-12">Optional third party libraries</span></h4>
|
||||
<!--l. 63--><p class="noindent" ><span
|
||||
<!--l. 64--><p class="noindent" ><span
|
||||
class="cmr-12">We provide interfaces to the following third-party software libraries; note that these are</span>
|
||||
<span
|
||||
class="cmr-12">optional, but if you enable them some defaults for multilevel preconditioners may</span>
|
||||
<span
|
||||
class="cmr-12">change to reflect their presence.</span>
|
||||
<!--l. 67--><p class="indent" >
|
||||
<!--l. 68--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-12">UMFPACK</span> </dt><dd
|
||||
@@ -133,7 +133,7 @@ class="cmr-12">.</span></dd></dl>
|
||||
|
||||
|
||||
|
||||
<!--l. 98--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 99--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu3.html" ><span
|
||||
class="cmr-12">next</span></a><span
|
||||
@@ -150,6 +150,6 @@ class="cmr-12">] [</span><a
|
||||
href="userhtmlse3.html#userhtmlsu2.html" ><span
|
||||
class="cmr-12">up</span></a><span
|
||||
class="cmr-12">] </span></p></div>
|
||||
<!--l. 98--><p class="indent" > <a
|
||||
<!--l. 99--><p class="indent" > <a
|
||||
id="tailuserhtmlsu2.html"></a>
|
||||
</body></html>
|
||||
|
||||
+27
-26
@@ -3,14 +3,14 @@
|
||||
<html >
|
||||
<head><title>Configuration options</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
</head><body
|
||||
>
|
||||
<!--l. 98--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 99--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu4.html" ><span
|
||||
class="cmr-12">next</span></a><span
|
||||
@@ -31,23 +31,23 @@ class="cmr-12">] </span></p></div>
|
||||
class="cmr-12">3.3 </span></span> <a
|
||||
id="x10-90003.3"></a><span
|
||||
class="cmr-12">Configuration options</span></h4>
|
||||
<!--l. 100--><p class="noindent" ><span
|
||||
<!--l. 101--><p class="noindent" ><span
|
||||
class="cmr-12">In order to build AMG4PSBLAS, the first step is to use the </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">configure</span></span></span> <span
|
||||
class="cmr-12">script in the</span>
|
||||
<span
|
||||
class="cmr-12">main directory to generate the necessary makefile.</span>
|
||||
<!--l. 105--><p class="indent" > <span
|
||||
<!--l. 106--><p class="indent" > <span
|
||||
class="cmbx-12">DA RISCRIVERE</span>
|
||||
<!--l. 107--><p class="indent" > <span
|
||||
<!--l. 108--><p class="indent" > <span
|
||||
class="cmr-12">As a minimal example consider the following:</span>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-1">
|
||||
<pre class="verbatim" id="verbatim-1">
|
||||
./configure --with-psblas=PSB-INSTALL-DIR
|
||||
</div>
|
||||
<!--l. 110--><p class="nopar" > <span
|
||||
</pre>
|
||||
<!--l. 111--><p class="nopar" > <span
|
||||
class="cmr-12">which assumes that the various MPI compilers and support libraries are available in</span>
|
||||
<span
|
||||
class="cmr-12">the standard directories on the system, and specifies only the PSBLAS install directory</span>
|
||||
@@ -61,7 +61,7 @@ class="cmtt-12">./configure</span><span
|
||||
class="cmtt-12"> --help</span></span></span><span
|
||||
class="cmr-12">, which</span>
|
||||
<span
|
||||
class="cmr-12">produces: </span><!--l. 120--><div class="lstinputlisting">
|
||||
class="cmr-12">produces: </span><!--l. 121--><div class="lstinputlisting">
|
||||
<a
|
||||
id="x10-9001"></a>
|
||||
<span
|
||||
@@ -687,7 +687,8 @@ class="cmtt-12"> </span><span
|
||||
class="cmtt-12">‘--</span><span
|
||||
class="cmtt-12">prefix</span><span
|
||||
class="cmtt-12">=</span><span
|
||||
class="cmtt-12">$HOME</span><span
|
||||
class="tctt-1200">$</span><span
|
||||
class="cmtt-12">HOME</span><span
|
||||
class="cmtt-12">’.</span><span
|
||||
class="cmtt-12"> </span><br /><span class="label"><a
|
||||
id="x10-9032r31"></a></span><span
|
||||
@@ -4237,7 +4238,7 @@ class="cmtt-12">issues</span><span
|
||||
class="cmtt-12">>.</span>
|
||||
|
||||
</div>
|
||||
<!--l. 122--><p class="noindent" ><span
|
||||
<!--l. 123--><p class="noindent" ><span
|
||||
class="cmr-12">For instance, if a user has built and installed PSBLAS 3.7 under the </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">/opt</span></span></span> <span
|
||||
class="cmr-12">directory and is</span>
|
||||
@@ -4248,11 +4249,11 @@ class="cmr-12">might be configured with:</span>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-2">
|
||||
<pre class="verbatim" id="verbatim-2">
|
||||
./configure --with-psblas=/opt/psblas-3.5/ \
|
||||
 <br />--with-umfpackincdir=/usr/include/suitesparse/
|
||||
</div>
|
||||
<!--l. 134--><p class="nopar" > <span
|
||||
--with-umfpackincdir=/usr/include/suitesparse/
|
||||
</pre>
|
||||
<!--l. 135--><p class="nopar" > <span
|
||||
class="cmr-12">Once the configure script has completed execution, it will have generated the file</span>
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">Make.inc</span></span></span> <span
|
||||
@@ -4261,7 +4262,7 @@ class="cmr-12">which will then be used by all Makefiles in the directory tree; t
|
||||
class="cmr-12">copied in the install directory under the name </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">Make.inc.AMG4PSBLAS</span></span></span><span
|
||||
class="cmr-12">.</span>
|
||||
<!--l. 141--><p class="indent" > <span
|
||||
<!--l. 142--><p class="indent" > <span
|
||||
class="cmr-12">To use the MUMPS solver package, the user has to add the appropriate options to</span>
|
||||
<span
|
||||
class="cmr-12">the configure script; by default we are looking for the libraries </span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -4281,27 +4282,27 @@ class="cmtt-12">--with-extra-libs</span></span></span> <span
|
||||
class="cmr-12">configure</span>
|
||||
<span
|
||||
class="cmr-12">option.</span>
|
||||
<!--l. 149--><p class="indent" > <span
|
||||
<!--l. 150--><p class="indent" > <span
|
||||
class="cmr-12">To build the library the user will now enter</span>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-3">
|
||||
<pre class="verbatim" id="verbatim-3">
|
||||
make
|
||||
</div>
|
||||
<!--l. 157--><p class="nopar" > <span
|
||||
</pre>
|
||||
<!--l. 158--><p class="nopar" > <span
|
||||
class="cmr-12">followed (optionally) by</span>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-4">
|
||||
<pre class="verbatim" id="verbatim-4">
|
||||
make install
|
||||
</div>
|
||||
<!--l. 167--><p class="nopar" >
|
||||
</pre>
|
||||
<!--l. 168--><p class="nopar" >
|
||||
|
||||
|
||||
|
||||
<!--l. 169--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 170--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu4.html" ><span
|
||||
class="cmr-12">next</span></a><span
|
||||
@@ -4318,6 +4319,6 @@ class="cmr-12">] [</span><a
|
||||
href="userhtmlse3.html#userhtmlsu3.html" ><span
|
||||
class="cmr-12">up</span></a><span
|
||||
class="cmr-12">] </span></p></div>
|
||||
<!--l. 169--><p class="indent" > <a
|
||||
<!--l. 170--><p class="indent" > <a
|
||||
id="tailuserhtmlsu3.html"></a>
|
||||
</body></html>
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<html >
|
||||
<head><title>Bug reporting</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
</head><body
|
||||
>
|
||||
<!--l. 169--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 170--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu5.html" ><span
|
||||
class="cmr-12">next</span></a><span
|
||||
@@ -31,7 +31,7 @@ class="cmr-12">] </span></p></div>
|
||||
class="cmr-12">3.4 </span></span> <a
|
||||
id="x11-100003.4"></a><span
|
||||
class="cmr-12">Bug reporting</span></h4>
|
||||
<!--l. 170--><p class="noindent" ><span
|
||||
<!--l. 171--><p class="noindent" ><span
|
||||
class="cmr-12">If you find any bugs in our codes, please report them through our issues page</span>
|
||||
<span
|
||||
class="cmr-12">on</span><br
|
||||
@@ -39,7 +39,7 @@ class="newline" /> <a
|
||||
href="https://github.com/psctoolkit/amg4psblas/issues" class="url" ><span
|
||||
class="cmtt-12">https://github.com/psctoolkit/amg4psblas/issues</span></a><br
|
||||
class="newline" />
|
||||
<!--l. 174--><p class="indent" > <span
|
||||
<!--l. 175--><p class="indent" > <span
|
||||
class="cmr-12">To enable us to track the bug, please provide a log from the failing application, the</span>
|
||||
<span
|
||||
class="cmr-12">test conditions, and ideally a self-contained test program reproducing the</span>
|
||||
@@ -48,7 +48,7 @@ class="cmr-12">issue.</span>
|
||||
|
||||
|
||||
|
||||
<!--l. 178--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 179--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu5.html" ><span
|
||||
class="cmr-12">next</span></a><span
|
||||
@@ -65,6 +65,6 @@ class="cmr-12">] [</span><a
|
||||
href="userhtmlse3.html#userhtmlsu4.html" ><span
|
||||
class="cmr-12">up</span></a><span
|
||||
class="cmr-12">] </span></p></div>
|
||||
<!--l. 178--><p class="indent" > <a
|
||||
<!--l. 179--><p class="indent" > <a
|
||||
id="tailuserhtmlsu4.html"></a>
|
||||
</body></html>
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
<html >
|
||||
<head><title>Example and test programs</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
</head><body
|
||||
>
|
||||
<!--l. 178--><div class="crosslinks"><p class="noindent"><span
|
||||
<!--l. 179--><div class="crosslinks"><p class="noindent"><span
|
||||
class="cmr-12">[</span><a
|
||||
href="userhtmlsu4.html" ><span
|
||||
class="cmr-12">prev</span></a><span
|
||||
@@ -28,7 +28,7 @@ class="cmr-12">] </span></p></div>
|
||||
class="cmr-12">3.5 </span></span> <a
|
||||
id="x12-110003.5"></a><span
|
||||
class="cmr-12">Example and test programs</span></h4>
|
||||
<!--l. 179--><p class="noindent" ><span
|
||||
<!--l. 180--><p class="noindent" ><span
|
||||
class="cmr-12">The package contains the </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">examples</span></span></span> <span
|
||||
class="cmr-12">and </span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -64,7 +64,7 @@ class="cmtt-12">runs</span></span></span> <span
|
||||
class="cmr-12">subdirectories, to experiment with the full range</span>
|
||||
<span
|
||||
class="cmr-12">of preconditioners implemented in the package.</span></dd></dl>
|
||||
<!--l. 192--><p class="noindent" ><span
|
||||
<!--l. 193--><p class="noindent" ><span
|
||||
class="cmr-12">The </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">fileread</span></span></span> <span
|
||||
class="cmr-12">directories contain sample programs that read sparse matrices from files,</span>
|
||||
|
||||
+89
-90
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Examples</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -124,59 +124,58 @@ class="cmr-12">.</span>
|
||||
|
||||
|
||||
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-5">
|
||||
<div class="minipage"><pre class="verbatim" id="verbatim-5">
|
||||
  use psb_base_mod
|
||||
 <br />  use amg_prec_mod
|
||||
 <br />  use psb_krylov_mod
|
||||
 <br />... ...
|
||||
 <br />!
|
||||
 <br />! sparse matrix
|
||||
 <br />  type(psb_dspmat_type) :: A
|
||||
 <br />! sparse matrix descriptor
|
||||
 <br />  type(psb_desc_type)   :: desc_A
|
||||
 <br />! preconditioner
|
||||
 <br />  type(amg_dprec_type)  :: P
|
||||
 <br />! right-hand side and solution vectors
|
||||
 <br />  type(psb_d_vect_type) :: b, x
|
||||
 <br />... ...
|
||||
 <br />!
|
||||
 <br />! initialize the parallel environment
|
||||
 <br />  call psb_init(ictxt)
|
||||
 <br />  call psb_info(ictxt,iam,np)
|
||||
 <br />... ...
|
||||
 <br />!
|
||||
 <br />! read and assemble the spd matrix A and the right-hand side b
|
||||
 <br />! using PSBLAS routines for sparse matrix / vector management
|
||||
 <br />... ...
|
||||
 <br />!
|
||||
 <br />! initialize the default multilevel preconditioner, i.e. V-cycle
|
||||
 <br />! with basic smoothed aggregation, 1 hybrid forward/backward
|
||||
 <br />! GS sweep as pre/post-smoother and UMFPACK as coarsest-level
|
||||
 <br />! solver
|
||||
 <br />  call P%init(’ML’,info)
|
||||
 <br />!
|
||||
 <br />! build the preconditioner
|
||||
 <br />  call P%hierarchy_build(A,desc_A,info)
|
||||
 <br />  call P%smoothers_build(A,desc_A,info)
|
||||
 <br />
|
||||
 <br />!
|
||||
 <br />! set the solver parameters and the initial guess
|
||||
 <br />  ... ...
|
||||
 <br />!
|
||||
 <br />! solve Ax=b with preconditioned CG
|
||||
 <br />  call psb_krylov(’CG’,A,P,b,x,tol,desc_A,info)
|
||||
 <br />  ... ...
|
||||
 <br />!
|
||||
 <br />! deallocate the preconditioner
|
||||
 <br />  call P%free(info)
|
||||
 <br />!
|
||||
 <br />! deallocate other data structures
|
||||
 <br />  ... ...
|
||||
 <br />!
|
||||
 <br />! exit the parallel environment
|
||||
 <br />  call psb_exit(ictxt)
|
||||
 <br />  stop
|
||||
</div>
|
||||
  use amg_prec_mod
|
||||
  use psb_krylov_mod
|
||||
... ...
|
||||
!
|
||||
! sparse matrix
|
||||
  type(psb_dspmat_type) :: A
|
||||
! sparse matrix descriptor
|
||||
  type(psb_desc_type)   :: desc_A
|
||||
! preconditioner
|
||||
  type(amg_dprec_type)  :: P
|
||||
! right-hand side and solution vectors
|
||||
  type(psb_d_vect_type) :: b, x
|
||||
... ...
|
||||
!
|
||||
! initialize the parallel environment
|
||||
  call psb_init(ictxt)
|
||||
  call psb_info(ictxt,iam,np)
|
||||
... ...
|
||||
!
|
||||
! read and assemble the spd matrix A and the right-hand side b
|
||||
! using PSBLAS routines for sparse matrix / vector management
|
||||
... ...
|
||||
!
|
||||
! initialize the default multilevel preconditioner, i.e. V-cycle
|
||||
! with basic smoothed aggregation, 1 hybrid forward/backward
|
||||
! GS sweep as pre/post-smoother and UMFPACK as coarsest-level
|
||||
! solver
|
||||
  call P%init(’ML’,info)
|
||||
!
|
||||
! build the preconditioner
|
||||
  call P%hierarchy_build(A,desc_A,info)
|
||||
  call P%smoothers_build(A,desc_A,info)
|
||||
!
|
||||
! set the solver parameters and the initial guess
|
||||
  ... ...
|
||||
!
|
||||
! solve Ax=b with preconditioned CG
|
||||
  call psb_krylov(’CG’,A,P,b,x,tol,desc_A,info)
|
||||
  ... ...
|
||||
!
|
||||
! deallocate the preconditioner
|
||||
  call P%free(info)
|
||||
!
|
||||
! deallocate other data structures
|
||||
  ... ...
|
||||
!
|
||||
! exit the parallel environment
|
||||
  call psb_exit(ictxt)
|
||||
  stop
|
||||
</pre>
|
||||
<!--l. 193--><p class="nopar" >
|
||||
|
||||
|
||||
@@ -279,19 +278,19 @@ class="cmr-12">.</span>
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 237--><p class="noindent" >
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-6">
|
||||
<div class="minipage"><pre class="verbatim" id="verbatim-6">
|
||||
... ...
|
||||
 <br />! build a V-cycle preconditioner with 1 block-Jacobi sweep (with
|
||||
 <br />! ILU(0) on the blocks) as pre- and post-smoother, and 8  block-Jacobi
|
||||
 <br />! sweeps (with ILU(0) on the blocks) as coarsest-level solver
|
||||
 <br />  call P%init(’ML’,info)
|
||||
 <br />  call_P%set(’SMOOTHER_TYPE’,’BJAC’,info)
|
||||
 <br />  call P%set(’COARSE_SOLVE’,’BJAC’,info)
|
||||
 <br />  call P%set(’COARSE_SWEEPS’,8,info)
|
||||
 <br />  call P%hierarchy_build(A,desc_A,info)
|
||||
 <br />  call P%smoothers_build(A,desc_A,info)
|
||||
 <br />... ...
|
||||
</div>
|
||||
! build a V-cycle preconditioner with 1 block-Jacobi sweep (with
|
||||
! ILU(0) on the blocks) as pre- and post-smoother, and 8  block-Jacobi
|
||||
! sweeps (with ILU(0) on the blocks) as coarsest-level solver
|
||||
  call P%init(’ML’,info)
|
||||
  call_P%set(’SMOOTHER_TYPE’,’BJAC’,info)
|
||||
  call P%set(’COARSE_SOLVE’,’BJAC’,info)
|
||||
  call P%set(’COARSE_SWEEPS’,8,info)
|
||||
  call P%hierarchy_build(A,desc_A,info)
|
||||
  call P%smoothers_build(A,desc_A,info)
|
||||
... ...
|
||||
</pre>
|
||||
<!--l. 252--><p class="nopar" ></div>
|
||||
<br /><div class="caption"
|
||||
><span class="id">Figure 2: </span><span
|
||||
@@ -314,22 +313,22 @@ class="content">setup of a multilevel preconditioner based on the default decoup
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 261--><p class="noindent" >
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-7">
|
||||
<div class="minipage"><pre class="verbatim" id="verbatim-7">
|
||||
... ...
|
||||
 <br />! build a W-cycle preconditioner with 2 hybrid Gauss-Seidel sweeps
|
||||
 <br />! as pre- and post-smoother, a distributed coarsest
|
||||
 <br />! matrix, and MUMPS as coarsest-level solver
|
||||
 <br />  call P%init(’ML’,info)
|
||||
 <br />  call P%set(’PAR_AGGR_ALG’,’COUPLED’,info)
|
||||
 <br />  call P%set(’ML_CYCLE’,’WCYCLE’,info)
|
||||
 <br />  call P%set(’SMOOTHER_TYPE’,’FBGS’,info)
|
||||
 <br />  call P%set(’SMOOTHER_SWEEPS’,2,info)
|
||||
 <br />  call P%set(’COARSE_SOLVE’,’MUMPS’,info)
|
||||
 <br />  call P%set(’COARSE_MAT’,’DIST’,info)
|
||||
 <br />  call P%hierarchy_build(A,desc_A,info)
|
||||
 <br />  call P%smoothers_build(A,desc_A,info)
|
||||
 <br />... ...
|
||||
</div>
|
||||
! build a W-cycle preconditioner with 2 hybrid Gauss-Seidel sweeps
|
||||
! as pre- and post-smoother, a distributed coarsest
|
||||
! matrix, and MUMPS as coarsest-level solver
|
||||
  call P%init(’ML’,info)
|
||||
  call P%set(’PAR_AGGR_ALG’,’COUPLED’,info)
|
||||
  call P%set(’ML_CYCLE’,’WCYCLE’,info)
|
||||
  call P%set(’SMOOTHER_TYPE’,’FBGS’,info)
|
||||
  call P%set(’SMOOTHER_SWEEPS’,2,info)
|
||||
  call P%set(’COARSE_SOLVE’,’MUMPS’,info)
|
||||
  call P%set(’COARSE_MAT’,’DIST’,info)
|
||||
  call P%hierarchy_build(A,desc_A,info)
|
||||
  call P%smoothers_build(A,desc_A,info)
|
||||
... ...
|
||||
</pre>
|
||||
<!--l. 279--><p class="nopar" ></div>
|
||||
<br /> <div class="caption"
|
||||
><span class="id">Figure 3: </span><span
|
||||
@@ -353,16 +352,16 @@ on weighted matching</span></div><!--tex4ht:label?: x14-130033 -->
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 287--><p class="noindent" >
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-8">
|
||||
<div class="minipage"><pre class="verbatim" id="verbatim-8">
|
||||
... ...
|
||||
 <br />! set RAS with overlap 2 and ILU(0) on the local blocks
|
||||
 <br />  call P%init(’AS’,info)
|
||||
 <br />  call P%set(’SUB_OVR’,2,info)
|
||||
 <br />  call P%bld(A,desc_A,info)
|
||||
 <br />... ...
|
||||
 <br />! solve Ax=b with preconditioned BiCGSTAB
|
||||
 <br />  call psb_krylov(’BICGSTAB’,A,P,b,x,tol,desc_A,info)
|
||||
</div>
|
||||
! set RAS with overlap 2 and ILU(0) on the local blocks
|
||||
  call P%init(’AS’,info)
|
||||
  call P%set(’SUB_OVR’,2,info)
|
||||
  call P%bld(A,desc_A,info)
|
||||
... ...
|
||||
! solve Ax=b with preconditioned BiCGSTAB
|
||||
  call psb_krylov(’BICGSTAB’,A,P,b,x,tol,desc_A,info)
|
||||
</pre>
|
||||
<!--l. 299--><p class="nopar" ></div>
|
||||
<br /> <div class="caption"
|
||||
><span class="id">Figure 4: </span><span
|
||||
|
||||
+17
-17
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Method init</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -44,28 +44,28 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-2-1g"><col
|
||||
id="TBL-2-1"><col
|
||||
id="TBL-2-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:wrap; text-align:left;" id="TBL-2-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:normal; text-align:left;" id="TBL-2-1-1"
|
||||
class="td11"><!--l. 57--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">icontxt</span></span></span> </td> <td style="white-space:wrap; text-align:left;" id="TBL-2-1-2"
|
||||
class="cmtt-12">icontxt</span></span></span> </td> <td style="white-space:normal; text-align:left;" id="TBL-2-1-2"
|
||||
class="td11"><!--l. 57--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:wrap; text-align:left;" id="TBL-2-2-1"
|
||||
class="td11"><!--l. 58--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-2-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:normal; text-align:left;" id="TBL-2-2-1"
|
||||
class="td11"><!--l. 58--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-2-2"
|
||||
class="td11"><!--l. 58--><p class="noindent" ><span
|
||||
class="cmr-12">The communication context.</span> </td></tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:wrap; text-align:left;" id="TBL-2-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:normal; text-align:left;" id="TBL-2-3-1"
|
||||
class="td11"><!--l. 59--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">ptype</span></span></span> </td> <td style="white-space:wrap; text-align:left;" id="TBL-2-3-2"
|
||||
class="cmtt-12">ptype</span></span></span> </td> <td style="white-space:normal; text-align:left;" id="TBL-2-3-2"
|
||||
class="td11"><!--l. 59--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">character(len=*),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span></td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:wrap; text-align:left;" id="TBL-2-4-1"
|
||||
class="td11"><!--l. 60--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-2-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:normal; text-align:left;" id="TBL-2-4-1"
|
||||
class="td11"><!--l. 60--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-4-2"
|
||||
class="td11"><!--l. 60--><p class="noindent" ><span
|
||||
class="cmr-12">The type of preconditioner. Its values are specified in Table</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -73,21 +73,21 @@ href="userhtmlse4.html#x13-120151"><span
|
||||
class="cmr-12">1</span><!--tex4ht:ref: tab:precinit --></a><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:wrap; text-align:left;" id="TBL-2-5-1"
|
||||
class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-2-5-2"
|
||||
style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:normal; text-align:left;" id="TBL-2-5-1"
|
||||
class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-5-2"
|
||||
class="td11"><!--l. 62--><p class="noindent" ><span
|
||||
class="cmr-12">Note that the strings are case insensitive.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-2-6-"><td style="white-space:wrap; text-align:left;" id="TBL-2-6-1"
|
||||
style="vertical-align:baseline;" id="TBL-2-6-"><td style="white-space:normal; text-align:left;" id="TBL-2-6-1"
|
||||
class="td11"><!--l. 63--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-2-6-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-2-6-2"
|
||||
class="td11"><!--l. 63--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-2-7-"><td style="white-space:wrap; text-align:left;" id="TBL-2-7-1"
|
||||
class="td11"><!--l. 64--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-2-7-2"
|
||||
style="vertical-align:baseline;" id="TBL-2-7-"><td style="white-space:normal; text-align:left;" id="TBL-2-7-1"
|
||||
class="td11"><!--l. 64--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-7-2"
|
||||
class="td11"><!--l. 64--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -95,7 +95,7 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:wrap; text-align:left;" id="TBL-2-8-1"
|
||||
style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:normal; text-align:left;" id="TBL-2-8-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
|
||||
|
||||
|
||||
+193
-193
File diff suppressed because it is too large
Load Diff
+15
-15
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>Method hierarchy_build</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -58,9 +58,9 @@ cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-11-1g"><col
|
||||
id="TBL-11-1"><col
|
||||
id="TBL-11-2"></colgroup><tr
|
||||
style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:wrap; text-align:left;" id="TBL-11-1-1"
|
||||
style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:normal; text-align:left;" id="TBL-11-1-1"
|
||||
class="td11"><!--l. 586--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">a</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-11-1-2"
|
||||
class="cmtt-12">a</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-1-2"
|
||||
class="td11"><!--l. 586--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">type(psb_</span></span></span><span
|
||||
class="cmti-12">x</span><span class="obeylines-h"><span class="verb"><span
|
||||
@@ -68,8 +68,8 @@ class="cmtt-12">spmat_type),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:wrap; text-align:left;" id="TBL-11-2-1"
|
||||
class="td11"><!--l. 587--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-11-2-2"
|
||||
style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:normal; text-align:left;" id="TBL-11-2-1"
|
||||
class="td11"><!--l. 587--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-2-2"
|
||||
class="td11"><!--l. 587--><p class="noindent" ><span
|
||||
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
|
||||
<span
|
||||
@@ -86,16 +86,16 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:wrap; text-align:left;" id="TBL-11-3-1"
|
||||
style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:normal; text-align:left;" id="TBL-11-3-1"
|
||||
class="td11"><!--l. 592--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:wrap; text-align:left;" id="TBL-11-3-2"
|
||||
class="cmtt-12">desc_a</span></span></span></td><td style="white-space:normal; text-align:left;" id="TBL-11-3-2"
|
||||
class="td11"><!--l. 592--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">type(psb_desc_type),</span><span
|
||||
class="cmtt-12"> intent(in)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:wrap; text-align:left;" id="TBL-11-4-1"
|
||||
class="td11"><!--l. 593--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-11-4-2"
|
||||
style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:normal; text-align:left;" id="TBL-11-4-1"
|
||||
class="td11"><!--l. 593--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-4-2"
|
||||
class="td11"><!--l. 593--><p class="noindent" ><span
|
||||
class="cmr-12">The communication descriptor of </span><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">a</span></span></span><span
|
||||
@@ -108,16 +108,16 @@ class="cmr-12">16</span></a><span
|
||||
class="cmr-12">]</span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:wrap; text-align:left;" id="TBL-11-5-1"
|
||||
style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:normal; text-align:left;" id="TBL-11-5-1"
|
||||
class="td11"><!--l. 596--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-11-5-2"
|
||||
class="cmtt-12">info</span></span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-5-2"
|
||||
class="td11"><!--l. 596--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">integer,</span><span
|
||||
class="cmtt-12"> intent(out)</span></span></span><span
|
||||
class="cmr-12">.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-11-6-"><td style="white-space:wrap; text-align:left;" id="TBL-11-6-1"
|
||||
class="td11"><!--l. 597--><p class="noindent" > </td><td style="white-space:wrap; text-align:left;" id="TBL-11-6-2"
|
||||
style="vertical-align:baseline;" id="TBL-11-6-"><td style="white-space:normal; text-align:left;" id="TBL-11-6-1"
|
||||
class="td11"><!--l. 597--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-6-2"
|
||||
class="td11"><!--l. 597--><p class="noindent" ><span
|
||||
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
|
||||
class="cmr-12"> </span><a
|
||||
@@ -125,7 +125,7 @@ href="userhtmlse7.html#x26-300007"><span
|
||||
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
|
||||
class="cmr-12">for details.</span> </td>
|
||||
</tr><tr
|
||||
style="vertical-align:baseline;" id="TBL-11-7-"><td style="white-space:wrap; text-align:left;" id="TBL-11-7-1"
|
||||
style="vertical-align:baseline;" id="TBL-11-7-"><td style="white-space:normal; text-align:left;" id="TBL-11-7-1"
|
||||
class="td11"> </td> </tr></table></div>
|
||||
|
||||
|
||||
|
||||
+23
-20
@@ -11,19 +11,21 @@ AMG4PSBLAS is implemented almost entirely in Fortran~2003, with some
|
||||
interfaces to external libraries in C; the Fortran compiler
|
||||
must support the Fortran~2003 standard plus the extension \verb|MOLD=|
|
||||
feature, which enhances the usability of \verb|ALLOCATE|.
|
||||
Many compilers do this; in particular, this is
|
||||
Most Fortran compilers provide this feature; in particular, this is
|
||||
supported by the GNU Fortran compiler, for which we
|
||||
recommend to use at least version 4.8.
|
||||
The software defines data types and interfaces for
|
||||
real and complex data, in both single and double precision.
|
||||
|
||||
Building AMG4PSBLAS requires some base libraries (see Section~\ref{sec:prerequisites});
|
||||
interfaces to optional third-party libraries, which extend the functionalities of AMG4PSBLAS
|
||||
(see Section~\ref{sec:third-party}), are also available. Many Linux distributions
|
||||
(e.g., Ubuntu, Fedora, CentOS) provide precompiled packages for the prerequisite and
|
||||
optional software. In many cases these packages are split between a runtime part and a
|
||||
``developer'' part; in order to build AMG4PSBLAS you need both. A description of the base and
|
||||
optional software used by AMG4PSBLAS is given in the next sections.
|
||||
Building AMG4PSBLAS requires some base libraries (see
|
||||
Section~\ref{sec:prerequisites}); interfaces to optional third-party
|
||||
libraries, which extend the functionalities of AMG4PSBLAS (see
|
||||
Section~\ref{sec:third-party}), are also available. A number of Linux
|
||||
distributions (e.g., Ubuntu, Fedora, CentOS) provide precompiled
|
||||
packages for the prerequisite and optional software. In many cases
|
||||
these packages are split between a runtime part and a ``developer''
|
||||
part; in order to build AMG4PSBLAS you need both. A description of the
|
||||
base and optional software used by AMG4PSBLAS is given in the next sections.
|
||||
|
||||
\subsection{Prerequisites\label{sec:prerequisites}}
|
||||
|
||||
@@ -38,25 +40,26 @@ The following base libraries are needed:
|
||||
behaviour of the BLAS interface, so they are not optimized for any
|
||||
particular platform, and should only be used as a last
|
||||
resort. Note that BLAS computations form a relatively small part of
|
||||
the AMG4PSBLAS/PSBLAS computations; they are however critical when using
|
||||
preconditioners based on MUMPS, UMFPACK or SuperLU third party
|
||||
libraries. Note that UMFPACK requires a full LAPACK library; our
|
||||
experience is that configuring ATLAS for building full LAPACK does not
|
||||
work in the correct way. Our advice is first to download the LAPACK tarfile from
|
||||
the AMG4PSBLAS/PSBLAS; however they are critical when using
|
||||
preconditioners based on the MUMPS, UMFPACK or SuperLU third party
|
||||
libraries. UMFPACK requires a full LAPACK library; our
|
||||
experience is that configuring ATLAS for building full LAPACK does not always
|
||||
work in the expected way. Our advice is first to download the LAPACK tarfile from
|
||||
\href{http://www.netlib.org/lapack}{www.netlib.org/lapack} and install it independently of ATLAS. In this case,
|
||||
you need to modify the OPTS and NOOPT definitions for including -fPIC compilation option
|
||||
in the make.inc file of the LAPACK library.
|
||||
\item[MPI] \cite{MPI2,MPI1} A version of MPI is available on most
|
||||
high-performance computing systems.
|
||||
\item[PSBLAS] \cite{PSBLASGUIDE,psblas_00} Parallel Sparse BLAS (PSBLAS) is
|
||||
available from \href{https://psctoolkit.github.io/products/psblas/}{psctoolkit.github.io/ products/psblas/}; version
|
||||
3.7.0 (or later) is required. Indeed, all the prerequisites
|
||||
listed so far are also prerequisites of PSBLAS.
|
||||
available from
|
||||
\href{https://psctoolkit.github.io/products/psblas/}{psctoolkit.github.io/
|
||||
products/psblas/}; version 3.7.0 (or later) is
|
||||
required. Indeed, all the prerequisites listed so far are also
|
||||
prerequisites of PSBLAS.
|
||||
\end{description}
|
||||
Please note that the four previous libraries must have Fortran
|
||||
interfaces compatible with AMG4PSBLAS;
|
||||
usually this means that they should all be built with the same
|
||||
compiler as AMG4PSBLAS.
|
||||
interfaces compatible with AMG4PSBLAS; usually this means that they
|
||||
should all be built with the same compiler being used for AMG4PSBLAS.
|
||||
|
||||
\subsection{Optional third party libraries\label{sec:third-party}}
|
||||
|
||||
@@ -182,7 +185,7 @@ both of them are further divided into \verb|fileread| and
|
||||
\begin{description}
|
||||
\item[\tt examples] contains a set of simple example programs with a
|
||||
predefined choice of preconditioners, selectable via integer
|
||||
values. These are intended to get an acquaintance with the
|
||||
values. These are intended to get acquainted with the
|
||||
multilevel preconditioners available in AMG4PSBLAS.
|
||||
\item[\tt tests] contains a set of more sophisticated examples that
|
||||
will allow the user, via the input files in the \verb|runs|
|
||||
|
||||
+34
-14
@@ -17,21 +17,34 @@ where $A$ is a square, real or complex, sparse symmetric positive definite (s.p.
|
||||
%
|
||||
|
||||
The preconditioners implemented in AMG4PSBLAS are obtained by combining
|
||||
3 different types of AMG cycles with smoothers and coarsest-level solvers. The V-, W-, and a version of a Krylov-type cycle (K-cycle)~\cite{Briggs2000,Notay2008} are available, which can be combined with Jacobi hybrid
|
||||
3 different types of AMG cycles with smoothers and coarsest-level
|
||||
solvers. Available multigrid cycles include the V-, W-, and a version of a Krylov-type cycle
|
||||
(K-cycle)~\cite{Briggs2000,Notay2008}; they can be
|
||||
combined with Jacobi hybrid
|
||||
%\footnote{see Note 2 in Table~\ref{tab:p_coarse}, p.~28.}
|
||||
forward/backward Gauss-Seidel, block-Jacobi, and additive Schwarz smoothers. Also $\ell_1$ versions of Jacobi, block-Jacobi and Gauss-Seidel smoothers are available.
|
||||
forward/backward Gauss-Seidel, block-Jacobi, and additive Schwarz
|
||||
smoothers. The Jacobi, block-Jacobi and
|
||||
Gauss-Seidel smoothers are also available in the $\ell_1$ version.
|
||||
|
||||
An algebraic approach is used to generate a hierarchy of
|
||||
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,
|
||||
two different coarsening strategies, based on aggregation, are available:
|
||||
\begin{itemize}
|
||||
\item a decoupled version of the well known smoothed aggregation procedure proposed in~\cite{BREZINA_VANEK,VANEK_MANDEL_BREZINA}, and already included in the previous versions of the package~\cite{BDDF2007,MLD2P4_TOMS};
|
||||
\item the first parallel implementation of a coupled version of Coarsening based on Compatible Weighted Matching introduced in~\cite{DV2013,DFV2018} and described in details in~\cite{DDF2020};
|
||||
\item a decoupled version of the smoothed aggregation procedure
|
||||
proposed in~\cite{BREZINA_VANEK,VANEK_MANDEL_BREZINA}, and already
|
||||
included in the previous versions of the
|
||||
package~\cite{BDDF2007,MLD2P4_TOMS};
|
||||
\item a coupled, parallel implementation of the Coarsening based on
|
||||
Compatible Weighted Matching introduced in~\cite{DV2013,DFV2018}
|
||||
and described in detail in~\cite{DDF2020};
|
||||
\end{itemize}
|
||||
|
||||
Either exact or approximate solvers can be used on the coarsest-level system. Specifically, different sparse LU factorizations from external
|
||||
packages, native incomplete LU and approximate inverse factorizations, weighted Jacobi, hybrid Gauss-Seidel, block-Jacobi solvers and recursive call to preconditioned Krylov methods are available. All the smoothers can be also exploited as one-level
|
||||
preconditioners.
|
||||
Either exact or approximate solvers can be used on the coarsest-level
|
||||
system. We provide interfaces to various sparse LU factorizations from external
|
||||
packages, native incomplete LU and approximate inverse factorizations,
|
||||
weighted Jacobi, hybrid Gauss-Seidel, block-Jacobi solvers and
|
||||
a recursive call to preconditioned Krylov methods; all
|
||||
smoothers can be also exploited as one-level preconditioners.
|
||||
|
||||
AMG4PSBLAS is written in Fortran~2003, following an
|
||||
object-oriented design through the exploitation of features
|
||||
@@ -47,19 +60,26 @@ AMG4PSBLAS has been designed to implement scalable and easy-to-use
|
||||
multilevel preconditioners in the context of the PSBLAS (Parallel Sparse BLAS)
|
||||
computational framework~\cite{psblas_00,PSBLAS3}. PSBLAS provides basic linear algebra
|
||||
operators and data management facilities for distributed sparse matrices,
|
||||
kernels for sequential incomplete factorizations needed for the parallel block-Jacobi and additive Schwarz smoothers, and
|
||||
kernels for sequential incomplete factorizations needed for the
|
||||
parallel block-Jacobi and additive Schwarz smoothers, and
|
||||
parallel Krylov solvers which can be used with the AMG4PSBLAS preconditioners.
|
||||
The choice of PSBLAS has been mainly motivated by the need of having
|
||||
a portable and efficient software infrastructure implementing ``de facto'' standard
|
||||
parallel sparse linear algebra kernels, to pursue goals such as performance,
|
||||
portability, modularity ed extensibility in the development of the preconditioner
|
||||
package. On the other hand, the implementation of AMG4PSBLAS, which was driven by the need to face the exascale challenge, has led to some important revisions and extentions of the PSBLAS infrastructure.
|
||||
package. On the other hand, the implementation of AMG4PSBLAS, which
|
||||
was driven by the need to face the exascale challenge, has led to some
|
||||
important revisions and extentions of the PSBLAS infrastructure.
|
||||
The inter-process comunication required by AMG4PSBLAS is encapsulated
|
||||
in the PSBLAS routines;
|
||||
therefore, AMG4PSBLAS can be run on any parallel machine where PSBLAS
|
||||
implementations are available. In the most recent version of PSBLAS (release 3.7), a plug-in for GPU is included; it includes CUDA versions of
|
||||
main vector operations and of sparse matrix-vector multiplication, so that Krylov methods coupled with AMG4PBLAS preconditioners
|
||||
relying on Jacobi and block-Jacobi smoothers with sparse approximate inverses on the blocks can be efficiently executed on cluster of GPUs.
|
||||
therefore, AMG4PSBLAS can be run on any parallel machine where PSBLAS
|
||||
implementations are available. In the most recent version of PSBLAS
|
||||
(release 3.7), a plug-in for GPU is included; it includes CUDA
|
||||
versions of main vector operations and of sparse matrix-vector
|
||||
multiplication, so that Krylov methods coupled with AMG4PBLAS
|
||||
preconditioners relying on Jacobi and block-Jacobi smoothers with
|
||||
sparse approximate inverses on the blocks can be efficiently executed
|
||||
on cluster of GPUs.
|
||||
|
||||
AMG4PSBLAS has a layered and modular software architecture where three main layers can be
|
||||
identified. The lower layer consists of the PSBLAS kernels, the middle one implements
|
||||
|
||||
Reference in New Issue
Block a user