Fix collective docs

maint-3.7.1
Salvatore Filippone 3 years ago
parent 040d619d08
commit cdb65796e4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -350,7 +350,7 @@ process).
<div class="center" <div class="center"
> >
<!--l. 160--><p class="noindent" > <!--l. 160--><p class="noindent" >
<div class="fbox"><div class="minipage"><pre class="verbatim" id="verbatim-85"> <div class="fbox"><div class="minipage"><pre class="verbatim" id="verbatim-92">
========================================================== ==========================================================
Process:&#x00A0;0.&#x00A0;&#x00A0;PSBLAS&#x00A0;Error&#x00A0;(4010)&#x00A0;in&#x00A0;subroutine:&#x00A0;df_sample Process:&#x00A0;0.&#x00A0;&#x00A0;PSBLAS&#x00A0;Error&#x00A0;(4010)&#x00A0;in&#x00A0;subroutine:&#x00A0;df_sample
Error&#x00A0;from&#x00A0;call&#x00A0;to&#x00A0;subroutine&#x00A0;mat&#x00A0;dist Error&#x00A0;from&#x00A0;call&#x00A0;to&#x00A0;subroutine&#x00A0;mat&#x00A0;dist

@ -150,18 +150,37 @@ class="cmtt-10">dat</span></span></span> argument is both input and output, and
even on processes different from the final result destination. even on processes different from the final result destination.
</li> </li>
<li <li
class="enumerate" id="x77-114004x2">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x77-114004x2">The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument must not be class="cmtt-10">mode</span></span></span> argument can be built with the bitwise <span class="obeylines-h"><span class="verb"><span
accessed between calls: class="cmtt-10">IOR()</span></span></span> operator; in the
following example, the argument is forcing immediate completion, hence the
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">request</span></span></span> argument needs not be specified:
<div class="center" <div class="center"
> >
<!--l. 361--><p class="noindent" > <!--l. 360--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-70"> <div class="minipage"><pre class="verbatim" id="verbatim-70">
&#x00A0;&#x00A0;call&#x00A0;psb_bcast(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
</pre>
<!--l. 364--><p class="nopar" ></div></div>
</li>
<li
class="enumerate" id="x77-114006x3">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument <span
class="cmti-10">must not </span>be
accessed between calls:
<div class="center"
>
<!--l. 380--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-71">
&#x00A0;&#x00A0;call&#x00A0;psb_bcast(ctxt,dat,mode=psb_collective_start_,request=bcast_request) &#x00A0;&#x00A0;call&#x00A0;psb_bcast(ctxt,dat,mode=psb_collective_start_,request=bcast_request)
&#x00A0;&#x00A0;....... &#x00A0;&#x00A0;.......&#x00A0;!&#x00A0;Do&#x00A0;not&#x00A0;access&#x00A0;dat
&#x00A0;&#x00A0;call&#x00A0;psb_bcast(ctxt,dat,mode=psb_collective_end_,&#x00A0;request=bcast_request) &#x00A0;&#x00A0;call&#x00A0;psb_bcast(ctxt,dat,mode=psb_collective_end_,&#x00A0;request=bcast_request)
</pre> </pre>
<!--l. 367--><p class="nopar" ></div></div> <!--l. 386--><p class="nopar" ></div></div>
</li></ol> </li></ol>
@ -169,12 +188,12 @@ class="cmtt-10">dat</span></span></span> argument must not be
<!--l. 376--><div class="crosslinks"><p class="noindent">[<a <!--l. 395--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu69.html" >next</a>] [<a href="userhtmlsu69.html" >next</a>] [<a
href="userhtmlsu64.html" >prev</a>] [<a href="userhtmlsu64.html" >prev</a>] [<a
href="userhtmlsu64.html#tailuserhtmlsu64.html" >prev-tail</a>] [<a href="userhtmlsu64.html#tailuserhtmlsu64.html" >prev-tail</a>] [<a
href="userhtmlsu65.html" >front</a>] [<a href="userhtmlsu65.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlsu68.html" >up</a>] </p></div> href="userhtmlsu59.html#userhtmlsu68.html" >up</a>] </p></div>
<!--l. 376--><p class="indent" > <a <!--l. 395--><p class="indent" > <a
id="tailuserhtmlsu65.html"></a> id="tailuserhtmlsu65.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 376--><div class="crosslinks"><p class="noindent">[<a <!--l. 395--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu70.html" >next</a>] [<a href="userhtmlsu70.html" >next</a>] [<a
href="userhtmlsu65.html" >prev</a>] [<a href="userhtmlsu65.html" >prev</a>] [<a
href="userhtmlsu65.html#tailuserhtmlsu65.html" >prev-tail</a>] [<a href="userhtmlsu65.html#tailuserhtmlsu65.html" >prev-tail</a>] [<a
@ -21,11 +21,11 @@ href="userhtmlsu59.html#userhtmlsu69.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-71"> <pre class="verbatim" id="verbatim-72">
call&#x00A0;psb_sum(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request]) call&#x00A0;psb_sum(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request])
</pre> </pre>
<!--l. 380--><p class="nopar" > <!--l. 399--><p class="nopar" >
<!--l. 382--><p class="indent" > This subroutine implements a sum reduction operation based on the underlying <!--l. 401--><p class="indent" > This subroutine implements a sum reduction operation based on the underlying
communication library. communication library.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -107,7 +107,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 423--><p class="indent" > <!--l. 442--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -138,7 +138,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 440--><p class="noindent" ><span <!--l. 459--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -147,18 +147,37 @@ class="cmtt-10">dat</span></span></span> argument is both input and output, and
even on processes different from the final result destination. even on processes different from the final result destination.
</li> </li>
<li <li
class="enumerate" id="x78-115004x2">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x78-115004x2">The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument must not be class="cmtt-10">mode</span></span></span> argument can be built with the bitwise <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">IOR()</span></span></span> operator; in the
following example, the argument is forcing immediate completion, hence the
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">request</span></span></span> argument needs not be specified:
<div class="center"
>
<!--l. 474--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-73">
&#x00A0;&#x00A0;call&#x00A0;psb_sum(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
</pre>
<!--l. 478--><p class="nopar" ></div></div>
</li>
<li
class="enumerate" id="x78-115006x3">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument <span
class="cmti-10">must not </span>be
accessed between calls: accessed between calls:
<div class="center" <div class="center"
> >
<!--l. 456--><p class="noindent" > <!--l. 494--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-72"> <div class="minipage"><pre class="verbatim" id="verbatim-74">
&#x00A0;&#x00A0;call&#x00A0;psb_sum(ctxt,dat,mode=psb_collective_start_,request=sum_request) &#x00A0;&#x00A0;call&#x00A0;psb_sum(ctxt,dat,mode=psb_collective_start_,request=sum_request)
&#x00A0;&#x00A0;....... &#x00A0;&#x00A0;.......&#x00A0;!&#x00A0;Do&#x00A0;not&#x00A0;access&#x00A0;dat
&#x00A0;&#x00A0;call&#x00A0;psb_sum(ctxt,dat,mode=psb_collective_end_,request=sum_request) &#x00A0;&#x00A0;call&#x00A0;psb_sum(ctxt,dat,mode=psb_collective_end_,request=sum_request)
</pre> </pre>
<!--l. 462--><p class="nopar" ></div></div> <!--l. 500--><p class="nopar" ></div></div>
</li></ol> </li></ol>
@ -166,12 +185,12 @@ class="cmtt-10">dat</span></span></span> argument must not be
<!--l. 470--><div class="crosslinks"><p class="noindent">[<a <!--l. 508--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu70.html" >next</a>] [<a href="userhtmlsu70.html" >next</a>] [<a
href="userhtmlsu65.html" >prev</a>] [<a href="userhtmlsu65.html" >prev</a>] [<a
href="userhtmlsu65.html#tailuserhtmlsu65.html" >prev-tail</a>] [<a href="userhtmlsu65.html#tailuserhtmlsu65.html" >prev-tail</a>] [<a
href="userhtmlsu66.html" >front</a>] [<a href="userhtmlsu66.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlsu69.html" >up</a>] </p></div> href="userhtmlsu59.html#userhtmlsu69.html" >up</a>] </p></div>
<!--l. 470--><p class="indent" > <a <!--l. 508--><p class="indent" > <a
id="tailuserhtmlsu66.html"></a> id="tailuserhtmlsu66.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 470--><div class="crosslinks"><p class="noindent">[<a <!--l. 508--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu71.html" >next</a>] [<a href="userhtmlsu71.html" >next</a>] [<a
href="userhtmlsu66.html" >prev</a>] [<a href="userhtmlsu66.html" >prev</a>] [<a
href="userhtmlsu66.html#tailuserhtmlsu66.html" >prev-tail</a>] [<a href="userhtmlsu66.html#tailuserhtmlsu66.html" >prev-tail</a>] [<a
@ -21,11 +21,11 @@ href="userhtmlsu59.html#userhtmlsu70.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-73"> <pre class="verbatim" id="verbatim-75">
call&#x00A0;psb_max(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request]) call&#x00A0;psb_max(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request])
</pre> </pre>
<!--l. 474--><p class="nopar" > <!--l. 512--><p class="nopar" >
<!--l. 476--><p class="indent" > This subroutine implements a maximum valuereduction operation based on the <!--l. 514--><p class="indent" > This subroutine implements a maximum valuereduction operation based on the
underlying communication library. underlying communication library.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -112,7 +112,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 518--><p class="indent" > <!--l. 556--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -142,7 +142,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 536--><p class="noindent" ><span <!--l. 574--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -151,18 +151,37 @@ class="cmtt-10">dat</span></span></span> argument is both input and output, and
even on processes different from the final result destination. even on processes different from the final result destination.
</li> </li>
<li <li
class="enumerate" id="x79-116004x2">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x79-116004x2">The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument must not be class="cmtt-10">mode</span></span></span> argument can be built with the bitwise <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">IOR()</span></span></span> operator; in the
following example, the argument is forcing immediate completion, hence the
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">request</span></span></span> argument needs not be specified:
<div class="center"
>
<!--l. 589--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-76">
&#x00A0;&#x00A0;call&#x00A0;psb_max(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
</pre>
<!--l. 593--><p class="nopar" ></div></div>
</li>
<li
class="enumerate" id="x79-116006x3">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument <span
class="cmti-10">must not </span>be
accessed between calls: accessed between calls:
<div class="center" <div class="center"
> >
<!--l. 552--><p class="noindent" > <!--l. 609--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-74"> <div class="minipage"><pre class="verbatim" id="verbatim-77">
&#x00A0;&#x00A0;call&#x00A0;psb_max(ctxt,dat,mode=psb_collective_start_,request=max_request) &#x00A0;&#x00A0;call&#x00A0;psb_max(ctxt,dat,mode=psb_collective_start_,request=max_request)
&#x00A0;&#x00A0;....... &#x00A0;&#x00A0;.......&#x00A0;!&#x00A0;Do&#x00A0;not&#x00A0;access&#x00A0;dat
&#x00A0;&#x00A0;call&#x00A0;psb_max(ctxt,dat,mode=psb_collective_end_,request=max_request) &#x00A0;&#x00A0;call&#x00A0;psb_max(ctxt,dat,mode=psb_collective_end_,request=max_request)
</pre> </pre>
<!--l. 558--><p class="nopar" ></div></div> <!--l. 615--><p class="nopar" ></div></div>
</li></ol> </li></ol>
@ -170,12 +189,12 @@ class="cmtt-10">dat</span></span></span> argument must not be
<!--l. 564--><div class="crosslinks"><p class="noindent">[<a <!--l. 621--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu71.html" >next</a>] [<a href="userhtmlsu71.html" >next</a>] [<a
href="userhtmlsu66.html" >prev</a>] [<a href="userhtmlsu66.html" >prev</a>] [<a
href="userhtmlsu66.html#tailuserhtmlsu66.html" >prev-tail</a>] [<a href="userhtmlsu66.html#tailuserhtmlsu66.html" >prev-tail</a>] [<a
href="userhtmlsu67.html" >front</a>] [<a href="userhtmlsu67.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlsu70.html" >up</a>] </p></div> href="userhtmlsu59.html#userhtmlsu70.html" >up</a>] </p></div>
<!--l. 564--><p class="indent" > <a <!--l. 621--><p class="indent" > <a
id="tailuserhtmlsu67.html"></a> id="tailuserhtmlsu67.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 564--><div class="crosslinks"><p class="noindent">[<a <!--l. 621--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu72.html" >next</a>] [<a href="userhtmlsu72.html" >next</a>] [<a
href="userhtmlsu67.html" >prev</a>] [<a href="userhtmlsu67.html" >prev</a>] [<a
href="userhtmlsu67.html#tailuserhtmlsu67.html" >prev-tail</a>] [<a href="userhtmlsu67.html#tailuserhtmlsu67.html" >prev-tail</a>] [<a
@ -21,11 +21,11 @@ href="userhtmlsu59.html#userhtmlsu71.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-75"> <pre class="verbatim" id="verbatim-78">
call&#x00A0;psb_min(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request]) call&#x00A0;psb_min(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request])
</pre> </pre>
<!--l. 568--><p class="nopar" > <!--l. 625--><p class="nopar" >
<!--l. 570--><p class="indent" > This subroutine implements a minimum value reduction operation based on the <!--l. 627--><p class="indent" > This subroutine implements a minimum value reduction operation based on the
underlying communication library. underlying communication library.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -111,7 +111,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 612--><p class="indent" > <!--l. 669--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -142,7 +142,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 630--><p class="noindent" ><span <!--l. 687--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -151,18 +151,37 @@ class="cmtt-10">dat</span></span></span> argument is both input and output, and
even on processes different from the final result destination. even on processes different from the final result destination.
</li> </li>
<li <li
class="enumerate" id="x80-117004x2">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x80-117004x2">The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument must not be class="cmtt-10">mode</span></span></span> argument can be built with the bitwise <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">IOR()</span></span></span> operator; in the
following example, the argument is forcing immediate completion, hence the
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">request</span></span></span> argument needs not be specified:
<div class="center"
>
<!--l. 702--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-79">
&#x00A0;&#x00A0;call&#x00A0;psb_min(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
</pre>
<!--l. 706--><p class="nopar" ></div></div>
</li>
<li
class="enumerate" id="x80-117006x3">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument <span
class="cmti-10">must not </span>be
accessed between calls: accessed between calls:
<div class="center" <div class="center"
> >
<!--l. 646--><p class="noindent" > <!--l. 722--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-76"> <div class="minipage"><pre class="verbatim" id="verbatim-80">
&#x00A0;&#x00A0;call&#x00A0;psb_min(ctxt,dat,mode=psb_collective_start_,request=min_request) &#x00A0;&#x00A0;call&#x00A0;psb_min(ctxt,dat,mode=psb_collective_start_,request=min_request)
&#x00A0;&#x00A0;....... &#x00A0;&#x00A0;.......&#x00A0;!&#x00A0;Do&#x00A0;not&#x00A0;access&#x00A0;dat
&#x00A0;&#x00A0;call&#x00A0;psb_min(ctxt,dat,mode=psb_collective_end_,request=min_request) &#x00A0;&#x00A0;call&#x00A0;psb_min(ctxt,dat,mode=psb_collective_end_,request=min_request)
</pre> </pre>
<!--l. 652--><p class="nopar" ></div></div> <!--l. 728--><p class="nopar" ></div></div>
</li></ol> </li></ol>
@ -170,12 +189,12 @@ class="cmtt-10">dat</span></span></span> argument must not be
<!--l. 658--><div class="crosslinks"><p class="noindent">[<a <!--l. 734--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu72.html" >next</a>] [<a href="userhtmlsu72.html" >next</a>] [<a
href="userhtmlsu67.html" >prev</a>] [<a href="userhtmlsu67.html" >prev</a>] [<a
href="userhtmlsu67.html#tailuserhtmlsu67.html" >prev-tail</a>] [<a href="userhtmlsu67.html#tailuserhtmlsu67.html" >prev-tail</a>] [<a
href="userhtmlsu68.html" >front</a>] [<a href="userhtmlsu68.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlsu71.html" >up</a>] </p></div> href="userhtmlsu59.html#userhtmlsu71.html" >up</a>] </p></div>
<!--l. 658--><p class="indent" > <a <!--l. 734--><p class="indent" > <a
id="tailuserhtmlsu68.html"></a> id="tailuserhtmlsu68.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 658--><div class="crosslinks"><p class="noindent">[<a <!--l. 734--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu73.html" >next</a>] [<a href="userhtmlsu73.html" >next</a>] [<a
href="userhtmlsu68.html" >prev</a>] [<a href="userhtmlsu68.html" >prev</a>] [<a
href="userhtmlsu68.html#tailuserhtmlsu68.html" >prev-tail</a>] [<a href="userhtmlsu68.html#tailuserhtmlsu68.html" >prev-tail</a>] [<a
@ -21,11 +21,11 @@ href="userhtmlsu59.html#userhtmlsu72.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-77"> <pre class="verbatim" id="verbatim-81">
call&#x00A0;psb_amx(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request]) call&#x00A0;psb_amx(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request])
</pre> </pre>
<!--l. 662--><p class="nopar" > <!--l. 738--><p class="nopar" >
<!--l. 664--><p class="indent" > This subroutine implements a maximum absolute value reduction operation based <!--l. 740--><p class="indent" > This subroutine implements a maximum absolute value reduction operation based
on the underlying communication library. on the underlying communication library.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -111,7 +111,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 706--><p class="indent" > <!--l. 782--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -141,7 +141,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 724--><p class="noindent" ><span <!--l. 800--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -150,18 +150,37 @@ class="cmtt-10">dat</span></span></span> argument is both input and output, and
even on processes different from the final result destination. even on processes different from the final result destination.
</li> </li>
<li <li
class="enumerate" id="x81-118004x2">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x81-118004x2">The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument must not be class="cmtt-10">mode</span></span></span> argument can be built with the bitwise <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">IOR()</span></span></span> operator; in the
following example, the argument is forcing immediate completion, hence the
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">request</span></span></span> argument needs not be specified:
<div class="center"
>
<!--l. 815--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-82">
&#x00A0;&#x00A0;call&#x00A0;psb_amx(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
</pre>
<!--l. 819--><p class="nopar" ></div></div>
</li>
<li
class="enumerate" id="x81-118006x3">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument <span
class="cmti-10">must not </span>be
accessed between calls: accessed between calls:
<div class="center" <div class="center"
> >
<!--l. 740--><p class="noindent" > <!--l. 835--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-78"> <div class="minipage"><pre class="verbatim" id="verbatim-83">
&#x00A0;&#x00A0;call&#x00A0;psb_amx(ctxt,dat,mode=psb_collective_start_,request=amx_request) &#x00A0;&#x00A0;call&#x00A0;psb_amx(ctxt,dat,mode=psb_collective_start_,request=amx_request)
&#x00A0;&#x00A0;....... &#x00A0;&#x00A0;.......&#x00A0;!&#x00A0;Do&#x00A0;not&#x00A0;access&#x00A0;dat
&#x00A0;&#x00A0;call&#x00A0;psb_amx(ctxt,dat,mode=psb_collective_end_,request=amx_request) &#x00A0;&#x00A0;call&#x00A0;psb_amx(ctxt,dat,mode=psb_collective_end_,request=amx_request)
</pre> </pre>
<!--l. 746--><p class="nopar" ></div></div> <!--l. 841--><p class="nopar" ></div></div>
</li></ol> </li></ol>
@ -169,12 +188,12 @@ class="cmtt-10">dat</span></span></span> argument must not be
<!--l. 752--><div class="crosslinks"><p class="noindent">[<a <!--l. 847--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu73.html" >next</a>] [<a href="userhtmlsu73.html" >next</a>] [<a
href="userhtmlsu68.html" >prev</a>] [<a href="userhtmlsu68.html" >prev</a>] [<a
href="userhtmlsu68.html#tailuserhtmlsu68.html" >prev-tail</a>] [<a href="userhtmlsu68.html#tailuserhtmlsu68.html" >prev-tail</a>] [<a
href="userhtmlsu69.html" >front</a>] [<a href="userhtmlsu69.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlsu72.html" >up</a>] </p></div> href="userhtmlsu59.html#userhtmlsu72.html" >up</a>] </p></div>
<!--l. 752--><p class="indent" > <a <!--l. 847--><p class="indent" > <a
id="tailuserhtmlsu69.html"></a> id="tailuserhtmlsu69.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 752--><div class="crosslinks"><p class="noindent">[<a <!--l. 847--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlse8.html" >next</a>] [<a href="userhtmlse8.html" >next</a>] [<a
href="userhtmlsu69.html" >prev</a>] [<a href="userhtmlsu69.html" >prev</a>] [<a
href="userhtmlsu69.html#tailuserhtmlsu69.html" >prev-tail</a>] [<a href="userhtmlsu69.html#tailuserhtmlsu69.html" >prev-tail</a>] [<a
@ -21,11 +21,11 @@ href="userhtmlsu59.html#userhtmlsu73.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-79"> <pre class="verbatim" id="verbatim-84">
call&#x00A0;psb_amn(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request]) call&#x00A0;psb_amn(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request])
</pre> </pre>
<!--l. 756--><p class="nopar" > <!--l. 851--><p class="nopar" >
<!--l. 758--><p class="indent" > This subroutine implements a minimum absolute value reduction operation based <!--l. 853--><p class="indent" > This subroutine implements a minimum absolute value reduction operation based
on the underlying communication library. on the underlying communication library.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -111,7 +111,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 800--><p class="indent" > <!--l. 895--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -142,7 +142,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 818--><p class="noindent" ><span <!--l. 913--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -151,18 +151,37 @@ class="cmtt-10">dat</span></span></span> argument is both input and output, and
even on processes different from the final result destination. even on processes different from the final result destination.
</li> </li>
<li <li
class="enumerate" id="x82-119004x2">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x82-119004x2">The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument must not be class="cmtt-10">mode</span></span></span> argument can be built with the bitwise <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">IOR()</span></span></span> operator; in the
following example, the argument is forcing immediate completion, hence the
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">request</span></span></span> argument needs not be specified:
<div class="center"
>
<!--l. 928--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-85">
&#x00A0;&#x00A0;call&#x00A0;psb_amn(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
</pre>
<!--l. 932--><p class="nopar" ></div></div>
</li>
<li
class="enumerate" id="x82-119006x3">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument <span
class="cmti-10">must not </span>be
accessed between calls: accessed between calls:
<div class="center" <div class="center"
> >
<!--l. 834--><p class="noindent" > <!--l. 948--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-80"> <div class="minipage"><pre class="verbatim" id="verbatim-86">
&#x00A0;&#x00A0;call&#x00A0;psb_amn(ctxt,dat,mode=psb_collective_start_,request=amn_request) &#x00A0;&#x00A0;call&#x00A0;psb_amn(ctxt,dat,mode=psb_collective_start_,request=amn_request)
&#x00A0;&#x00A0;....... &#x00A0;&#x00A0;.......&#x00A0;!&#x00A0;Do&#x00A0;not&#x00A0;access&#x00A0;dat
&#x00A0;&#x00A0;call&#x00A0;psb_amn(ctxt,dat,mode=psb_collective_end_,request=amn_request) &#x00A0;&#x00A0;call&#x00A0;psb_amn(ctxt,dat,mode=psb_collective_end_,request=amn_request)
</pre> </pre>
<!--l. 840--><p class="nopar" ></div></div> <!--l. 954--><p class="nopar" ></div></div>
</li></ol> </li></ol>
@ -170,12 +189,12 @@ class="cmtt-10">dat</span></span></span> argument must not be
<!--l. 846--><div class="crosslinks"><p class="noindent">[<a <!--l. 960--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlse8.html" >next</a>] [<a href="userhtmlse8.html" >next</a>] [<a
href="userhtmlsu69.html" >prev</a>] [<a href="userhtmlsu69.html" >prev</a>] [<a
href="userhtmlsu69.html#tailuserhtmlsu69.html" >prev-tail</a>] [<a href="userhtmlsu69.html#tailuserhtmlsu69.html" >prev-tail</a>] [<a
href="userhtmlsu70.html" >front</a>] [<a href="userhtmlsu70.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlsu73.html" >up</a>] </p></div> href="userhtmlsu59.html#userhtmlsu73.html" >up</a>] </p></div>
<!--l. 846--><p class="indent" > <a <!--l. 960--><p class="indent" > <a
id="tailuserhtmlsu70.html"></a> id="tailuserhtmlsu70.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 846--><div class="crosslinks"><p class="noindent">[<a <!--l. 960--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu74.html" >next</a>] [<a href="userhtmlsu74.html" >next</a>] [<a
href="userhtmlsu70.html" >prev</a>] [<a href="userhtmlsu70.html" >prev</a>] [<a
href="userhtmlsu70.html#tailuserhtmlsu70.html" >prev-tail</a>] [<a href="userhtmlsu70.html#tailuserhtmlsu70.html" >prev-tail</a>] [<a
@ -21,11 +21,11 @@ href="userhtmlsu59.html#userhtmlse8.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-81"> <pre class="verbatim" id="verbatim-87">
call&#x00A0;psb_nrm2(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request]) call&#x00A0;psb_nrm2(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request])
</pre> </pre>
<!--l. 850--><p class="nopar" > <!--l. 964--><p class="nopar" >
<!--l. 852--><p class="indent" > This subroutine implements a 2-norm value reduction operation based on the <!--l. 966--><p class="indent" > This subroutine implements a 2-norm value reduction operation based on the
underlying communication library. underlying communication library.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -111,7 +111,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 894--><p class="indent" > <!--l. 1008--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -141,7 +141,7 @@ class="cmbx-10">inout</span>.<br
class="newline" />If <span class="obeylines-h"><span class="verb"><span class="newline" />If <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must class="cmtt-10">mode</span></span></span> does not specify synchronous completion, then this variable must
be present.</dd></dl> be present.</dd></dl>
<!--l. 912--><p class="noindent" ><span <!--l. 1026--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -162,7 +162,7 @@ src="userhtml29x.png" alt=" &#x2218; &#x2211;------
res = dat2i, res = dat2i,
i i
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 918--><p class="nopar" > with care taken to avoid unnecessary overflow. <!--l. 1032--><p class="nopar" > with care taken to avoid unnecessary overflow.
</li> </li>
<li <li
class="enumerate" id="x83-120006x3">The <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x83-120006x3">The <span class="obeylines-h"><span class="verb"><span
@ -170,21 +170,37 @@ class="cmtt-10">dat</span></span></span> argument is both input and output, and
even on processes different from the final result destination. even on processes different from the final result destination.
</li> </li>
<li <li
class="enumerate" id="x83-120008x4">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x83-120008x4">The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument must not be class="cmtt-10">mode</span></span></span> argument can be built with the bitwise <span class="obeylines-h"><span class="verb"><span
accessed between calls: class="cmtt-10">IOR()</span></span></span> operator; in the
following example, the argument is forcing immediate completion, hence the
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">request</span></span></span> argument needs not be specified:
<div class="center" <div class="center"
> >
<!--l. 934--><p class="noindent" > <!--l. 1047--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-82"> <div class="minipage"><pre class="verbatim" id="verbatim-88">
&#x00A0;&#x00A0;call&#x00A0;psb_nrm2(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
</pre>
<!--l. 1051--><p class="nopar" ></div></div>
</li>
<li
class="enumerate" id="x83-120010x5">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument <span
class="cmti-10">must not </span>be
accessed between calls:
<div class="center"
>
<!--l. 1067--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-89">
&#x00A0;&#x00A0;call&#x00A0;psb_nrm2(ctxt,dat,mode=psb_collective_start_,request=nrm2_request) &#x00A0;&#x00A0;call&#x00A0;psb_nrm2(ctxt,dat,mode=psb_collective_start_,request=nrm2_request)
&#x00A0;&#x00A0;....... &#x00A0;&#x00A0;.......&#x00A0;!&#x00A0;Do&#x00A0;not&#x00A0;access&#x00A0;dat
&#x00A0;&#x00A0;call&#x00A0;psb_nrm2(ctxt,dat,mode=psb_collective_end_,request=nrm2_request) &#x00A0;&#x00A0;call&#x00A0;psb_nrm2(ctxt,dat,mode=psb_collective_end_,request=nrm2_request)
</pre> </pre>
<!--l. 940--><p class="nopar" ></div></div> <!--l. 1073--><p class="nopar" ></div></div>
</li></ol> </li></ol>
@ -192,12 +208,12 @@ class="cmtt-10">dat</span></span></span> argument must not be
<!--l. 948--><div class="crosslinks"><p class="noindent">[<a <!--l. 1081--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu74.html" >next</a>] [<a href="userhtmlsu74.html" >next</a>] [<a
href="userhtmlsu70.html" >prev</a>] [<a href="userhtmlsu70.html" >prev</a>] [<a
href="userhtmlsu70.html#tailuserhtmlsu70.html" >prev-tail</a>] [<a href="userhtmlsu70.html#tailuserhtmlsu70.html" >prev-tail</a>] [<a
href="userhtmlsu71.html" >front</a>] [<a href="userhtmlsu71.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlse8.html" >up</a>] </p></div> href="userhtmlsu59.html#userhtmlse8.html" >up</a>] </p></div>
<!--l. 948--><p class="indent" > <a <!--l. 1081--><p class="indent" > <a
id="tailuserhtmlsu71.html"></a> id="tailuserhtmlsu71.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 948--><div class="crosslinks"><p class="noindent">[<a <!--l. 1081--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu75.html" >next</a>] [<a href="userhtmlsu75.html" >next</a>] [<a
href="userhtmlsu71.html" >prev</a>] [<a href="userhtmlsu71.html" >prev</a>] [<a
href="userhtmlsu71.html#tailuserhtmlsu71.html" >prev-tail</a>] [<a href="userhtmlsu71.html#tailuserhtmlsu71.html" >prev-tail</a>] [<a
@ -21,11 +21,11 @@ href="userhtmlsu59.html#userhtmlsu74.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-83"> <pre class="verbatim" id="verbatim-90">
call&#x00A0;psb_snd(ctxt,&#x00A0;dat,&#x00A0;dst,&#x00A0;m) call&#x00A0;psb_snd(ctxt,&#x00A0;dat,&#x00A0;dst,&#x00A0;m)
</pre> </pre>
<!--l. 952--><p class="nopar" > <!--l. 1085--><p class="nopar" >
<!--l. 954--><p class="indent" > This subroutine sends a packet of data to a destination. <!--l. 1087--><p class="indent" > This subroutine sends a packet of data to a destination.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -97,7 +97,7 @@ class="cmmi-10">dat </span>is a rank 2 array, specifies the number of r
class="cmmi-10">size</span>(<span class="cmmi-10">size</span>(<span
class="cmmi-10">dat,</span>1); must have the same class="cmmi-10">dat,</span>1); must have the same
value on sending and receiving processes.</dd></dl> value on sending and receiving processes.</dd></dl>
<!--l. 988--><p class="indent" > <!--l. 1121--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -105,7 +105,7 @@ class="description"></dd></dl>
<!--l. 992--><p class="noindent" ><span <!--l. 1125--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -118,12 +118,12 @@ class="cmmi-10">dst</span>.</li></ol>
<!--l. 999--><div class="crosslinks"><p class="noindent">[<a <!--l. 1132--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu75.html" >next</a>] [<a href="userhtmlsu75.html" >next</a>] [<a
href="userhtmlsu71.html" >prev</a>] [<a href="userhtmlsu71.html" >prev</a>] [<a
href="userhtmlsu71.html#tailuserhtmlsu71.html" >prev-tail</a>] [<a href="userhtmlsu71.html#tailuserhtmlsu71.html" >prev-tail</a>] [<a
href="userhtmlsu72.html" >front</a>] [<a href="userhtmlsu72.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlsu74.html" >up</a>] </p></div> href="userhtmlsu59.html#userhtmlsu74.html" >up</a>] </p></div>
<!--l. 999--><p class="indent" > <a <!--l. 1132--><p class="indent" > <a
id="tailuserhtmlsu72.html"></a> id="tailuserhtmlsu72.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 999--><div class="crosslinks"><p class="noindent">[<a <!--l. 1132--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu72.html" >prev</a>] [<a href="userhtmlsu72.html" >prev</a>] [<a
href="userhtmlsu72.html#tailuserhtmlsu72.html" >prev-tail</a>] [<a href="userhtmlsu72.html#tailuserhtmlsu72.html" >prev-tail</a>] [<a
href="userhtmlsu70.html#tailuserhtmlsu73.html">tail</a>] [<a href="userhtmlsu70.html#tailuserhtmlsu73.html">tail</a>] [<a
@ -20,11 +20,11 @@ href="userhtmlsu59.html#userhtmlsu75.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-84"> <pre class="verbatim" id="verbatim-91">
call&#x00A0;psb_rcv(ctxt,&#x00A0;dat,&#x00A0;src,&#x00A0;m) call&#x00A0;psb_rcv(ctxt,&#x00A0;dat,&#x00A0;src,&#x00A0;m)
</pre> </pre>
<!--l. 1003--><p class="nopar" > <!--l. 1136--><p class="nopar" >
<!--l. 1005--><p class="indent" > This subroutine receives a packet of data to a destination. <!--l. 1138--><p class="indent" > This subroutine receives a packet of data to a destination.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -81,7 +81,7 @@ class="cmmi-10">dat </span>is a rank 2 array, specifies the number of r
class="cmmi-10">size</span>(<span class="cmmi-10">size</span>(<span
class="cmmi-10">dat,</span>1); must have the same class="cmmi-10">dat,</span>1); must have the same
value on sending and receiving processes.</dd></dl> value on sending and receiving processes.</dd></dl>
<!--l. 1031--><p class="indent" > <!--l. 1164--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -104,7 +104,7 @@ class="cmmi-10">m </span>is not specified, size
<!--l. 1043--><p class="noindent" ><span <!--l. 1176--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li

@ -19,7 +19,7 @@ href="userhtmlsu86.html#userhtmlsu87.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-86"> <pre class="verbatim" id="verbatim-93">
call&#x00A0;prec%init(icontxt,ptype,&#x00A0;info) call&#x00A0;prec%init(icontxt,ptype,&#x00A0;info)
</pre> </pre>
<!--l. 30--><p class="nopar" > <!--l. 30--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu86.html#userhtmlsu89.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-87"> <pre class="verbatim" id="verbatim-94">
call&#x00A0;prec%build(a,&#x00A0;desc_a,&#x00A0;info[,amold,vmold,imold]) call&#x00A0;prec%build(a,&#x00A0;desc_a,&#x00A0;info[,amold,vmold,imold])
</pre> </pre>
<!--l. 91--><p class="nopar" > <!--l. 91--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu86.html#userhtmlse11.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-88"> <pre class="verbatim" id="verbatim-95">
call&#x00A0;prec%apply(x,y,desc_a,info,trans,work) call&#x00A0;prec%apply(x,y,desc_a,info,trans,work)
call&#x00A0;prec%apply(x,desc_a,info,trans) call&#x00A0;prec%apply(x,desc_a,info,trans)
</pre> </pre>

@ -21,7 +21,7 @@ href="userhtmlsu86.html#userhtmlsu90.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-89"> <pre class="verbatim" id="verbatim-96">
call&#x00A0;prec%descr(info) call&#x00A0;prec%descr(info)
call&#x00A0;prec%descr(info,iout,&#x00A0;root) call&#x00A0;prec%descr(info,iout,&#x00A0;root)
</pre> </pre>

@ -20,7 +20,7 @@ href="userhtmlsu86.html#userhtmlli2.html" >up</a>] </p></div>
<pre class="verbatim" id="verbatim-90"> <pre class="verbatim" id="verbatim-97">
call&#x00A0;&#x00A0;prec%clone(precout,info) call&#x00A0;&#x00A0;prec%clone(precout,info)
</pre> </pre>
<!--l. 248--><p class="nopar" > <!--l. 248--><p class="nopar" >

@ -20,7 +20,7 @@ href="userhtmlsu86.html# " >up</a>] </p></div>
<pre class="verbatim" id="verbatim-91"> <pre class="verbatim" id="verbatim-98">
call&#x00A0;prec%free(info) call&#x00A0;prec%free(info)
</pre> </pre>
<!--l. 271--><p class="nopar" > <!--l. 271--><p class="nopar" >

File diff suppressed because it is too large Load Diff

@ -347,13 +347,32 @@ variable must be present.
\item The \verb|dat| argument is both input and output, and its \item The \verb|dat| argument is both input and output, and its
value may be changed even on processes different from the final value may be changed even on processes different from the final
result destination. result destination.
\item The \verb|mode| argument can be built with the bitwise
\verb|IOR()| operator; in the following example, the argument is
forcing immediate completion, hence the \verb|request| argument
needs not be specified:
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_bcast(ctxt,dat,&
& mode=ior(psb_collective_start_,psb_collective_end_))
\end{minted}
\else
\begin{center}
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
call psb_bcast(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
\end{verbatim}
\end{minipage}
\end{center}
\fi
\item When splitting the operation in two calls, the \verb|dat| \item When splitting the operation in two calls, the \verb|dat|
argument must not be accessed between calls: argument \emph{must not} be accessed between calls:
\ifpdf \ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran} \begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_bcast(ctxt,dat,mode=psb_collective_start_,& call psb_bcast(ctxt,dat,mode=psb_collective_start_,&
& request=bcast_request) & request=bcast_request)
....... ....... ! Do not access dat
call psb_bcast(ctxt,dat,mode=psb_collective_end_,& call psb_bcast(ctxt,dat,mode=psb_collective_end_,&
& request=bcast_request) & request=bcast_request)
\end{minted} \end{minted}
@ -362,7 +381,7 @@ variable must be present.
\begin{minipage}[tl]{0.9\textwidth} \begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim} \begin{verbatim}
call psb_bcast(ctxt,dat,mode=psb_collective_start_,request=bcast_request) call psb_bcast(ctxt,dat,mode=psb_collective_start_,request=bcast_request)
....... ....... ! Do not access dat
call psb_bcast(ctxt,dat,mode=psb_collective_end_, request=bcast_request) call psb_bcast(ctxt,dat,mode=psb_collective_end_, request=bcast_request)
\end{verbatim} \end{verbatim}
\end{minipage} \end{minipage}
@ -442,13 +461,32 @@ variable must be present.
\item The \verb|dat| argument is both input and output, and its \item The \verb|dat| argument is both input and output, and its
value may be changed even on processes different from the final value may be changed even on processes different from the final
result destination. result destination.
\item The \verb|mode| argument can be built with the bitwise
\verb|IOR()| operator; in the following example, the argument is
forcing immediate completion, hence the \verb|request| argument
needs not be specified:
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_sum(ctxt,dat,&
& mode=ior(psb_collective_start_,psb_collective_end_))
\end{minted}
\else
\begin{center}
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
call psb_sum(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
\end{verbatim}
\end{minipage}
\end{center}
\fi
\item When splitting the operation in two calls, the \verb|dat| \item When splitting the operation in two calls, the \verb|dat|
argument must not be accessed between calls: argument \emph{must not} be accessed between calls:
\ifpdf \ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran} \begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_sum(ctxt,dat,mode=psb_collective_start_,& call psb_sum(ctxt,dat,mode=psb_collective_start_,&
& request=sum_request) & request=sum_request)
....... ....... ! Do not access dat
call psb_sum(ctxt,dat,mode=psb_collective_end_,& call psb_sum(ctxt,dat,mode=psb_collective_end_,&
& request=sum_request) & request=sum_request)
\end{minted} \end{minted}
@ -457,7 +495,7 @@ variable must be present.
\begin{minipage}[tl]{0.9\textwidth} \begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim} \begin{verbatim}
call psb_sum(ctxt,dat,mode=psb_collective_start_,request=sum_request) call psb_sum(ctxt,dat,mode=psb_collective_start_,request=sum_request)
....... ....... ! Do not access dat
call psb_sum(ctxt,dat,mode=psb_collective_end_,request=sum_request) call psb_sum(ctxt,dat,mode=psb_collective_end_,request=sum_request)
\end{verbatim} \end{verbatim}
\end{minipage} \end{minipage}
@ -538,13 +576,32 @@ variable must be present.
\item The \verb|dat| argument is both input and output, and its \item The \verb|dat| argument is both input and output, and its
value may be changed even on processes different from the final value may be changed even on processes different from the final
result destination. result destination.
\item The \verb|mode| argument can be built with the bitwise
\verb|IOR()| operator; in the following example, the argument is
forcing immediate completion, hence the \verb|request| argument
needs not be specified:
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_max(ctxt,dat,&
& mode=ior(psb_collective_start_,psb_collective_end_))
\end{minted}
\else
\begin{center}
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
call psb_max(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
\end{verbatim}
\end{minipage}
\end{center}
\fi
\item When splitting the operation in two calls, the \verb|dat| \item When splitting the operation in two calls, the \verb|dat|
argument must not be accessed between calls: argument \emph{must not} be accessed between calls:
\ifpdf \ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran} \begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_max(ctxt,dat,mode=psb_collective_start_,& call psb_max(ctxt,dat,mode=psb_collective_start_,&
& request=max_request) & request=max_request)
....... ....... ! Do not access dat
call psb_max(ctxt,dat,mode=psb_collective_end_,& call psb_max(ctxt,dat,mode=psb_collective_end_,&
& request=max_request) & request=max_request)
\end{minted} \end{minted}
@ -553,7 +610,7 @@ variable must be present.
\begin{minipage}[tl]{0.9\textwidth} \begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim} \begin{verbatim}
call psb_max(ctxt,dat,mode=psb_collective_start_,request=max_request) call psb_max(ctxt,dat,mode=psb_collective_start_,request=max_request)
....... ....... ! Do not access dat
call psb_max(ctxt,dat,mode=psb_collective_end_,request=max_request) call psb_max(ctxt,dat,mode=psb_collective_end_,request=max_request)
\end{verbatim} \end{verbatim}
\end{minipage} \end{minipage}
@ -632,13 +689,32 @@ variable must be present.
\item The \verb|dat| argument is both input and output, and its \item The \verb|dat| argument is both input and output, and its
value may be changed even on processes different from the final value may be changed even on processes different from the final
result destination. result destination.
\item The \verb|mode| argument can be built with the bitwise
\verb|IOR()| operator; in the following example, the argument is
forcing immediate completion, hence the \verb|request| argument
needs not be specified:
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_min(ctxt,dat,&
& mode=ior(psb_collective_start_,psb_collective_end_))
\end{minted}
\else
\begin{center}
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
call psb_min(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
\end{verbatim}
\end{minipage}
\end{center}
\fi
\item When splitting the operation in two calls, the \verb|dat| \item When splitting the operation in two calls, the \verb|dat|
argument must not be accessed between calls: argument \emph{must not} be accessed between calls:
\ifpdf \ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran} \begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_min(ctxt,dat,mode=psb_collective_start_,& call psb_min(ctxt,dat,mode=psb_collective_start_,&
& request=min_request) & request=min_request)
....... ....... ! Do not access dat
call psb_min(ctxt,dat,mode=psb_collective_end_,& call psb_min(ctxt,dat,mode=psb_collective_end_,&
& request=min_request) & request=min_request)
\end{minted} \end{minted}
@ -647,7 +723,7 @@ variable must be present.
\begin{minipage}[tl]{0.9\textwidth} \begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim} \begin{verbatim}
call psb_min(ctxt,dat,mode=psb_collective_start_,request=min_request) call psb_min(ctxt,dat,mode=psb_collective_start_,request=min_request)
....... ....... ! Do not access dat
call psb_min(ctxt,dat,mode=psb_collective_end_,request=min_request) call psb_min(ctxt,dat,mode=psb_collective_end_,request=min_request)
\end{verbatim} \end{verbatim}
\end{minipage} \end{minipage}
@ -726,13 +802,32 @@ variable must be present.
\item The \verb|dat| argument is both input and output, and its \item The \verb|dat| argument is both input and output, and its
value may be changed even on processes different from the final value may be changed even on processes different from the final
result destination. result destination.
\item The \verb|mode| argument can be built with the bitwise
\verb|IOR()| operator; in the following example, the argument is
forcing immediate completion, hence the \verb|request| argument
needs not be specified:
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_amx(ctxt,dat,&
& mode=ior(psb_collective_start_,psb_collective_end_))
\end{minted}
\else
\begin{center}
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
call psb_amx(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
\end{verbatim}
\end{minipage}
\end{center}
\fi
\item When splitting the operation in two calls, the \verb|dat| \item When splitting the operation in two calls, the \verb|dat|
argument must not be accessed between calls: argument \emph{must not} be accessed between calls:
\ifpdf \ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran} \begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_amx(ctxt,dat,mode=psb_collective_start_,& call psb_amx(ctxt,dat,mode=psb_collective_start_,&
& request=amx_request) & request=amx_request)
....... ....... ! Do not access dat
call psb_amx(ctxt,dat,mode=psb_collective_end_,& call psb_amx(ctxt,dat,mode=psb_collective_end_,&
& request=amx_request) & request=amx_request)
\end{minted} \end{minted}
@ -741,7 +836,7 @@ call psb_amx(ctxt,dat,mode=psb_collective_start_,&
\begin{minipage}[tl]{0.9\textwidth} \begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim} \begin{verbatim}
call psb_amx(ctxt,dat,mode=psb_collective_start_,request=amx_request) call psb_amx(ctxt,dat,mode=psb_collective_start_,request=amx_request)
....... ....... ! Do not access dat
call psb_amx(ctxt,dat,mode=psb_collective_end_,request=amx_request) call psb_amx(ctxt,dat,mode=psb_collective_end_,request=amx_request)
\end{verbatim} \end{verbatim}
\end{minipage} \end{minipage}
@ -820,13 +915,32 @@ variable must be present.
\item The \verb|dat| argument is both input and output, and its \item The \verb|dat| argument is both input and output, and its
value may be changed even on processes different from the final value may be changed even on processes different from the final
result destination. result destination.
\item The \verb|mode| argument can be built with the bitwise
\verb|IOR()| operator; in the following example, the argument is
forcing immediate completion, hence the \verb|request| argument
needs not be specified:
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_amn(ctxt,dat,&
& mode=ior(psb_collective_start_,psb_collective_end_))
\end{minted}
\else
\begin{center}
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
call psb_amn(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
\end{verbatim}
\end{minipage}
\end{center}
\fi
\item When splitting the operation in two calls, the \verb|dat| \item When splitting the operation in two calls, the \verb|dat|
argument must not be accessed between calls: argument \emph{must not} be accessed between calls:
\ifpdf \ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran} \begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_amn(ctxt,dat,mode=psb_collective_start_,& call psb_amn(ctxt,dat,mode=psb_collective_start_,&
& request=amn_request) & request=amn_request)
....... ....... ! Do not access dat
call psb_amn(ctxt,dat,mode=psb_collective_end_,& call psb_amn(ctxt,dat,mode=psb_collective_end_,&
& request=amn_request) & request=amn_request)
\end{minted} \end{minted}
@ -835,7 +949,7 @@ variable must be present.
\begin{minipage}[tl]{0.9\textwidth} \begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim} \begin{verbatim}
call psb_amn(ctxt,dat,mode=psb_collective_start_,request=amn_request) call psb_amn(ctxt,dat,mode=psb_collective_start_,request=amn_request)
....... ....... ! Do not access dat
call psb_amn(ctxt,dat,mode=psb_collective_end_,request=amn_request) call psb_amn(ctxt,dat,mode=psb_collective_end_,request=amn_request)
\end{verbatim} \end{verbatim}
\end{minipage} \end{minipage}
@ -920,13 +1034,32 @@ variable must be present.
\item The \verb|dat| argument is both input and output, and its \item The \verb|dat| argument is both input and output, and its
value may be changed even on processes different from the final value may be changed even on processes different from the final
result destination. result destination.
\item The \verb|mode| argument can be built with the bitwise
\verb|IOR()| operator; in the following example, the argument is
forcing immediate completion, hence the \verb|request| argument
needs not be specified:
\ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_nrm2(ctxt,dat,&
& mode=ior(psb_collective_start_,psb_collective_end_))
\end{minted}
\else
\begin{center}
\begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim}
call psb_nrm2(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))
\end{verbatim}
\end{minipage}
\end{center}
\fi
\item When splitting the operation in two calls, the \verb|dat| \item When splitting the operation in two calls, the \verb|dat|
argument must not be accessed between calls: argument \emph{must not} be accessed between calls:
\ifpdf \ifpdf
\begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran} \begin{minted}[breaklines=true,bgcolor=bg,fontsize=\small]{fortran}
call psb_nrm2(ctxt,dat,mode=psb_collective_start_,& call psb_nrm2(ctxt,dat,mode=psb_collective_start_,&
& request=nrm2_request) & request=nrm2_request)
....... ....... ! Do not access dat
call psb_nrm2(ctxt,dat,mode=psb_collective_end_,& call psb_nrm2(ctxt,dat,mode=psb_collective_end_,&
& request=nrm2_request) & request=nrm2_request)
\end{minted} \end{minted}
@ -935,7 +1068,7 @@ call psb_nrm2(ctxt,dat,mode=psb_collective_start_,&
\begin{minipage}[tl]{0.9\textwidth} \begin{minipage}[tl]{0.9\textwidth}
\begin{verbatim} \begin{verbatim}
call psb_nrm2(ctxt,dat,mode=psb_collective_start_,request=nrm2_request) call psb_nrm2(ctxt,dat,mode=psb_collective_start_,request=nrm2_request)
....... ....... ! Do not access dat
call psb_nrm2(ctxt,dat,mode=psb_collective_end_,request=nrm2_request) call psb_nrm2(ctxt,dat,mode=psb_collective_end_,request=nrm2_request)
\end{verbatim} \end{verbatim}
\end{minipage} \end{minipage}

Loading…
Cancel
Save