You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
psblas3/docs/html/userhtmlsu65.html

181 lines
7.8 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html >
<head><title>psb_bcast &#8212; Broadcast data</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html,3 -->
<meta name="src" content="userhtml.tex">
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 280--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu69.html" >next</a>] [<a
href="userhtmlsu64.html" >prev</a>] [<a
href="userhtmlsu64.html#tailuserhtmlsu64.html" >prev-tail</a>] [<a
href="userhtmlsu62.html#tailuserhtmlsu65.html">tail</a>] [<a
href="userhtmlsu59.html#userhtmlsu68.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">7.9 </span> <a
id="x77-1140007.9"></a>psb_bcast &#8212; Broadcast data</h4>
<pre class="verbatim" id="verbatim-69">
call&#x00A0;psb_bcast(ctxt,&#x00A0;dat&#x00A0;[,&#x00A0;root,&#x00A0;mode,&#x00A0;request])
</pre>
<!--l. 284--><p class="nopar" >
<!--l. 286--><p class="indent" > This subroutine implements a broadcast operation based on the underlying
communication library.
<dl class="description"><dt class="description">
<span
class="cmbx-10">Type:</span> </dt><dd
class="description">Synchronous.
</dd><dt class="description">
<span
class="cmbx-10">On Entry</span> </dt><dd
class="description">
</dd><dt class="description">
<span
class="cmbx-10">ctxt</span> </dt><dd
class="description">the communication context identifying the virtual parallel machine.<br
class="newline" />Scope: <span
class="cmbx-10">global</span>.<br
class="newline" />Type: <span
class="cmbx-10">required</span>.<br
class="newline" />Intent: <span
class="cmbx-10">in</span>.<br
class="newline" />Specified as: an integer variable.
</dd><dt class="description">
<span
class="cmbx-10">dat</span> </dt><dd
class="description">On the root process, the data to be broadcast.<br
class="newline" />Scope: <span
class="cmbx-10">global</span>.<br
class="newline" />Type: <span
class="cmbx-10">required</span>.<br
class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br
class="newline" />Specified as: an integer, real or complex variable, which may be a scalar,
or a rank 1 or 2 array, or a character or logical variable, which may be
a scalar or rank 1 array. &#x00A0;Type, kind, rank and size must agree on all
processes.
</dd><dt class="description">
<span
class="cmbx-10">root</span> </dt><dd
class="description">Root process holding data to be broadcast.<br
class="newline" />Scope: <span
class="cmbx-10">global</span>.<br
class="newline" />Type: <span
class="cmbx-10">optional</span>.<br
class="newline" />Intent: <span
class="cmbx-10">in</span>.<br
class="newline" />Specified as: an integer value 0 <span
class="cmmi-10">&#x003C;</span>= <span
class="cmmi-10">root &#x003C;</span>= <span
class="cmmi-10">np </span><span
class="cmsy-10">- </span>1, default 0 &#x00A0;
</dd><dt class="description">
<span
class="cmbx-10">mode</span> </dt><dd
class="description">Whether the call is started in non-blocking mode and completed later,
or is executed synchronously.<br
class="newline" />Scope: <span
class="cmbx-10">global</span>.<br
class="newline" />Type: <span
class="cmbx-10">optional</span>.<br
class="newline" />Intent: <span
class="cmbx-10">in</span>.<br
class="newline" />Specified as: an integer value. The action to be taken is determined by
its bit fields, which can be set with bitwise <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">OR</span></span></span>. Basic action values are
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10">psb_collective_start_</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">psb_collective_end_</span></span></span>. Default: both fields are
selected (i.e. require synchronous completion).<br
class="newline" />
</dd><dt class="description">
<span
class="cmbx-10">request</span> </dt><dd
class="description">A request variable to check for operation completion.<br
class="newline" />Scope: <span
class="cmbx-10">local</span>.<br
class="newline" />Type: <span
class="cmbx-10">optional</span>.<br
class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br
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
be present.</dd></dl>
<!--l. 328--><p class="indent" >
<dl class="description"><dt class="description">
<span
class="cmbx-10">On Return</span> </dt><dd
class="description">
</dd><dt class="description">
<span
class="cmbx-10">dat</span> </dt><dd
class="description">On all processes other than root, the broadcasted data.<br
class="newline" />Scope: <span
class="cmbx-10">global</span>.<br
class="newline" />Type: <span
class="cmbx-10">required</span>.<br
class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br
class="newline" />Specified as: an integer, real or complex variable, which may be a scalar,
or a rank 1 or 2 array, or a character or logical scalar. &#x00A0;Type, kind, rank
and size must agree on all processes.
</dd><dt class="description">
<span
class="cmbx-10">request</span> </dt><dd
class="description">A request variable to check for operation completion.<br
class="newline" />Scope: <span
class="cmbx-10">local</span>.<br
class="newline" />Type: <span
class="cmbx-10">optional</span>.<br
class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br
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
be present.</dd></dl>
<!--l. 345--><p class="noindent" ><span
class="cmbx-12">Notes</span>
<ol class="enumerate1" >
<li
class="enumerate" id="x77-114002x1">The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument is both input and output, and its value may be changed
even on processes different from the final result destination.
</li>
<li
class="enumerate" id="x77-114004x2">When splitting the operation in two calls, the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">dat</span></span></span> argument must not be
accessed between calls:
<div class="center"
>
<!--l. 361--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-70">
&#x00A0;&#x00A0;call&#x00A0;psb_bcast(ctxt,dat,mode=psb_collective_start_,request=bcast_request)
&#x00A0;&#x00A0;.......
&#x00A0;&#x00A0;call&#x00A0;psb_bcast(ctxt,dat,mode=psb_collective_end_,&#x00A0;request=bcast_request)
</pre>
<!--l. 367--><p class="nopar" ></div></div>
</li></ol>
<!--l. 376--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu69.html" >next</a>] [<a
href="userhtmlsu64.html" >prev</a>] [<a
href="userhtmlsu64.html#tailuserhtmlsu64.html" >prev-tail</a>] [<a
href="userhtmlsu65.html" >front</a>] [<a
href="userhtmlsu59.html#userhtmlsu68.html" >up</a>] </p></div>
<!--l. 376--><p class="indent" > <a
id="tailuserhtmlsu65.html"></a>
</body></html>