Updates to user guide

This commit is contained in:
sfilippone
2025-05-15 11:53:31 +02:00
parent b71459a38f
commit 695f31aa81
31 changed files with 18455 additions and 18160 deletions
+30 -30
View File
@@ -17,16 +17,16 @@ href="userhtmlse4.html#tailuserhtmlse4.html" >prev-tail</a>] [<a
href="#tailuserhtmlse5.html">tail</a>] [<a
href="userhtml.html#userhtmlse8.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">5 </span> <a
id="x10-720005"></a>Communication routines</h3>
id="x11-730005"></a>Communication routines</h3>
<!--l. 7--><p class="noindent" >The routines in this chapter implement various global communication operators on
vectors associated with a discretization mesh. For auxiliary communication routines
not tied to a discretization space see&#x00A0;<a
href="userhtmlse6.html#x11-770006">6<!--tex4ht:ref: sec:toolsrout --></a>.
href="userhtmlse6.html#x12-780006">6<!--tex4ht:ref: sec:toolsrout --></a>.
<h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a
id="x10-730005.1"></a>psb_halo &#8212; Halo Data Communication</h4>
id="x11-740005.1"></a>psb_halo &#8212; Halo Data Communication</h4>
<!--l. 14--><p class="noindent" >These subroutines gathers the values of the halo elements:
<div class="par-math-display" >
<img
@@ -44,7 +44,7 @@ class="description">
<!--l. 23--><p class="indent" > <a
id="x10-73001r17"></a><hr class="float"><div class="float"
id="x11-74001r17"></a><hr class="float"><div class="float"
>
@@ -91,7 +91,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table> </div></div>
<br /><div class="caption"
><span class="id">Table&#x00A0;17: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x10-73001r17 -->
class="content">Data types</span></div><!--tex4ht:label?: x11-74001r17 -->
@@ -131,7 +131,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x10-73001r17">17<!--tex4ht:ref: tab:f90halo --></a>.
href="#x11-74001r17">17<!--tex4ht:ref: tab:f90halo --></a>.
</dd><dt class="description">
<!--l. 53--><p class="noindent" >
<span
@@ -202,7 +202,7 @@ class="newline" />Intent: <span
class="pplb7t-">inout</span>.<br
class="newline" />Returned as: a rank one or two array containing numbers of type
specified in Table&#x00A0;<a
href="#x10-73001r17">17<!--tex4ht:ref: tab:f90halo --></a>.
href="#x11-74001r17">17<!--tex4ht:ref: tab:f90halo --></a>.
</dd><dt class="description">
<!--l. 79--><p class="noindent" >
<span
@@ -219,7 +219,7 @@ class="pplb7t-">out</span>.<br
class="newline" />An integer value that contains an error code.</dd></dl>
<!--l. 85--><p class="noindent" ><hr class="figure"><div class="figure"
><a
id="x10-73002r3"></a>
id="x11-74002r3"></a>
<div class="center"
>
<!--l. 86--><p class="noindent" >
@@ -228,11 +228,11 @@ src="try8x8.png" alt="PIC"
width="32" height="32" ></div>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;3: </span><span
class="content">Sample discretization mesh.</span></div><!--tex4ht:label?: x10-73002r3 -->
class="content">Sample discretization mesh.</span></div><!--tex4ht:label?: x11-74002r3 -->
<!--l. 94--><p class="indent" > </div><hr class="endfigure">
<!--l. 96--><p class="noindent" ><span
class="pplb7t-x-x-120">Usage Example </span>Consider the discretization mesh depicted in fig.&#x00A0;<a
href="#x10-73002r3">3<!--tex4ht:ref: fig:try8x8 --></a>, partitioned
href="#x11-74002r3">3<!--tex4ht:ref: fig:try8x8 --></a>, partitioned
among two processes as shown by the dashed line; the data distribution is such that
each process will own 32 entries in the index space, with a halo made of 8 entries
placed at local indices 33 through 40. If process 0 assigns an initial value of 1
@@ -842,7 +842,7 @@ class="td11"> </td></tr></table>
<h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a
id="x10-740005.2"></a>psb_ovrl &#8212; Overlap Update</h4>
id="x11-750005.2"></a>psb_ovrl &#8212; Overlap Update</h4>
<!--l. 164--><p class="noindent" >These subroutines applies an overlap operator to the input vector:
<div class="par-math-display" >
<img
@@ -871,7 +871,7 @@ class="zplmr7m-x-x-76">T</span></sup>.</dd></dl>
<!--l. 174--><p class="indent" > <a
id="x10-74001r18"></a><hr class="float"><div class="float"
id="x11-75001r18"></a><hr class="float"><div class="float"
>
@@ -913,7 +913,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table> </div></div>
<br /><div class="caption"
><span class="id">Table&#x00A0;18: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x10-74001r18 -->
class="content">Data types</span></div><!--tex4ht:label?: x11-75001r18 -->
@@ -953,7 +953,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x10-74001r18">18<!--tex4ht:ref: tab:f90ovrl --></a>.
href="#x11-75001r18">18<!--tex4ht:ref: tab:f90ovrl --></a>.
</dd><dt class="description">
<!--l. 203--><p class="noindent" >
<span
@@ -1060,7 +1060,7 @@ class="newline" />Intent: <span
class="pplb7t-">inout</span>.<br
class="newline" />Specified as: an array of rank one or two containing numbers of type specified
in Table&#x00A0;<a
href="#x10-74001r18">18<!--tex4ht:ref: tab:f90ovrl --></a>.
href="#x11-75001r18">18<!--tex4ht:ref: tab:f90ovrl --></a>.
</dd><dt class="description">
<!--l. 234--><p class="noindent" >
<span
@@ -1078,7 +1078,7 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
class="pplb7t-x-x-120">Notes</span>
<ol class="enumerate1" >
<li
class="enumerate" id="x10-74003x1">
class="enumerate" id="x11-75003x1">
@@ -1086,7 +1086,7 @@ class="pplb7t-x-x-120">Notes</span>
descriptor, no operations are performed;
</li>
<li
class="enumerate" id="x10-74005x2">
class="enumerate" id="x11-75005x2">
<!--l. 246--><p class="noindent" >The operator <span
class="zplmr7m-">P</span><sup><span
class="zplmr7m-x-x-76">T</span></sup> performs the reduction sum of overlap elements; it is a
@@ -1096,7 +1096,7 @@ class="zplmr7m-x-x-76">T</span></sup> that replicates overlap elements, accounti
for the physical replication of data;
</li>
<li
class="enumerate" id="x10-74007x3">
class="enumerate" id="x11-75007x3">
<!--l. 250--><p class="noindent" >The operator <span
class="zplmr7m-">P</span><sub><span
class="zplmr7m-x-x-76">a</span></sub> performs a scaling on the overlap elements by the
@@ -1109,7 +1109,7 @@ class="zplmr7m-x-x-76">a</span></sub> performs a scaling on the overlap el
<a
id="x10-74008r4"></a>
id="x11-75008r4"></a>
@@ -1121,17 +1121,17 @@ src="try8x8_ov.png" alt="PIC"
width="46" height="46" ></div>
<br /> <div class="caption"
><span class="id">Figure&#x00A0;4: </span><span
class="content">Sample discretization mesh.</span></div><!--tex4ht:label?: x10-74008r4 -->
class="content">Sample discretization mesh.</span></div><!--tex4ht:label?: x11-75008r4 -->
<!--l. 270--><p class="indent" > </div><hr class="endfigure">
<!--l. 271--><p class="noindent" ><span
class="pplb7t-x-x-120">Example of use </span>Consider the discretization mesh depicted in fig.&#x00A0;<a
href="#x10-74008r4">4<!--tex4ht:ref: fig:try8x8_ov --></a>, partitioned
href="#x11-75008r4">4<!--tex4ht:ref: fig:try8x8_ov --></a>, partitioned
among two processes as shown by the dashed lines, with an overlap of 1 extra
layer with respect to the partition of fig.&#x00A0;<a
href="#x10-73002r3">3<!--tex4ht:ref: fig:try8x8 --></a>; the data distribution is such that
href="#x11-74002r3">3<!--tex4ht:ref: fig:try8x8 --></a>; the data distribution is such that
each process will own 40 entries in the index space, with an overlap of 16
entries placed at local indices 25 through 40; the halo will run from local
index 41 through local index 48.. If process 0 assigns an initial value of 1 to
@@ -1853,7 +1853,7 @@ class="td11"> </td></tr></table>
<h4 class="subsectionHead"><span class="titlemark">5.3 </span> <a
id="x10-750005.3"></a>psb_gather &#8212; Gather Global Dense Matrix</h4>
id="x11-760005.3"></a>psb_gather &#8212; Gather Global Dense Matrix</h4>
<!--l. 353--><p class="noindent" >These subroutines collect the portions of global dense matrix distributed over all
process into one single array stored on one process.
<div class="par-math-display" >
@@ -1896,7 +1896,7 @@ class="description">
<!--l. 366--><p class="indent" > <a
id="x10-75001r19"></a><hr class="float"><div class="float"
id="x11-76001r19"></a><hr class="float"><div class="float"
>
@@ -1944,7 +1944,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table> </div></div>
<br /><div class="caption"
><span class="id">Table&#x00A0;19: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x10-75001r19 -->
class="content">Data types</span></div><!--tex4ht:label?: x11-76001r19 -->
@@ -1986,7 +1986,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;indicated in Table&#x00A0;<a
href="#x10-75001r19">19<!--tex4ht:ref: tab:gather --></a>.
href="#x11-76001r19">19<!--tex4ht:ref: tab:gather --></a>.
</dd><dt class="description">
<!--l. 397--><p class="noindent" >
<span
@@ -2069,7 +2069,7 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<h4 class="subsectionHead"><span class="titlemark">5.4 </span> <a
id="x10-760005.4"></a>psb_scatter &#8212; Scatter Global Dense Matrix</h4>
id="x11-770005.4"></a>psb_scatter &#8212; Scatter Global Dense Matrix</h4>
<!--l. 453--><p class="noindent" >These subroutines scatters the portions of global dense matrix owned by a process to
all the processes in the processes grid.
<div class="par-math-display" >
@@ -2112,7 +2112,7 @@ class="description">
<!--l. 465--><p class="indent" > <a
id="x10-76001r20"></a><hr class="float"><div class="float"
id="x11-77001r20"></a><hr class="float"><div class="float"
>
@@ -2160,7 +2160,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table> </div></div>
<br /><div class="caption"
><span class="id">Table&#x00A0;20: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x10-76001r20 -->
class="content">Data types</span></div><!--tex4ht:label?: x11-77001r20 -->
@@ -2291,7 +2291,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of the type indicated in Table&#x00A0;<a
href="#x10-76001r20">20<!--tex4ht:ref: tab:scatter --></a>.
href="#x11-77001r20">20<!--tex4ht:ref: tab:scatter --></a>.
</dd><dt class="description">
<!--l. 542--><p class="noindent" >
<span