Fix samples/simple internal and external docs.

maint-1.0
Salvatore Filippone 3 years ago
parent 94ca610bff
commit aba9b29717

Binary file not shown.

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 678--><div class="crosslinks"><p class="noindent"><span
<!--l. 685--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu11.html" ><span
class="cmr-12">next</span></a><span
@ -34,8 +34,8 @@ class="cmr-12">Method hierarchy</span><span
class="cmr-12">_build</span></h4>
<div class="center"
>
<!--l. 680--><p class="noindent" >
<!--l. 681--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 687--><p class="noindent" >
<!--l. 688--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -49,7 +49,7 @@ class="cmtt-12">,</span><span
class="cmtt-12">info</span><span
class="cmtt-12">)</span><br />
</div>
<!--l. 684--><p class="noindent" ><span
<!--l. 691--><p class="noindent" ><span
class="cmr-12">This method builds the hierarchy of matrices and restriction/prolongation operators for</span>
<span
class="cmr-12">the multilevel preconditioner </span><span class="lstinline"></span><span
@ -61,7 +61,7 @@ class="cmtt-12">init</span> <span
class="cmr-12">and </span><span class="lstinline"></span><span
class="cmtt-12">set</span><span
class="cmr-12">.</span>
<!--l. 689--><p class="noindent" ><span
<!--l. 696--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-11" class="tabular"
cellspacing="0" cellpadding="0"
@ -69,9 +69,9 @@ cellspacing="0" cellpadding="0"
id="TBL-11-1"><col
id="TBL-11-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:normal; text-align:left;" id="TBL-11-1-1"
class="td11"><!--l. 692--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 699--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-1-2"
class="td11"><!--l. 692--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 699--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -86,8 +86,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:normal; text-align:left;" id="TBL-11-2-1"
class="td11"><!--l. 693--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-2-2"
class="td11"><!--l. 693--><p class="noindent" ><span
class="td11"><!--l. 700--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-2-2"
class="td11"><!--l. 700--><p class="noindent" ><span
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
<span
class="cmr-12">to be preconditioned. Note that </span><span
@ -107,9 +107,9 @@ 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:normal; text-align:left;" id="TBL-11-3-1"
class="td11"><!--l. 698--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 705--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-11-3-2"
class="td11"><!--l. 698--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 705--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_desc_type</span><span
@ -122,8 +122,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:normal; text-align:left;" id="TBL-11-4-1"
class="td11"><!--l. 699--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-4-2"
class="td11"><!--l. 699--><p class="noindent" ><span
class="td11"><!--l. 706--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-4-2"
class="td11"><!--l. 706--><p class="noindent" ><span
class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span
class="cmtt-12">a</span><span
class="cmr-12">. See the PSBLAS User&#8217;s Guide</span>
@ -136,9 +136,9 @@ 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:normal; text-align:left;" id="TBL-11-5-1"
class="td11"><!--l. 701--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 708--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-5-2"
class="td11"><!--l. 701--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 708--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -149,8 +149,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-11-6-"><td style="white-space:normal; text-align:left;" id="TBL-11-6-1"
class="td11"><!--l. 702--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-6-2"
class="td11"><!--l. 702--><p class="noindent" ><span
class="td11"><!--l. 709--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-6-2"
class="td11"><!--l. 709--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -165,7 +165,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 708--><div class="crosslinks"><p class="noindent"><span
<!--l. 715--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu11.html" ><span
class="cmr-12">next</span></a><span
@ -182,6 +182,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu10.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 708--><p class="indent" > <a
<!--l. 715--><p class="indent" > <a
id="tailuserhtmlsu10.html"></a>
</body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 708--><div class="crosslinks"><p class="noindent"><span
<!--l. 715--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu12.html" ><span
class="cmr-12">next</span></a><span
@ -34,8 +34,8 @@ class="cmr-12">Method smoothers</span><span
class="cmr-12">_build</span></h4>
<div class="center"
>
<!--l. 711--><p class="noindent" >
<!--l. 712--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 718--><p class="noindent" >
<!--l. 719--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -57,7 +57,7 @@ class="cmtt-12">,</span><span
class="cmtt-12">imold</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 715--><p class="noindent" ><span
<!--l. 722--><p class="noindent" ><span
class="cmr-12">This method builds the smoothers and the coarsest-level solvers for the multilevel</span>
<span
class="cmr-12">preconditioner </span><span class="lstinline"></span><span
@ -75,7 +75,7 @@ class="cmr-12">&#x00A0;</span><a
href="userhtmlsu10.html#x20-190005.3"><span
class="cmr-12">5.3</span><!--tex4ht:ref: sec:hier_bld --></a><span
class="cmr-12">).</span>
<!--l. 722--><p class="noindent" ><span
<!--l. 729--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-12" class="tabular"
cellspacing="0" cellpadding="0"
@ -83,9 +83,9 @@ cellspacing="0" cellpadding="0"
id="TBL-12-1"><col
id="TBL-12-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:normal; text-align:left;" id="TBL-12-1-1"
class="td11"><!--l. 725--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 732--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-1-2"
class="td11"><!--l. 725--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 732--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -100,8 +100,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:normal; text-align:left;" id="TBL-12-2-1"
class="td11"><!--l. 726--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-2-2"
class="td11"><!--l. 726--><p class="noindent" ><span
class="td11"><!--l. 733--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-2-2"
class="td11"><!--l. 733--><p class="noindent" ><span
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
<span
class="cmr-12">to be preconditioned. Note that </span><span
@ -121,9 +121,9 @@ 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:normal; text-align:left;" id="TBL-12-3-1"
class="td11"><!--l. 730--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 737--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-12-3-2"
class="td11"><!--l. 730--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 737--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_desc_type</span><span
@ -136,8 +136,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:normal; text-align:left;" id="TBL-12-4-1"
class="td11"><!--l. 731--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-4-2"
class="td11"><!--l. 731--><p class="noindent" ><span
class="td11"><!--l. 738--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-4-2"
class="td11"><!--l. 738--><p class="noindent" ><span
class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span
class="cmtt-12">a</span><span
class="cmr-12">. See the PSBLAS User&#8217;s Guide</span>
@ -150,9 +150,9 @@ 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:normal; text-align:left;" id="TBL-12-5-1"
class="td11"><!--l. 733--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 740--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-5-2"
class="td11"><!--l. 733--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 740--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -163,8 +163,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:normal; text-align:left;" id="TBL-12-6-1"
class="td11"><!--l. 734--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-6-2"
class="td11"><!--l. 734--><p class="noindent" ><span
class="td11"><!--l. 741--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-6-2"
class="td11"><!--l. 741--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -172,9 +172,9 @@ 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:normal; text-align:left;" id="TBL-12-7-1"
class="td11"><!--l. 735--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 742--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-7-2"
class="td11"><!--l. 735--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 742--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -191,8 +191,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:normal; text-align:left;" id="TBL-12-8-1"
class="td11"><!--l. 736--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-8-2"
class="td11"><!--l. 736--><p class="noindent" ><span
class="td11"><!--l. 743--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-8-2"
class="td11"><!--l. 743--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal matrix components; this</span>
<span
class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span>
@ -205,9 +205,9 @@ 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:normal; text-align:left;" id="TBL-12-9-1"
class="td11"><!--l. 740--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 747--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-9-2"
class="td11"><!--l. 740--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 747--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -224,16 +224,16 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-10-"><td style="white-space:normal; text-align:left;" id="TBL-12-10-1"
class="td11"><!--l. 741--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-10-2"
class="td11"><!--l. 741--><p class="noindent" ><span
class="td11"><!--l. 748--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-10-2"
class="td11"><!--l. 748--><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:normal; text-align:left;" id="TBL-12-11-1"
class="td11"><!--l. 743--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 750--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">imold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-11-2"
class="td11"><!--l. 743--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 750--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_i_base_vect_type</span><span
@ -248,8 +248,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-12-12-"><td style="white-space:normal; text-align:left;" id="TBL-12-12-1"
class="td11"><!--l. 744--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-12-2"
class="td11"><!--l. 744--><p class="noindent" ><span
class="td11"><!--l. 751--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-12-2"
class="td11"><!--l. 751--><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>
@ -262,7 +262,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 750--><div class="crosslinks"><p class="noindent"><span
<!--l. 757--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu12.html" ><span
class="cmr-12">next</span></a><span
@ -279,6 +279,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu11.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 750--><p class="indent" > <a
<!--l. 757--><p class="indent" > <a
id="tailuserhtmlsu11.html"></a>
</body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 750--><div class="crosslinks"><p class="noindent"><span
<!--l. 757--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu13.html" ><span
class="cmr-12">next</span></a><span
@ -33,8 +33,8 @@ class="cmr-12">5.5 </span></span> <a
class="cmr-12">Method build</span></h4>
<div class="center"
>
<!--l. 752--><p class="noindent" >
<!--l. 753--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 759--><p class="noindent" >
<!--l. 760--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -54,7 +54,7 @@ class="cmtt-12">,</span><span
class="cmtt-12">imold</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 756--><p class="noindent" ><span
<!--l. 763--><p class="noindent" ><span
class="cmr-12">This method builds the preconditioner </span><span class="lstinline"></span><span
class="cmtt-12">p</span> <span
class="cmr-12">according to the requirements made by the</span>
@ -83,7 +83,7 @@ class="cmtt-12">smoothers_build</span><span
class="cmr-12">, whose nomenclature would however be somewhat unnatural when</span>
<span
class="cmr-12">dealing with simple one-level preconditioners.</span>
<!--l. 766--><p class="noindent" ><span
<!--l. 773--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-13" class="tabular"
cellspacing="0" cellpadding="0"
@ -91,9 +91,9 @@ cellspacing="0" cellpadding="0"
id="TBL-13-1"><col
id="TBL-13-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:normal; text-align:left;" id="TBL-13-1-1"
class="td11"><!--l. 769--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 776--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-1-2"
class="td11"><!--l. 769--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 776--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -108,8 +108,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-13-2-"><td style="white-space:normal; text-align:left;" id="TBL-13-2-1"
class="td11"><!--l. 770--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-2-2"
class="td11"><!--l. 770--><p class="noindent" ><span
class="td11"><!--l. 777--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-2-2"
class="td11"><!--l. 777--><p class="noindent" ><span
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
<span
class="cmr-12">to be preconditioned. Note that </span><span
@ -129,9 +129,9 @@ 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:normal; text-align:left;" id="TBL-13-3-1"
class="td11"><!--l. 774--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 781--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-13-3-2"
class="td11"><!--l. 774--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 781--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_desc_type</span><span
@ -144,8 +144,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-13-4-"><td style="white-space:normal; text-align:left;" id="TBL-13-4-1"
class="td11"><!--l. 775--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-4-2"
class="td11"><!--l. 775--><p class="noindent" ><span
class="td11"><!--l. 782--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-4-2"
class="td11"><!--l. 782--><p class="noindent" ><span
class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span
class="cmtt-12">a</span><span
class="cmr-12">. See the PSBLAS User&#8217;s Guide</span>
@ -158,9 +158,9 @@ 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:normal; text-align:left;" id="TBL-13-5-1"
class="td11"><!--l. 777--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 784--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-5-2"
class="td11"><!--l. 777--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 784--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -171,8 +171,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-13-6-"><td style="white-space:normal; text-align:left;" id="TBL-13-6-1"
class="td11"><!--l. 778--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-6-2"
class="td11"><!--l. 778--><p class="noindent" ><span
class="td11"><!--l. 785--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-6-2"
class="td11"><!--l. 785--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -180,9 +180,9 @@ 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:normal; text-align:left;" id="TBL-13-7-1"
class="td11"><!--l. 779--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 786--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-7-2"
class="td11"><!--l. 779--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 786--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -199,8 +199,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-13-8-"><td style="white-space:normal; text-align:left;" id="TBL-13-8-1"
class="td11"><!--l. 780--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-8-2"
class="td11"><!--l. 780--><p class="noindent" ><span
class="td11"><!--l. 787--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-8-2"
class="td11"><!--l. 787--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal matrix components; this</span>
<span
class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span>
@ -213,9 +213,9 @@ 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:normal; text-align:left;" id="TBL-13-9-1"
class="td11"><!--l. 784--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 791--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-9-2"
class="td11"><!--l. 784--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 791--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -232,16 +232,16 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-13-10-"><td style="white-space:normal; text-align:left;" id="TBL-13-10-1"
class="td11"><!--l. 785--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-10-2"
class="td11"><!--l. 785--><p class="noindent" ><span
class="td11"><!--l. 792--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-10-2"
class="td11"><!--l. 792--><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:normal; text-align:left;" id="TBL-13-11-1"
class="td11"><!--l. 787--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 794--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">imold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-11-2"
class="td11"><!--l. 787--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 794--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_i_base_vect_type</span><span
@ -256,15 +256,15 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:normal; text-align:left;" id="TBL-13-12-1"
class="td11"><!--l. 788--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-12-2"
class="td11"><!--l. 788--><p class="noindent" ><span
class="td11"><!--l. 795--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-12-2"
class="td11"><!--l. 795--><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:normal; text-align:left;" id="TBL-13-13-1"
class="td11"> </td> </tr></table></div>
<!--l. 793--><p class="noindent" ><span
<!--l. 800--><p class="noindent" ><span
class="cmr-12">The method can be used to build multilevel preconditioners too.</span>
@ -272,7 +272,7 @@ class="cmr-12">The method can be used to build multilevel preconditioners too.</
<!--l. 798--><div class="crosslinks"><p class="noindent"><span
<!--l. 805--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu13.html" ><span
class="cmr-12">next</span></a><span
@ -289,6 +289,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu12.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 798--><p class="indent" > <a
<!--l. 805--><p class="indent" > <a
id="tailuserhtmlsu12.html"></a>
</body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 798--><div class="crosslinks"><p class="noindent"><span
<!--l. 805--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu14.html" ><span
class="cmr-12">next</span></a><span
@ -33,8 +33,8 @@ class="cmr-12">5.6 </span></span> <a
class="cmr-12">Method apply</span></h4>
<div class="center"
>
<!--l. 800--><p class="noindent" >
<!--l. 801--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 807--><p class="noindent" >
<!--l. 808--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -55,7 +55,7 @@ class="cmtt-12">,</span><span
class="cmtt-12">work</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 804--><p class="noindent" ><span
<!--l. 811--><p class="noindent" ><span
class="cmr-12">This method computes </span><span
class="cmmi-12">y </span><span
class="cmr-12">= </span><span
@ -89,7 +89,7 @@ class="cmtt-12">psb_krylov</span> <span
class="cmr-12">and hence it is</span>
<span
class="cmr-12">completely transparent to the user.</span>
<!--l. 813--><p class="noindent" ><span
<!--l. 820--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-14" class="tabular"
cellspacing="0" cellpadding="0"
@ -97,9 +97,9 @@ cellspacing="0" cellpadding="0"
id="TBL-14-1"><col
id="TBL-14-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:normal; text-align:left;" id="TBL-14-1-1"
class="td11"><!--l. 816--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 823--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">x</span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-1-2"
class="td11"><!--l. 816--><p class="noindent" ><span
class="td11"><!--l. 823--><p class="noindent" ><span
class="cmti-12">type</span><span class="lstinline"></span><span
class="cmtt-12">(</span><span
class="cmtt-12">kind_parameter</span><span
@ -107,8 +107,8 @@ class="cmtt-12">)</span><span
class="cmr-12">, dimension(:), intent(in)&#8212;.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:normal; text-align:left;" id="TBL-14-2-1"
class="td11"><!--l. 817--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-2-2"
class="td11"><!--l. 817--><p class="noindent" ><span
class="td11"><!--l. 824--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-2-2"
class="td11"><!--l. 824--><p class="noindent" ><span
class="cmr-12">The local part of the vector </span><span
class="cmmi-12">x</span><span
class="cmr-12">. Note that </span><span
@ -126,9 +126,9 @@ class="cmr-12">, single/double</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:normal; text-align:left;" id="TBL-14-3-1"
class="td11"><!--l. 820--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 827--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">y</span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-3-2"
class="td11"><!--l. 820--><p class="noindent" ><span
class="td11"><!--l. 827--><p class="noindent" ><span
class="cmti-12">type</span><span class="lstinline"></span><span
class="cmtt-12">(</span><span
class="cmtt-12">kind_parameter</span><span
@ -136,8 +136,8 @@ class="cmtt-12">)</span><span
class="cmr-12">, dimension(:), intent(out)&#8212;.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-4-"><td style="white-space:normal; text-align:left;" id="TBL-14-4-1"
class="td11"><!--l. 821--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-4-2"
class="td11"><!--l. 821--><p class="noindent" ><span
class="td11"><!--l. 828--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-4-2"
class="td11"><!--l. 828--><p class="noindent" ><span
class="cmr-12">The local part of the vector </span><span
class="cmmi-12">y</span><span
class="cmr-12">. Note that </span><span
@ -155,9 +155,9 @@ class="cmr-12">, single/double</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:normal; text-align:left;" id="TBL-14-5-1"
class="td11"><!--l. 824--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 831--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-14-5-2"
class="td11"><!--l. 824--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 831--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_desc_type</span><span
@ -170,16 +170,16 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-6-"><td style="white-space:normal; text-align:left;" id="TBL-14-6-1"
class="td11"><!--l. 825--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-6-2"
class="td11"><!--l. 825--><p class="noindent" ><span
class="td11"><!--l. 832--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-6-2"
class="td11"><!--l. 832--><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:normal; text-align:left;" id="TBL-14-7-1"
class="td11"><!--l. 827--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 834--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-7-2"
class="td11"><!--l. 827--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 834--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -190,8 +190,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-8-"><td style="white-space:normal; text-align:left;" id="TBL-14-8-1"
class="td11"><!--l. 828--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-8-2"
class="td11"><!--l. 828--><p class="noindent" ><span
class="td11"><!--l. 835--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-8-2"
class="td11"><!--l. 835--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -199,9 +199,9 @@ 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:normal; text-align:left;" id="TBL-14-9-1"
class="td11"><!--l. 829--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 836--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">trans</span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-9-2"
class="td11"><!--l. 829--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 836--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">character</span><span
class="cmtt-12">(</span><span
class="cmtt-12">len</span><span
@ -216,8 +216,8 @@ class="cmtt-12">in</span><span
class="cmtt-12">).</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-10-"><td style="white-space:normal; text-align:left;" id="TBL-14-10-1"
class="td11"><!--l. 830--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-10-2"
class="td11"><!--l. 830--><p class="noindent" ><span
class="td11"><!--l. 837--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-10-2"
class="td11"><!--l. 837--><p class="noindent" ><span
class="cmr-12">If </span><span class="lstinline"></span><span
class="cmtt-12">trans</span> <span
class="cmr-12">= </span><span class="lstinline"></span><span
@ -291,9 +291,9 @@ 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:normal; text-align:left;" id="TBL-14-11-1"
class="td11"><!--l. 834--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 841--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">work</span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-11-2"
class="td11"><!--l. 834--><p class="noindent" ><span
class="td11"><!--l. 841--><p class="noindent" ><span
class="cmti-12">type</span><span class="lstinline"></span><span
class="cmtt-12">(</span><span
class="cmtt-12">kind_parameter</span><span
@ -301,8 +301,8 @@ class="cmtt-12">)</span><span
class="cmr-12">, dimension(:), optional, target&#8212;.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-12-"><td style="white-space:normal; text-align:left;" id="TBL-14-12-1"
class="td11"><!--l. 835--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-12-2"
class="td11"><!--l. 835--><p class="noindent" ><span
class="td11"><!--l. 842--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-12-2"
class="td11"><!--l. 842--><p class="noindent" ><span
class="cmr-12">Workspace. Its size should be at least </span><span class="lstinline"></span><span
class="cmtt-12">4</span><span
class="cmtt-12">&#x00A0;</span><span
@ -339,7 +339,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 844--><div class="crosslinks"><p class="noindent"><span
<!--l. 851--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu14.html" ><span
class="cmr-12">next</span></a><span
@ -356,6 +356,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu13.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 844--><p class="indent" > <a
<!--l. 851--><p class="indent" > <a
id="tailuserhtmlsu13.html"></a>
</body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 844--><div class="crosslinks"><p class="noindent"><span
<!--l. 851--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu15.html" ><span
class="cmr-12">next</span></a><span
@ -33,8 +33,8 @@ class="cmr-12">5.7 </span></span> <a
class="cmr-12">Method free</span></h4>
<div class="center"
>
<!--l. 846--><p class="noindent" >
<!--l. 847--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 853--><p class="noindent" >
<!--l. 854--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -46,11 +46,11 @@ class="cmtt-12">,</span><span
class="cmtt-12">info</span><span
class="cmtt-12">)</span><br />
</div>
<!--l. 850--><p class="noindent" ><span
<!--l. 857--><p class="noindent" ><span
class="cmr-12">This method deallocates the preconditioner data structure </span><span class="lstinline"></span><span
class="cmtt-12">p</span><span
class="cmr-12">.</span>
<!--l. 853--><p class="noindent" ><span
<!--l. 860--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-15" class="tabular"
cellspacing="0" cellpadding="0"
@ -58,9 +58,9 @@ cellspacing="0" cellpadding="0"
id="TBL-15-1"><col
id="TBL-15-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:normal; text-align:left;" id="TBL-15-1-1"
class="td11"><!--l. 856--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 863--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-1-2"
class="td11"><!--l. 856--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 863--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -71,8 +71,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:normal; text-align:left;" id="TBL-15-2-1"
class="td11"><!--l. 857--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-2-2"
class="td11"><!--l. 857--><p class="noindent" ><span
class="td11"><!--l. 864--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-2-2"
class="td11"><!--l. 864--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -89,7 +89,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 863--><div class="crosslinks"><p class="noindent"><span
<!--l. 870--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu15.html" ><span
class="cmr-12">next</span></a><span
@ -106,6 +106,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu14.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 863--><p class="indent" > <a
<!--l. 870--><p class="indent" > <a
id="tailuserhtmlsu14.html"></a>
</body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 863--><div class="crosslinks"><p class="noindent"><span
<!--l. 870--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu16.html" ><span
class="cmr-12">next</span></a><span
@ -33,8 +33,8 @@ class="cmr-12">5.8 </span></span> <a
class="cmr-12">Method descr</span></h4>
<div class="center"
>
<!--l. 865--><p class="noindent" >
<!--l. 866--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 872--><p class="noindent" >
<!--l. 873--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -54,7 +54,7 @@ class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">verbosity</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 869--><p class="noindent" ><span
<!--l. 876--><p class="noindent" ><span
class="cmr-12">This method prints a description of the preconditioner </span><span class="lstinline"></span><span
class="cmtt-12">p</span> <span
class="cmr-12">to the standard output or to a</span>
@ -68,7 +68,7 @@ class="cmtt-12">build</span><span
class="cmr-12">, have</span>
<span
class="cmr-12">been called.</span>
<!--l. 874--><p class="noindent" ><span
<!--l. 881--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-16" class="tabular"
cellspacing="0" cellpadding="0"
@ -76,9 +76,9 @@ cellspacing="0" cellpadding="0"
id="TBL-16-1"><col
id="TBL-16-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:normal; text-align:left;" id="TBL-16-1-1"
class="td11"><!--l. 877--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 884--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-1-2"
class="td11"><!--l. 877--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 884--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -89,8 +89,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:normal; text-align:left;" id="TBL-16-2-1"
class="td11"><!--l. 878--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-2-2"
class="td11"><!--l. 878--><p class="noindent" ><span
class="td11"><!--l. 885--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-2-2"
class="td11"><!--l. 885--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -98,9 +98,9 @@ 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:normal; text-align:left;" id="TBL-16-3-1"
class="td11"><!--l. 879--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 886--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">iout</span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-3-2"
class="td11"><!--l. 879--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 886--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -113,16 +113,16 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-4-"><td style="white-space:normal; text-align:left;" id="TBL-16-4-1"
class="td11"><!--l. 880--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-4-2"
class="td11"><!--l. 880--><p class="noindent" ><span
class="td11"><!--l. 887--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-4-2"
class="td11"><!--l. 887--><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:normal; text-align:left;" id="TBL-16-5-1"
class="td11"><!--l. 882--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 889--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">root</span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-5-2"
class="td11"><!--l. 882--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 889--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -135,8 +135,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-6-"><td style="white-space:normal; text-align:left;" id="TBL-16-6-1"
class="td11"><!--l. 883--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-6-2"
class="td11"><!--l. 883--><p class="noindent" ><span
class="td11"><!--l. 890--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-6-2"
class="td11"><!--l. 890--><p class="noindent" ><span
class="cmr-12">The id of the process where the preconditioner description</span>
<span
class="cmr-12">will be printed; the default is </span><span class="lstinline"></span><span
@ -144,9 +144,9 @@ class="cmtt-12">psb_root_</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-7-"><td style="white-space:normal; text-align:left;" id="TBL-16-7-1"
class="td11"><!--l. 885--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 892--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">verbosity</span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-7-2"
class="td11"><!--l. 885--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 892--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -159,8 +159,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-16-8-"><td style="white-space:normal; text-align:left;" id="TBL-16-8-1"
class="td11"><!--l. 886--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-8-2"
class="td11"><!--l. 886--><p class="noindent" ><span
class="td11"><!--l. 893--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-8-2"
class="td11"><!--l. 893--><p class="noindent" ><span
class="cmr-12">The verbosity level of the description. Default value is 0. For</span>
<span
class="cmr-12">values higher than 0, it prints out further information, e.g., for</span>
@ -174,7 +174,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 893--><div class="crosslinks"><p class="noindent"><span
<!--l. 900--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu16.html" ><span
class="cmr-12">next</span></a><span
@ -191,6 +191,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu15.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 893--><p class="indent" > <a
<!--l. 900--><p class="indent" > <a
id="tailuserhtmlsu15.html"></a>
</body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 893--><div class="crosslinks"><p class="noindent"><span
<!--l. 900--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu15.html" ><span
class="cmr-12">prev</span></a><span
@ -28,19 +28,19 @@ class="cmr-12">] </span></p></div>
class="cmr-12">5.9 </span></span> <a
id="x26-250005.9"></a><span
class="cmr-12">Auxiliary Methods</span></h4>
<!--l. 894--><p class="noindent" ><span
<!--l. 901--><p class="noindent" ><span
class="cmr-12">Various functionalities are implemented as additional methods of the preconditioner</span>
<span
class="cmr-12">object.</span>
<!--l. 897--><p class="noindent" >
<!--l. 904--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.1 </span></span> <a
id="x26-260005.9.1"></a><span
class="cmr-12">Method: dump</span></h5>
<div class="center"
>
<!--l. 899--><p class="noindent" >
<!--l. 900--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 906--><p class="noindent" >
<!--l. 907--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -68,9 +68,9 @@ class="cmtt-12">,</span><span
class="cmtt-12">global_num</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 903--><p class="noindent" ><span
<!--l. 910--><p class="noindent" ><span
class="cmr-12">Dump on file.</span>
<!--l. 906--><p class="noindent" ><span
<!--l. 913--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-17" class="tabular"
cellspacing="0" cellpadding="0"
@ -78,9 +78,9 @@ cellspacing="0" cellpadding="0"
id="TBL-17-1"><col
id="TBL-17-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:normal; text-align:left;" id="TBL-17-1-1"
class="td11"><!--l. 909--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 916--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-17-1-2"
class="td11"><!--l. 909--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 916--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -91,8 +91,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-17-2-"><td style="white-space:normal; text-align:left;" id="TBL-17-2-1"
class="td11"><!--l. 910--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-2-2"
class="td11"><!--l. 910--><p class="noindent" ><span
class="td11"><!--l. 917--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-2-2"
class="td11"><!--l. 917--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -100,9 +100,9 @@ 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:normal; text-align:left;" id="TBL-17-3-1"
class="td11"><!--l. 911--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 918--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-17-3-2"
class="td11"><!--l. 911--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 918--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -119,8 +119,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-17-4-"><td style="white-space:normal; text-align:left;" id="TBL-17-4-1"
class="td11"><!--l. 912--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-4-2"
class="td11"><!--l. 912--><p class="noindent" ><span
class="td11"><!--l. 919--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-4-2"
class="td11"><!--l. 919--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal matrix components; this</span>
<span
class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span>
@ -134,15 +134,15 @@ class="cmr-12">.</span> </td>
</tr><tr
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. 919--><p class="noindent" >
<!--l. 926--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.2 </span></span> <a
id="x26-270005.9.2"></a><span
class="cmr-12">Method: clone</span></h5>
<div class="center"
>
<!--l. 921--><p class="noindent" >
<!--l. 922--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 928--><p class="noindent" >
<!--l. 929--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -157,9 +157,9 @@ class="cmtt-12">)</span><br />
<!--l. 925--><p class="noindent" ><span
<!--l. 932--><p class="noindent" ><span
class="cmr-12">Create a (deep) copy of the preconditioner object.</span>
<!--l. 928--><p class="noindent" ><span
<!--l. 935--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-18" class="tabular"
cellspacing="0" cellpadding="0"
@ -167,9 +167,9 @@ cellspacing="0" cellpadding="0"
id="TBL-18-1"><col
id="TBL-18-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-18-1-"><td style="white-space:normal; text-align:left;" id="TBL-18-1-1"
class="td11"><!--l. 931--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 938--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">pout</span> </td><td style="white-space:normal; text-align:left;" id="TBL-18-1-2"
class="td11"><!--l. 931--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 938--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span
class="cmtt-12">(</span><span
class="cmtt-12">amg_</span><span
@ -184,8 +184,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-18-2-"><td style="white-space:normal; text-align:left;" id="TBL-18-2-1"
class="td11"><!--l. 932--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-2-2"
class="td11"><!--l. 932--><p class="noindent" ><span
class="td11"><!--l. 939--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-2-2"
class="td11"><!--l. 939--><p class="noindent" ><span
class="cmr-12">The copy of the preconditioner data structure. Note that </span><span
class="cmti-12">x </span><span
class="cmr-12">must</span>
@ -199,9 +199,9 @@ class="cmr-12">, 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:normal; text-align:left;" id="TBL-18-3-1"
class="td11"><!--l. 935--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 942--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-18-3-2"
class="td11"><!--l. 935--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 942--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -212,8 +212,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-18-4-"><td style="white-space:normal; text-align:left;" id="TBL-18-4-1"
class="td11"><!--l. 936--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-4-2"
class="td11"><!--l. 936--><p class="noindent" ><span
class="td11"><!--l. 943--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-4-2"
class="td11"><!--l. 943--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -222,15 +222,15 @@ class="cmr-12">for details.</span> </td>
</tr><tr
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. 941--><p class="noindent" >
<!--l. 948--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.3 </span></span> <a
id="x26-280005.9.3"></a><span
class="cmr-12">Method: sizeof</span></h5>
<div class="center"
>
<!--l. 943--><p class="noindent" >
<!--l. 944--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 950--><p class="noindent" >
<!--l. 951--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">sz</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">=</span><span
@ -248,9 +248,9 @@ cellspacing="0" cellpadding="0"
id="TBL-19-1"><col
id="TBL-19-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-19-1-"><td style="white-space:normal; text-align:left;" id="TBL-19-1-1"
class="td11"><!--l. 948--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 955--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">global</span> </td> <td style="white-space:normal; text-align:left;" id="TBL-19-1-2"
class="td11"><!--l. 948--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 955--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">logical</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -258,8 +258,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-19-2-"><td style="white-space:normal; text-align:left;" id="TBL-19-2-1"
class="td11"><!--l. 949--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-19-2-2"
class="td11"><!--l. 949--><p class="noindent" ><span
class="td11"><!--l. 956--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-19-2-2"
class="td11"><!--l. 956--><p class="noindent" ><span
class="cmr-12">Whether the global or local preconditioner memory occupation is</span>
<span
class="cmr-12">desired. Default: </span><span class="lstinline"></span><span
@ -272,7 +272,7 @@ class="cmr-12">.</span> </td
class="td11"> </td> </tr></table>
</div> <span
class="cmr-12">Return memory footprint in bytes.</span>
<!--l. 956--><p class="noindent" >
<!--l. 963--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.4 </span></span> <a
id="x26-290005.9.4"></a><span
@ -280,8 +280,8 @@ class="cmr-12">Method: allocate</span><span
class="cmr-12">_wrk</span></h5>
<div class="center"
>
<!--l. 958--><p class="noindent" >
<!--l. 959--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 965--><p class="noindent" >
<!--l. 966--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -294,7 +294,7 @@ class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">vmold</span><span
class="cmtt-12">])</span><br />
</div>
<!--l. 962--><p class="noindent" ><span
<!--l. 969--><p class="noindent" ><span
class="cmr-12">Allocate internal work vectors. Each application of the preconditioner uses a number of</span>
<span
class="cmr-12">work vectors which are allocated internally as necessary; therefore allocation and</span>
@ -326,7 +326,7 @@ class="cmr-12">argument to the </span><span class="lstinline"></span><span
class="cmtt-12">apply</span>
<span
class="cmr-12">method.</span>
<!--l. 978--><p class="noindent" ><span
<!--l. 985--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-20" class="tabular"
cellspacing="0" cellpadding="0"
@ -334,9 +334,9 @@ cellspacing="0" cellpadding="0"
id="TBL-20-1"><col
id="TBL-20-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:normal; text-align:left;" id="TBL-20-1-1"
class="td11"><!--l. 981--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 988--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-20-1-2"
class="td11"><!--l. 981--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 988--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -347,8 +347,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-20-2-"><td style="white-space:normal; text-align:left;" id="TBL-20-2-1"
class="td11"><!--l. 982--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-20-2-2"
class="td11"><!--l. 982--><p class="noindent" ><span
class="td11"><!--l. 989--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-20-2-2"
class="td11"><!--l. 989--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
@ -356,9 +356,9 @@ 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:normal; text-align:left;" id="TBL-20-3-1"
class="td11"><!--l. 983--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 990--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-20-3-2"
class="td11"><!--l. 983--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 990--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span
class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span
@ -375,15 +375,15 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-20-4-"><td style="white-space:normal; text-align:left;" id="TBL-20-4-1"
class="td11"><!--l. 984--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-20-4-2"
class="td11"><!--l. 984--><p class="noindent" ><span
class="td11"><!--l. 991--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-20-4-2"
class="td11"><!--l. 991--><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-20-5-"><td style="white-space:normal; text-align:left;" id="TBL-20-5-1"
class="td11"> </td> </tr></table></div>
<!--l. 990--><p class="noindent" >
<!--l. 997--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.5 </span></span> <a
id="x26-300005.9.5"></a><span
@ -391,8 +391,8 @@ class="cmr-12">Method: free</span><span
class="cmr-12">_wrk</span></h5>
<div class="center"
>
<!--l. 992--><p class="noindent" >
<!--l. 993--><p class="noindent" ><span class="lstinline"></span><span
<!--l. 999--><p class="noindent" >
<!--l. 1000--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span
@ -402,9 +402,9 @@ class="cmtt-12">(</span><span
class="cmtt-12">info</span><span
class="cmtt-12">)</span><br />
</div>
<!--l. 996--><p class="noindent" ><span
<!--l. 1003--><p class="noindent" ><span
class="cmr-12">Deallocate internal work vectors.</span>
<!--l. 999--><p class="noindent" ><span
<!--l. 1006--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-21" class="tabular"
cellspacing="0" cellpadding="0"
@ -412,9 +412,9 @@ cellspacing="0" cellpadding="0"
id="TBL-21-1"><col
id="TBL-21-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-21-1-"><td style="white-space:normal; text-align:left;" id="TBL-21-1-1"
class="td11"><!--l. 1002--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 1009--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-21-1-2"
class="td11"><!--l. 1002--><p class="noindent" ><span class="lstinline"></span><span
class="td11"><!--l. 1009--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
@ -425,8 +425,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-21-2-"><td style="white-space:normal; text-align:left;" id="TBL-21-2-1"
class="td11"><!--l. 1003--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-21-2-2"
class="td11"><!--l. 1003--><p class="noindent" ><span
class="td11"><!--l. 1010--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-21-2-2"
class="td11"><!--l. 1010--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span

@ -160,7 +160,7 @@ class="cmr-12">.</span>
!&#x00A0;with&#x00A0;basic&#x00A0;smoothed&#x00A0;aggregation,&#x00A0;1&#x00A0;hybrid&#x00A0;forward/backward
!&#x00A0;GS&#x00A0;sweep&#x00A0;as&#x00A0;pre/post-smoother&#x00A0;and&#x00A0;UMFPACK&#x00A0;as&#x00A0;coarsest-level
!&#x00A0;solver
&#x00A0;&#x00A0;call&#x00A0;P%init(&#8217;ML&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%init(ctxt,&#8217;ML&#8217;,info)
!
!&#x00A0;build&#x00A0;the&#x00A0;preconditioner
&#x00A0;&#x00A0;call&#x00A0;P%hierarchy_build(A,desc_A,info)
@ -169,8 +169,8 @@ class="cmr-12">.</span>
!&#x00A0;set&#x00A0;the&#x00A0;solver&#x00A0;parameters&#x00A0;and&#x00A0;the&#x00A0;initial&#x00A0;guess
&#x00A0;&#x00A0;...&#x00A0;...
!
!&#x00A0;solve&#x00A0;Ax=b&#x00A0;with&#x00A0;preconditioned&#x00A0;CG
&#x00A0;&#x00A0;call&#x00A0;psb_krylov(&#8217;CG&#8217;,A,P,b,x,tol,desc_A,info)
!&#x00A0;solve&#x00A0;Ax=b&#x00A0;with&#x00A0;preconditioned&#x00A0;FCG
&#x00A0;&#x00A0;call&#x00A0;psb_krylov(&#8217;FCG&#8217;,A,P,b,x,tol,desc_A,info)
&#x00A0;&#x00A0;...&#x00A0;...
!
!&#x00A0;deallocate&#x00A0;the&#x00A0;preconditioner
@ -296,7 +296,7 @@ class="cmr-12">.</span>
!&#x00A0;build&#x00A0;a&#x00A0;V-cycle&#x00A0;preconditioner&#x00A0;with&#x00A0;1&#x00A0;block-Jacobi&#x00A0;sweep&#x00A0;(with
!&#x00A0;ILU(0)&#x00A0;on&#x00A0;the&#x00A0;blocks)&#x00A0;as&#x00A0;pre-&#x00A0;and&#x00A0;post-smoother,&#x00A0;and&#x00A0;8&#x00A0;&#x00A0;block-Jacobi
!&#x00A0;sweeps&#x00A0;(with&#x00A0;ILU(0)&#x00A0;on&#x00A0;the&#x00A0;blocks)&#x00A0;as&#x00A0;coarsest-level&#x00A0;solver
&#x00A0;&#x00A0;call&#x00A0;P%init(&#8217;ML&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%init(ctxt,&#8217;ML&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;SMOOTHER_TYPE&#8217;,&#8217;BJAC&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;COARSE_SOLVE&#8217;,&#8217;BJAC&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;COARSE_SWEEPS&#8217;,8,info)
@ -323,25 +323,27 @@ class="content">setup of a multilevel preconditioner based on the default decoup
<div class="center"
>
<!--l. 360--><p class="noindent" >
<!--l. 362--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-8">
...&#x00A0;...
!&#x00A0;build&#x00A0;a&#x00A0;W-cycle&#x00A0;preconditioner&#x00A0;with&#x00A0;2&#x00A0;hybrid&#x00A0;Gauss-Seidel&#x00A0;sweeps
!&#x00A0;as&#x00A0;pre-&#x00A0;and&#x00A0;post-smoother,&#x00A0;a&#x00A0;distributed&#x00A0;coarsest
!&#x00A0;matrix,&#x00A0;and&#x00A0;MUMPS&#x00A0;as&#x00A0;coarsest-level&#x00A0;solver
&#x00A0;&#x00A0;call&#x00A0;P%init(&#8217;ML&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%init(ctxt,&#8217;ML&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;PAR_AGGR_ALG&#8217;,&#8217;COUPLED&#8217;,info)
call&#x00A0;P%set(&#8217;AGGR_TYPE&#8217;,&#8217;MATCHBOXP&#8217;,info)
call&#x00A0;P%set(&#8217;AGGR_SIZE&#8217;,8,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;AGGR_TYPE&#8217;,&#8217;MATCHBOXP&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;AGGR_SIZE&#8217;,8,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;ML_CYCLE&#8217;,&#8217;WCYCLE&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;SMOOTHER_TYPE&#8217;,&#8217;FBGS&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;SMOOTHER_SWEEPS&#8217;,2,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;COARSE_SOLVE&#8217;,&#8217;KRM&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;COARSE_MAT&#8217;,&#8217;DIST&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;KRM_METHOD&#8217;,&#8217;FCG&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%hierarchy_build(A,desc_A,info)
&#x00A0;&#x00A0;call&#x00A0;P%smoothers_build(A,desc_A,info)
...&#x00A0;...
</pre>
<!--l. 379--><p class="nopar" ></div></div>
<!--l. 383--><p class="nopar" ></div></div>
<br /> <div class="caption"
><span class="id">Listing 3: </span><span
class="content">setup of a multilevel preconditioner based on the coupled coarsening using
@ -353,7 +355,7 @@ weighted matching</span></div><!--tex4ht:label?: x15-14003r3 -->
<!--l. 386--><p class="indent" > <a
<!--l. 390--><p class="indent" > <a
id="x15-14004r4"></a><hr class="float"><div class="float"
>
@ -361,18 +363,18 @@ weighted matching</span></div><!--tex4ht:label?: x15-14003r3 -->
<div class="center"
>
<!--l. 398--><p class="noindent" >
<!--l. 402--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-9">
...&#x00A0;...
!&#x00A0;set&#x00A0;RAS&#x00A0;with&#x00A0;overlap&#x00A0;2&#x00A0;and&#x00A0;ILU(0)&#x00A0;on&#x00A0;the&#x00A0;local&#x00A0;blocks
&#x00A0;&#x00A0;call&#x00A0;P%init(&#8217;AS&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%init(ctxt,&#8217;AS&#8217;,info)
&#x00A0;&#x00A0;call&#x00A0;P%set(&#8217;SUB_OVR&#8217;,2,info)
&#x00A0;&#x00A0;call&#x00A0;P%bld(A,desc_A,info)
...&#x00A0;...
!&#x00A0;solve&#x00A0;Ax=b&#x00A0;with&#x00A0;preconditioned&#x00A0;BiCGSTAB
&#x00A0;&#x00A0;call&#x00A0;psb_krylov(&#8217;BICGSTAB&#8217;,A,P,b,x,tol,desc_A,info)
</pre>
<!--l. 410--><p class="nopar" ></div></div>
<!--l. 414--><p class="nopar" ></div></div>
<br /> <div class="caption"
><span class="id">Listing 4: </span><span
class="content">setup of a one-level Schwarz preconditioner.</span></div><!--tex4ht:label?: x15-14004r4 -->
@ -383,7 +385,7 @@ class="content">setup of a one-level Schwarz preconditioner.</span></div><!--tex
<!--l. 420--><div class="crosslinks"><p class="noindent"><span
<!--l. 424--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu7.html" ><span
class="cmr-12">next</span></a><span
@ -394,6 +396,6 @@ class="cmr-12">] [</span><a
href="userhtmlse4.html#userhtmlsu6.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 420--><p class="indent" > <a
<!--l. 424--><p class="indent" > <a
id="tailuserhtmlsu6.html"></a>
</body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 420--><div class="crosslinks"><p class="noindent"><span
<!--l. 424--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu6.html" ><span
class="cmr-12">prev</span></a><span
@ -28,7 +28,7 @@ class="cmr-12">] </span></p></div>
class="cmr-12">4.2 </span></span> <a
id="x16-150004.2"></a><span
class="cmr-12">GPU example</span></h4>
<!--l. 422--><p class="noindent" ><span
<!--l. 426--><p class="noindent" ><span
class="cmr-12">The code discussed here shows how to set up a program exploiting the combined GPU</span>
<span
class="cmr-12">capabilities of PSBLAS and AMG4PSBLAS. The code example is available in the</span>
@ -36,14 +36,14 @@ class="cmr-12">capabilities of PSBLAS and AMG4PSBLAS. The code example is availa
class="cmr-12">source distribution directory </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">amg4psblas/examples/gpu</span></span></span><span
class="cmr-12">.</span>
<!--l. 427--><p class="indent" > <span
<!--l. 431--><p class="indent" > <span
class="cmr-12">First of all, we need to include the appropriate modules and declare some auxiliary</span>
<span
class="cmr-12">variables:</span>
<!--l. 429--><p class="indent" > <a
<!--l. 433--><p class="indent" > <a
id="x16-15001r5"></a><hr class="float"><div class="float"
>
@ -51,7 +51,7 @@ class="cmr-12">variables:</span>
<div class="center"
>
<!--l. 448--><p class="noindent" >
<!--l. 452--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-10">
program&#x00A0;amg_dexample_gpu
&#x00A0;&#x00A0;use&#x00A0;psb_base_mod
@ -69,7 +69,7 @@ program&#x00A0;amg_dexample_gpu
&#x00A0;&#x00A0;type(psb_i_vect_gpu)&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;::&#x00A0;igmold
&#x00A0;
</pre>
<!--l. 467--><p class="nopar" ></div></div>
<!--l. 471--><p class="nopar" ></div></div>
<br /> <div class="caption"
><span class="id">Listing 5: </span><span
class="content">setup of a GPU-enabled test program part one.</span></div><!--tex4ht:label?: x16-15001r5 -->
@ -77,7 +77,7 @@ class="content">setup of a GPU-enabled test program part one.</span></div><!--te
</div><hr class="endfloat" />
<!--l. 474--><p class="indent" > <span
<!--l. 478--><p class="indent" > <span
class="cmr-12">In this particular example we are choosing to employ a </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">HLG</span></span></span> <span
class="cmr-12">data structure for</span>
@ -85,7 +85,7 @@ class="cmr-12">data structure for</span>
class="cmr-12">sparse matrices on GPUs; for more information please refer to the PSBLAS-EXT users&#8217;</span>
<span
class="cmr-12">guide.</span>
<!--l. 478--><p class="indent" > <span
<!--l. 482--><p class="indent" > <span
class="cmr-12">We then have to initialize the GPU environment, and pass the appropriate MOLD</span>
<span
class="cmr-12">variables to the build methods (see also the PSBLAS and PSBLAS-EXT users&#8217;</span>
@ -94,7 +94,7 @@ class="cmr-12">guides).</span>
<!--l. 481--><p class="indent" > <a
<!--l. 485--><p class="indent" > <a
id="x16-15002r6"></a><hr class="float"><div class="float"
>
@ -102,7 +102,7 @@ class="cmr-12">guides).</span>
<div class="center"
>
<!--l. 497--><p class="noindent" >
<!--l. 501--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-11">
&#x00A0;&#x00A0;call&#x00A0;psb_init(ctxt)
&#x00A0;&#x00A0;call&#x00A0;psb_info(ctxt,iam,np)
@ -116,7 +116,7 @@ class="cmr-12">guides).</span>
&#x00A0;&#x00A0;call&#x00A0;prec%smoothers_build(a,desc_a,info,&#x00A0;amold=agmold,&#x00A0;vmold=vgmold,&#x00A0;imold=igmold)
&#x00A0;
</pre>
<!--l. 512--><p class="nopar" ></div></div>
<!--l. 516--><p class="nopar" ></div></div>
<br /> <div class="caption"
><span class="id">Listing 6: </span><span
class="content">setup of a GPU-enabled test program part two.</span></div><!--tex4ht:label?: x16-15002r6 -->
@ -124,7 +124,7 @@ class="content">setup of a GPU-enabled test program part two.</span></div><!--te
</div><hr class="endfloat" />
<!--l. 519--><p class="indent" > <span
<!--l. 523--><p class="indent" > <span
class="cmr-12">Finally, we convert the input matrix, the descriptor and the vectors to use a</span>
<span
class="cmr-12">GPU-enabled internal storage format. We then preallocate the preconditioner</span>
@ -135,7 +135,7 @@ class="cmr-12">GPU environment</span>
<!--l. 523--><p class="indent" > <a
<!--l. 527--><p class="indent" > <a
id="x16-15003r7"></a><hr class="float"><div class="float"
>
@ -143,7 +143,7 @@ class="cmr-12">GPU environment</span>
<div class="center"
>
<!--l. 552--><p class="noindent" >
<!--l. 556--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-12">
&#x00A0;&#x00A0;call&#x00A0;desc_a%cnv(mold=igmold)
&#x00A0;&#x00A0;call&#x00A0;a%cscnv(info,mold=agmold)
@ -167,7 +167,7 @@ class="cmr-12">GPU environment</span>
&#x00A0;&#x00A0;stop
&#x00A0;
</pre>
<!--l. 579--><p class="nopar" ></div></div>
<!--l. 583--><p class="nopar" ></div></div>
<br /> <div class="caption"
><span class="id">Listing 7: </span><span
class="content">setup of a GPU-enabled test program part three.</span></div><!--tex4ht:label?: x16-15003r7 -->
@ -175,7 +175,7 @@ class="content">setup of a GPU-enabled test program part three.</span></div><!--
</div><hr class="endfloat" />
<!--l. 587--><p class="indent" > <span
<!--l. 591--><p class="indent" > <span
class="cmr-12">It is very important to employ solvers that are suited to the GPU, i.e. solvers that</span>
<span
class="cmr-12">do NOT employ triangular system solve kernels. Solvers that satisfy this constraint</span>
@ -193,7 +193,7 @@ class="cmtt-12">INVT</span></span></span>
</li>
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">AINV</span></span></span></li></ul>
<!--l. 596--><p class="noindent" ><span
<!--l. 600--><p class="noindent" ><span
class="cmr-12">and their </span><span
class="cmmi-12">&#x2113;</span><sub><span
class="cmr-8">1</span></sub> <span

File diff suppressed because it is too large Load Diff

@ -174,7 +174,7 @@ the corresponding codes are available in \verb|samples/simple/fileread/|.
! 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)
call P%init(ctxt,'ML',info)
!
! build the preconditioner
call P%hierarchy_build(A,desc_A,info)
@ -184,8 +184,8 @@ the corresponding codes are available in \verb|samples/simple/fileread/|.
! 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)
! solve Ax=b with preconditioned FCG
call psb_krylov('FCG',A,P,b,x,tol,desc_A,info)
... ...
!
! deallocate the preconditioner
@ -229,7 +229,7 @@ stop
! 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)
call P%init(ctxt,'ML',info)
!
! build the preconditioner
call P%hierarchy_build(A,desc_A,info)
@ -239,8 +239,8 @@ stop
! 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)
! solve Ax=b with preconditioned FCG
call psb_krylov('FCG',A,P,b,x,tol,desc_A,info)
... ...
!
! deallocate the preconditioner
@ -307,7 +307,7 @@ boundary conditions are also available in the directory \verb|samples/simple/pde
! 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%init(ctxt,'ML',info)
call P%set('SMOOTHER_TYPE','BJAC',info)
call P%set('COARSE_SOLVE','BJAC',info)
call P%set('COARSE_SWEEPS',8,info)
@ -323,7 +323,7 @@ call P%smoothers_build(A,desc_A,info)
! 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%init(ctxt,'ML',info)
call P%set('SMOOTHER_TYPE','BJAC',info)
call P%set('COARSE_SOLVE','BJAC',info)
call P%set('COARSE_SWEEPS',8,info)
@ -345,7 +345,7 @@ call P%smoothers_build(A,desc_A,info)
!2 hybrid Gauss-Seidel sweeps as pre- and post-smoother,
!and parallel flexible Conjugate Gradient coupled with the block-Jacobi
!preconditioner having ILU(0) on the blocks as coarsest solver.
call P%init('ML',info)
call P%init(ctxt,'ML',info)
call P%set('PAR_AGGR_ALG','COUPLED',info)
call P%set('AGGR_TYPE','MATCHBOXP',info)
call P%set('AGGR_SIZE',8,info)
@ -353,6 +353,8 @@ 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','KRM',info)
call P%set('COARSE_MAT','DIST',info)
call P%set('KRM_METHOD','FCG',info)
call P%hierarchy_build(A,desc_A,info)
call P%smoothers_build(A,desc_A,info)
\end{minted}
@ -365,14 +367,16 @@ call P%smoothers_build(A,desc_A,info)
! 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%init(ctxt,'ML',info)
call P%set('PAR_AGGR_ALG','COUPLED',info)
call P%set('AGGR_TYPE','MATCHBOXP',info)
call P%set('AGGR_SIZE',8,info)
call P%set('AGGR_TYPE','MATCHBOXP',info)
call P%set('AGGR_SIZE',8,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','KRM',info)
call P%set('COARSE_MAT','DIST',info)
call P%set('KRM_METHOD','FCG',info)
call P%hierarchy_build(A,desc_A,info)
call P%smoothers_build(A,desc_A,info)
... ...
@ -387,7 +391,7 @@ call P%set('AGGR_SIZE',8,info)
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
! build a one-level RAS with overlap 2 and ILU(0) on the local blocks.
call P%init('AS',info)
call P%init(ctxt,'AS',info)
call P%set('SUB_OVR',2,info)
call P%build(A,desc_A,info)
... ...
@ -401,7 +405,7 @@ call P%build(A,desc_A,info)
\begin{verbatim}
... ...
! set RAS with overlap 2 and ILU(0) on the local blocks
call P%init('AS',info)
call P%init(ctxt,'AS',info)
call P%set('SUB_OVR',2,info)
call P%bld(A,desc_A,info)
... ...

@ -176,9 +176,10 @@ Similar considerations apply to the point-Jacobi, Gauss-Seidel and block-Jacobi
coarsest-level solvers, and shortcuts are available
in this case too (see Table~\ref{tab:p_coarse_1}). \\
\textbf{Remark 3.} Many of the coarsest-level solvers cannot be used
with both replicated and distributed coarsest-matrix layouts;
therefore, setting the solver after the layout may change the layout.
\textbf{Remark 3.} Many of the coarsest-level solvers apply to a
specific coarsest-matrix layout;
therefore, setting the solver after the layout may change the layout
to either distributed or replicated.
Similarly, setting the layout after the solver may change the solver.
More precisely, UMFPACK and SuperLU require the coarsest-level
@ -399,8 +400,14 @@ the parameter \texttt{ilev}.} \\
\fortinline|'COARSE_SOLVE'| & \fortinline|character(len=*)|
& \fortinline|'MUMPS'| \par \fortinline|'UMF'| \par
\fortinline|'SLU'| \par \fortinline|'SLUDIST'| \par
\fortinline|'JACOBI'| \par \fortinline|'GS'| \par \fortinline|'BJAC'| \par \fortinline|'KRM'|
\fortinline|'L1-JACOBI'| \par \fortinline|'L1-BJAC'| \par \fortinline|'L1-FBGS'|
\fortinline|'ILU'| \par
\fortinline|'JACOBI'| \par
\fortinline|'GS'| \par
\fortinline|'BJAC'| \par
\fortinline|'KRM'| \par
\fortinline|'L1-JACOBI'| \par
\fortinline|'L1-BJAC'| \par
\fortinline|'L1-FBGS'|
& See~Note.
& Solver used at the coarsest level: sequential
LU from MUMPS, UMFPACK, or SuperLU

@ -38,7 +38,7 @@
! File: amg_dexample_ml.f90
!
! This sample program solves a linear system obtained by discretizing a
! PDE with Dirichlet BCs. The solver is CG, coupled with one of the
! PDE with Dirichlet BCs. The solver is FCG, coupled with one of the
! following multi-level preconditioner, as explained in Section 4.1 of
! the AMG4PSBLAS User's and Reference Guide:
!
@ -121,7 +121,8 @@ program amg_dexample_ml
real(psb_dpk_) :: resmx, resmxp
real(psb_dpk_) :: t1, t2, tprec
character(len=5) :: afmt='CSR'
character(len=20) :: name, kmethod
character(len=20) :: name
character(len=20), parameter :: kmethod='FCG'
! initialize the parallel environment
@ -177,7 +178,6 @@ program amg_dexample_ml
! solver
call P%init(ctxt,'ML',info)
kmethod = 'CG'
case(2)
@ -188,15 +188,16 @@ program amg_dexample_ml
call P%init(ctxt,'ML',info)
call P%set('SMOOTHER_TYPE','BJAC',info)
call P%set('COARSE_SOLVE','BJAC',info)
call P%set('COARSE_SUBSOLVE','ILU',info)
call P%set('COARSE_SWEEPS',8,info)
kmethod = 'CG'
case(3)
! initialize a W-cycle preconditioner based on the coupled aggregation relying on matching,
! with maximum size of aggregates equal to 8 and smoothed prolongators,
! 2 hybrid forward/backward GS sweeps as pre/post-smoother, a distributed coarsest
! matrix, and preconditioned Flexible Conjugate Gradient as coarsest-level solver
! initialize a W-cycle preconditioner based on the coupled aggregation
! relying on matching, with maximum size of aggregates equal to 8
! and smoothed prolongators, 2 hybrid forward/backward GS sweeps
! as pre/post-smoother, a distributed coarsest matrix,
! and preconditioned Flexible Conjugate Gradient as coarsest-level solver
call P%init(ctxt,'ML',info)
call P%set('PAR_AGGR_ALG','COUPLED',info)
@ -206,7 +207,7 @@ program amg_dexample_ml
call P%set('SMOOTHER_SWEEPS',2,info)
call P%set('COARSE_SOLVE','KRM',info)
call P%set('COARSE_MAT','DIST',info)
kmethod = 'CG'
call P%set('KRM_METHOD','FCG',info)
end select

@ -38,7 +38,7 @@
! File: amg_sexample_ml.f90
!
! This sample program solves a linear system obtained by discretizing a
! PDE with Dirichlet BCs. The solver is CG, coupled with one of the
! PDE with Dirichlet BCs. The solver is FCG, coupled with one of the
! following multi-level preconditioner, as explained in Section 4.1 of
! the AMG4PSBLAS User's and Reference Guide:
!
@ -121,7 +121,8 @@ program amg_sexample_ml
real(psb_spk_) :: resmx, resmxp
real(psb_dpk_) :: t1, t2, tprec
character(len=5) :: afmt='CSR'
character(len=20) :: name, kmethod
character(len=20) :: name
character(len=20), parameter :: kmethod='FCG'
! initialize the parallel environment
@ -177,7 +178,6 @@ program amg_sexample_ml
! solver
call P%init(ctxt,'ML',info)
kmethod = 'CG'
case(2)
@ -188,15 +188,16 @@ program amg_sexample_ml
call P%init(ctxt,'ML',info)
call P%set('SMOOTHER_TYPE','BJAC',info)
call P%set('COARSE_SOLVE','BJAC',info)
call P%set('COARSE_SUBSOLVE','ILU',info)
call P%set('COARSE_SWEEPS',8,info)
kmethod = 'CG'
case(3)
! initialize a W-cycle preconditioner based on the coupled aggregation relying on matching,
! with maximum size of aggregates equal to 8 and smoothed prolongators,
! 2 hybrid forward/backward GS sweeps as pre/post-smoother, a distributed coarsest
! matrix, and preconditioned Flexible Conjugate Gradient as coarsest-level solver
! initialize a W-cycle preconditioner based on the coupled aggregation
! relying on matching, with maximum size of aggregates equal to 8
! and smoothed prolongators, 2 hybrid forward/backward GS sweeps
! as pre/post-smoother, a distributed coarsest matrix,
! and preconditioned Flexible Conjugate Gradient as coarsest-level solver
call P%init(ctxt,'ML',info)
call P%set('PAR_AGGR_ALG','COUPLED',info)
@ -206,7 +207,7 @@ program amg_sexample_ml
call P%set('SMOOTHER_SWEEPS',2,info)
call P%set('COARSE_SOLVE','KRM',info)
call P%set('COARSE_MAT','DIST',info)
kmethod = 'CG'
call P%set('KRM_METHOD','FCG',info)
end select

Loading…
Cancel
Save