mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 12:52:14 +00:00
Changed guide to new style
This commit is contained in:
+51
-111
@@ -10,7 +10,7 @@
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
</head><body
|
||||
>
|
||||
<!--l. 113--><div class="crosslinks"><p class="noindent">[<a
|
||||
<!--l. 111--><div class="crosslinks"><p class="noindent">[<a
|
||||
href="userhtmlsu15.html" >next</a>] [<a
|
||||
href="userhtmlsu10.html" >prev</a>] [<a
|
||||
href="userhtmlsu10.html#tailuserhtmlsu10.html" >prev-tail</a>] [<a
|
||||
@@ -18,7 +18,7 @@ href="userhtmlsu9.html#tailuserhtmlsu11.html">tail</a>] [<a
|
||||
href="userhtmlsu12.html#userhtmlsu14.html" >up</a>] </p></div>
|
||||
<h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a
|
||||
id="x20-570004.2"></a>psb_gedot — Dot Product</h4>
|
||||
<!--l. 115--><p class="noindent" >This function computes dot product between two vectors <span
|
||||
<!--l. 113--><p class="noindent" >This function computes dot product between two vectors <span
|
||||
class="cmmi-10">x </span>and <span
|
||||
class="cmmi-10">y</span>.<br
|
||||
class="newline" />If <span
|
||||
@@ -29,33 +29,43 @@ class="cmmi-10">y </span>are real vectors it computes dot-product as:
|
||||
src="userhtml2x.png" alt=" T
|
||||
dot ← x y
|
||||
" class="math-display" ></center>
|
||||
<!--l. 119--><p class="nopar" > Else if <span
|
||||
<!--l. 117--><p class="nopar" > Else if <span
|
||||
class="cmmi-10">x </span>and <span
|
||||
class="cmmi-10">y </span>are complex vectors then it computes dot-product as:
|
||||
<center class="math-display" >
|
||||
<img
|
||||
src="userhtml3x.png" alt="dot ← xHy
|
||||
" class="math-display" ></center>
|
||||
<!--l. 121--><p class="nopar" >
|
||||
<!--l. 119--><p class="nopar" >
|
||||
<!--l. 126--><p class="indent" > <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_gedot</span><span
|
||||
class="cmtt-10">(</span><span
|
||||
class="cmtt-10">x</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">y</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">desc_a</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">info</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">[,</span><span
|
||||
class="cmtt-10">global</span><span
|
||||
class="cmtt-10">])</span> <div class="table">
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-41">
|
||||
psb_gedot(x, y, desc_a, info [,global])
|
||||
</div>
|
||||
<!--l. 130--><p class="nopar" > <div class="table">
|
||||
|
||||
|
||||
|
||||
<!--l. 132--><p class="indent" > <a
|
||||
id="x20-570012"></a><hr class="float"><div class="float"
|
||||
<!--l. 128--><p class="indent" > <a
|
||||
id="x20-57001r2"></a><hr class="float"><div class="float"
|
||||
>
|
||||
|
||||
|
||||
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 133--><p class="noindent" >
|
||||
<!--l. 129--><p class="noindent" >
|
||||
<div class="tabular"> <table id="TBL-2" class="tabular"
|
||||
cellspacing="0" cellpadding="0"
|
||||
><colgroup id="TBL-2-1g"><col
|
||||
@@ -92,7 +102,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 2: </span><span
|
||||
class="content">Data types</span></div><!--tex4ht:label?: x20-570012 -->
|
||||
class="content">Data types</span></div><!--tex4ht:label?: x20-57001r2 -->
|
||||
|
||||
|
||||
|
||||
@@ -124,7 +134,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="#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. The
|
||||
href="#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>. The
|
||||
rank of <span
|
||||
class="cmmi-10">x </span>must be the same of <span
|
||||
class="cmmi-10">y</span>.
|
||||
@@ -146,7 +156,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="#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. The
|
||||
href="#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>. The
|
||||
rank of <span
|
||||
class="cmmi-10">y </span>must be the same of <span
|
||||
class="cmmi-10">x</span>.
|
||||
@@ -177,8 +187,11 @@ class="newline" />Type: <span
|
||||
class="cmbx-10">optional</span>.<br
|
||||
class="newline" />Intent: <span
|
||||
class="cmbx-10">in</span>.<br
|
||||
class="newline" />Specified as: a logical scalar. Default: <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">global=.true.</span></span></span><br
|
||||
class="newline" />Specified as: a logical scalar. Default: <span class="lstinline"></span><span
|
||||
class="cmtt-10">global</span><span
|
||||
class="cmtt-10">=.</span><span
|
||||
class="cmtt-10">true</span><span
|
||||
class="cmtt-10">.</span><br
|
||||
class="newline" />
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
@@ -191,11 +204,14 @@ class="description">is the dot product of vectors <span
|
||||
class="cmmi-10">x </span>and <span
|
||||
class="cmmi-10">y</span>.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">global </span>unless the optional variable <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">global=.false.</span></span></span> has been
|
||||
class="cmbx-10">global </span>unless the optional variable <span class="lstinline"></span><span
|
||||
class="cmtt-10">global</span><span
|
||||
class="cmtt-10">=.</span><span
|
||||
class="cmtt-10">false</span><span
|
||||
class="cmtt-10">.</span> has been
|
||||
specified<br
|
||||
class="newline" />Specified as: a number of the data type indicated in Table <a
|
||||
href="#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>.
|
||||
href="#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>.
|
||||
|
||||
|
||||
|
||||
@@ -210,7 +226,7 @@ class="cmbx-10">required </span><br
|
||||
class="newline" />Intent: <span
|
||||
class="cmbx-10">out</span>.<br
|
||||
class="newline" />An integer value; 0 means no error has been detected.</dd></dl>
|
||||
<!--l. 207--><p class="noindent" ><span
|
||||
<!--l. 203--><p class="noindent" ><span
|
||||
class="cmbx-12">Notes</span>
|
||||
<ol class="enumerate1" >
|
||||
<li
|
||||
@@ -218,95 +234,19 @@ class="cmbx-12">Notes</span>
|
||||
entails a significant overhead. It may be necessary and/or advisable to
|
||||
compute multiple dot products at the same time; in this case, it is
|
||||
possible to improve the runtime efficiency by using the following scheme:
|
||||
<!--l. 214-->
|
||||
<!--l. 218-->
|
||||
<div class="lstlisting" id="listing-1"><span class="label"><a
|
||||
id="x20-57004r1"></a></span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">vres</span><span
|
||||
class="cmtt-10">(1)</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">=</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">psb_gedot</span><span
|
||||
class="cmtt-10">(</span><span
|
||||
class="cmtt-10">x1</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">y1</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">desc_a</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">info</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">global</span><span
|
||||
class="cmtt-10">=.</span><span
|
||||
class="cmtt-10">false</span><span
|
||||
class="cmtt-10">.)</span><span
|
||||
class="cmtt-10"> </span><br /><span class="label"><a
|
||||
id="x20-57005r2"></a></span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">vres</span><span
|
||||
class="cmtt-10">(2)</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">=</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">psb_gedot</span><span
|
||||
class="cmtt-10">(</span><span
|
||||
class="cmtt-10">x2</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">y2</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">desc_a</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">info</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">global</span><span
|
||||
class="cmtt-10">=.</span><span
|
||||
class="cmtt-10">false</span><span
|
||||
class="cmtt-10">.)</span><span
|
||||
class="cmtt-10"> </span><br /><span class="label"><a
|
||||
id="x20-57006r3"></a></span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">vres</span><span
|
||||
class="cmtt-10">(3)</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">=</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">psb_gedot</span><span
|
||||
class="cmtt-10">(</span><span
|
||||
class="cmtt-10">x3</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">y3</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">desc_a</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">info</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">global</span><span
|
||||
class="cmtt-10">=.</span><span
|
||||
class="cmtt-10">false</span><span
|
||||
class="cmtt-10">.)</span><span
|
||||
class="cmtt-10"> </span><br /><span class="label"><a
|
||||
id="x20-57007r4"></a></span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">call</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">psb_sum</span><span
|
||||
class="cmtt-10">(</span><span
|
||||
class="cmtt-10">ictxt</span><span
|
||||
class="cmtt-10">,</span><span
|
||||
class="cmtt-10">vres</span><span
|
||||
class="cmtt-10">(1:3))</span>
|
||||
id="x20-57004r1"></a></span>    vres(1) = psb_gedot(x1,y1,desc_a,info,global=.<span
|
||||
class="cmbx-10">false</span>.) <br /><span class="label"><a
|
||||
id="x20-57005r2"></a></span>    vres(2) = psb_gedot(x2,y2,desc_a,info,global=.<span
|
||||
class="cmbx-10">false</span>.) <br /><span class="label"><a
|
||||
id="x20-57006r3"></a></span>    vres(3) = psb_gedot(x3,y3,desc_a,info,global=.<span
|
||||
class="cmbx-10">false</span>.) <br /><span class="label"><a
|
||||
id="x20-57007r4"></a></span>    <span
|
||||
class="cmbx-10">call</span> psb_sum(ctxt,vres(1:3))
|
||||
|
||||
</div>
|
||||
<!--l. 220--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound
|
||||
<!--l. 225--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound
|
||||
operation, is invoked only once.</li></ol>
|
||||
|
||||
|
||||
@@ -314,12 +254,12 @@ class="cmtt-10">(1:3))</span>
|
||||
|
||||
|
||||
|
||||
<!--l. 230--><div class="crosslinks"><p class="noindent">[<a
|
||||
<!--l. 235--><div class="crosslinks"><p class="noindent">[<a
|
||||
href="userhtmlsu15.html" >next</a>] [<a
|
||||
href="userhtmlsu10.html" >prev</a>] [<a
|
||||
href="userhtmlsu10.html#tailuserhtmlsu10.html" >prev-tail</a>] [<a
|
||||
href="userhtmlsu11.html" >front</a>] [<a
|
||||
href="userhtmlsu12.html#userhtmlsu14.html" >up</a>] </p></div>
|
||||
<!--l. 230--><p class="indent" > <a
|
||||
<!--l. 235--><p class="indent" > <a
|
||||
id="tailuserhtmlsu11.html"></a>
|
||||
</body></html>
|
||||
|
||||
Reference in New Issue
Block a user