mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 12:52:14 +00:00
Updates to user guide
This commit is contained in:
+30
-30
@@ -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 <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 — Halo Data Communication</h4>
|
||||
id="x11-740005.1"></a>psb_halo — 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 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> containing numbers of type specified in Table <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 <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 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. <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 — Overlap Update</h4>
|
||||
id="x11-750005.2"></a>psb_ovrl — 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 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> containing numbers of type specified in Table <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 <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 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. <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. <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 — Gather Global Dense Matrix</h4>
|
||||
id="x11-760005.3"></a>psb_gather — 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 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> indicated in Table <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 — Scatter Global Dense Matrix</h4>
|
||||
id="x11-770005.4"></a>psb_scatter — 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 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> containing numbers of the type indicated in Table <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
|
||||
|
||||
Reference in New Issue
Block a user