mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-21 13:21:55 +00:00
Changed guide to new style
This commit is contained in:
+116
-105
@@ -28,16 +28,16 @@ class="cmtt-10">_type</span></a>. Every structure of this
|
||||
type is associated with a discretization pattern and enables data communications and
|
||||
other operations that are necessary for implementing the various algorithms of
|
||||
interest to us.
|
||||
<!--l. 57--><p class="indent" > The data structure itself <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_desc_type</span></span></span> can be treated as an opaque object
|
||||
<!--l. 57--><p class="indent" > The data structure itself <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_desc_type</span> can be treated as an opaque object
|
||||
handled via the tools routines of Sec. <a
|
||||
href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a> or the query routines detailed below;
|
||||
nevertheless we include here a description for the curious reader.
|
||||
<!--l. 63--><p class="indent" > First we describe the <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_indx_map</span></span></span> type. This is a data structure that keeps
|
||||
<!--l. 63--><p class="indent" > First we describe the <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_indx_map</span> type. This is a data structure that keeps
|
||||
track of a certain number of basic issues such as:
|
||||
<ul class="itemize1">
|
||||
<li class="itemize">The value of the communication/MPI context;
|
||||
<li class="itemize">The value of the communication context;
|
||||
</li>
|
||||
<li class="itemize">The number of indices in the index space, i.e. global number of rows and
|
||||
columns of a sparse matrix;
|
||||
@@ -168,13 +168,17 @@ class="cmbx-10">bnd</span><span
|
||||
class="cmbx-10">_elem</span> </dt><dd
|
||||
class="description">A list of all boundary points, i.e. points that have a connection with
|
||||
other processes.</dd></dl>
|
||||
<!--l. 145--><p class="noindent" >The Fortran 2003 declaration for <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_desc_type</span></span></span> structures is as follows: <hr class="figure"><div class="figure"
|
||||
><a
|
||||
id="x13-100273"></a>
|
||||
<!--l. 145--><p class="noindent" >The Fortran 2003 declaration for <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_desc_type</span> structures is as follows:
|
||||
<!--l. 147--><p class="indent" > <a
|
||||
id="x13-10027r1"></a><hr class="float"><div class="float"
|
||||
>
|
||||
|
||||
|
||||
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 149--><p class="noindent" >
|
||||
<!--l. 162--><p class="noindent" >
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-1">
|
||||
type psb_desc_type
|
||||
 <br />    class(psb_indx_map), allocatable :: indxmap
|
||||
@@ -186,13 +190,16 @@ type psb_desc_type
|
||||
 <br />    integer, allocatable  :: bnd_elem(:)
|
||||
 <br />end type psb_desc_type
|
||||
</div>
|
||||
<!--l. 161--><p class="nopar" ></div></div>
|
||||
<!--l. 174--><p class="nopar" ></div></div>
|
||||
<br /> <div class="caption"
|
||||
><span class="id">Figure 3: </span><span
|
||||
><span class="id">Listing 1: </span><span
|
||||
class="content">The PSBLAS defined data type that contains the communication
|
||||
descriptor.</span></div><!--tex4ht:label?: x13-100273 -->
|
||||
<!--l. 171--><p class="indent" > </div><hr class="endfigure">
|
||||
<!--l. 172--><p class="indent" > A communication descriptor associated with a sparse matrix has a state, which
|
||||
descriptor.</span></div><!--tex4ht:label?: x13-10027r1 -->
|
||||
|
||||
|
||||
|
||||
</div><hr class="endfloat" />
|
||||
<!--l. 186--><p class="indent" > A communication descriptor associated with a sparse matrix has a state, which
|
||||
can take the following values:
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
@@ -200,19 +207,15 @@ class="cmbx-10">Build:</span> </dt><dd
|
||||
class="description">State entered after the first allocation, and before the first assembly; in
|
||||
this state it is possible to add communication requirements among different
|
||||
processes.
|
||||
|
||||
|
||||
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Assembled:</span> </dt><dd
|
||||
class="description">State entered after the assembly; computations using the
|
||||
associated sparse matrix, such as matrix-vector products, are only possible
|
||||
in this state.</dd></dl>
|
||||
<!--l. 183--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a
|
||||
id="x13-110003.1.1"></a>Descriptor Methods</h5>
|
||||
<!--l. 185--><p class="noindent" >
|
||||
<!--l. 199--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a
|
||||
id="x13-120003.1.2"></a>get_local_rows — Get number of local rows</h5>
|
||||
|
||||
@@ -221,8 +224,8 @@ class="description">State entered after the assembly; computations using
|
||||
<div class="verbatim" id="verbatim-2">
|
||||
nr = desc%get_local_rows()
|
||||
</div>
|
||||
<!--l. 189--><p class="nopar" >
|
||||
<!--l. 191--><p class="indent" >
|
||||
<!--l. 203--><p class="nopar" >
|
||||
<!--l. 205--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -238,7 +241,7 @@ class="description">the communication descriptor.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 201--><p class="indent" >
|
||||
<!--l. 215--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -258,7 +261,7 @@ src="cmsy10-42.png" alt="B" class="10x-x-42" /></span><sub><span
|
||||
class="cmmi-7">i</span></sub><span
|
||||
class="cmsy-10">|</span>. The returned
|
||||
value is specific to the calling process.</dd></dl>
|
||||
<!--l. 210--><p class="noindent" >
|
||||
<!--l. 224--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a
|
||||
id="x13-130003.1.3"></a>get_local_cols — Get number of local cols</h5>
|
||||
|
||||
@@ -267,8 +270,8 @@ class="cmsy-10">|</span>. The returned
|
||||
<div class="verbatim" id="verbatim-3">
|
||||
nc = desc%get_local_cols()
|
||||
</div>
|
||||
<!--l. 214--><p class="nopar" >
|
||||
<!--l. 216--><p class="indent" >
|
||||
<!--l. 228--><p class="nopar" >
|
||||
<!--l. 230--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -284,7 +287,7 @@ class="description">the communication descriptor.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 226--><p class="indent" >
|
||||
<!--l. 240--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -309,7 +312,7 @@ src="cmsy10-48.png" alt="H" class="10x-x-48" /></span><sub><span
|
||||
class="cmmi-7">i</span></sub><span
|
||||
class="cmsy-10">|</span>. The returned value is specific to the
|
||||
calling process.</dd></dl>
|
||||
<!--l. 236--><p class="noindent" >
|
||||
<!--l. 250--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a
|
||||
id="x13-140003.1.4"></a>get_global_rows — Get number of global rows</h5>
|
||||
|
||||
@@ -318,8 +321,8 @@ class="cmsy-10">|</span>. The returned value is specific to the
|
||||
<div class="verbatim" id="verbatim-4">
|
||||
nr = desc%get_global_rows()
|
||||
</div>
|
||||
<!--l. 240--><p class="nopar" >
|
||||
<!--l. 242--><p class="indent" >
|
||||
<!--l. 254--><p class="nopar" >
|
||||
<!--l. 256--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -335,7 +338,7 @@ class="description">the communication descriptor.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 252--><p class="indent" >
|
||||
<!--l. 266--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -345,7 +348,7 @@ class="description">
|
||||
class="cmbx-10">Function value</span> </dt><dd
|
||||
class="description">The number of global rows, i.e. the size of the global index
|
||||
space.</dd></dl>
|
||||
<!--l. 258--><p class="noindent" >
|
||||
<!--l. 272--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a
|
||||
id="x13-150003.1.5"></a>get_global_cols — Get number of global cols</h5>
|
||||
|
||||
@@ -354,8 +357,8 @@ class="description">The number of global rows, i.e. the size of the global index
|
||||
<div class="verbatim" id="verbatim-5">
|
||||
nr = desc%get_global_cols()
|
||||
</div>
|
||||
<!--l. 262--><p class="nopar" >
|
||||
<!--l. 264--><p class="indent" >
|
||||
<!--l. 276--><p class="nopar" >
|
||||
<!--l. 278--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -371,7 +374,7 @@ class="description">the communication descriptor.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 274--><p class="indent" >
|
||||
<!--l. 288--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -381,7 +384,7 @@ class="description">
|
||||
class="cmbx-10">Function value</span> </dt><dd
|
||||
class="description">The number of global cols; usually this is equal to the number
|
||||
of global rows.</dd></dl>
|
||||
<!--l. 281--><p class="noindent" >
|
||||
<!--l. 295--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a
|
||||
id="x13-160003.1.6"></a>get_global_indices — Get vector of global indices</h5>
|
||||
|
||||
@@ -390,8 +393,8 @@ class="description">The number of global cols; usually this is equal to the numb
|
||||
<div class="verbatim" id="verbatim-6">
|
||||
myidx = desc%get_global_indices([owned])
|
||||
</div>
|
||||
<!--l. 285--><p class="nopar" >
|
||||
<!--l. 287--><p class="indent" >
|
||||
<!--l. 299--><p class="nopar" >
|
||||
<!--l. 301--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -412,16 +415,24 @@ class="newline" />
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">owned</span> </dt><dd
|
||||
class="description">Choose if you only want owned indices (<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">owned=.true.</span></span></span>) or also halo
|
||||
indices (<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">owned=.false.</span></span></span>). Scope: <span
|
||||
class="description">Choose if you only want owned indices (<span class="lstinline"></span><span
|
||||
class="cmtt-10">owned</span><span
|
||||
class="cmtt-10">=.</span><span
|
||||
class="cmtt-10">true</span><span
|
||||
class="cmtt-10">.</span>) or also halo
|
||||
indices (<span class="lstinline"></span><span
|
||||
class="cmtt-10">owned</span><span
|
||||
class="cmtt-10">=.</span><span
|
||||
class="cmtt-10">false</span><span
|
||||
class="cmtt-10">.</span>). Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" />Type: <span
|
||||
class="cmbx-10">optional</span>; default: <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">.true.</span></span></span>.<br
|
||||
class="cmbx-10">optional</span>; default: <span class="lstinline"></span><span
|
||||
class="cmtt-10">.</span><span
|
||||
class="cmtt-10">true</span><span
|
||||
class="cmtt-10">.</span>.<br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 301--><p class="indent" >
|
||||
<!--l. 315--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -430,19 +441,19 @@ class="description">
|
||||
<span
|
||||
class="cmbx-10">Function value</span> </dt><dd
|
||||
class="description">The global indices, returned as an allocatable integer array of
|
||||
kind <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_lpk_</span></span></span> and rank 1.</dd></dl>
|
||||
<!--l. 309--><p class="noindent" >
|
||||
kind <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_lpk_</span> and rank 1.</dd></dl>
|
||||
<!--l. 323--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a
|
||||
id="x13-170003.1.7"></a>get_context — Get communication context</h5>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-7">
|
||||
ictxt = desc%get_context()
|
||||
ctxt = desc%get_context()
|
||||
</div>
|
||||
<!--l. 313--><p class="nopar" >
|
||||
<!--l. 315--><p class="indent" >
|
||||
<!--l. 327--><p class="nopar" >
|
||||
<!--l. 329--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -458,7 +469,7 @@ class="description">the communication descriptor.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 325--><p class="indent" >
|
||||
<!--l. 339--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -467,7 +478,7 @@ class="description">
|
||||
<span
|
||||
class="cmbx-10">Function value</span> </dt><dd
|
||||
class="description">The communication context.</dd></dl>
|
||||
<!--l. 330--><p class="noindent" >
|
||||
<!--l. 344--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.8 </span> <a
|
||||
id="x13-180003.1.8"></a>Clone — clone current object</h5>
|
||||
|
||||
@@ -476,8 +487,8 @@ class="description">The communication context.</dd></dl>
|
||||
<div class="verbatim" id="verbatim-8">
|
||||
call  desc%clone(descout,info)
|
||||
</div>
|
||||
<!--l. 334--><p class="nopar" >
|
||||
<!--l. 336--><p class="indent" >
|
||||
<!--l. 348--><p class="nopar" >
|
||||
<!--l. 350--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -493,7 +504,7 @@ class="description">the communication descriptor.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 346--><p class="indent" >
|
||||
<!--l. 360--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -506,7 +517,7 @@ class="description">A copy of the input object.
|
||||
<span
|
||||
class="cmbx-10">info</span> </dt><dd
|
||||
class="description">Return code.</dd></dl>
|
||||
<!--l. 353--><p class="noindent" >
|
||||
<!--l. 367--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.9 </span> <a
|
||||
id="x13-190003.1.9"></a>CNV — convert internal storage format</h5>
|
||||
|
||||
@@ -515,8 +526,8 @@ class="description">Return code.</dd></dl>
|
||||
<div class="verbatim" id="verbatim-9">
|
||||
call  desc%cnv(mold)
|
||||
</div>
|
||||
<!--l. 357--><p class="nopar" >
|
||||
<!--l. 359--><p class="indent" >
|
||||
<!--l. 371--><p class="nopar" >
|
||||
<!--l. 373--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -546,10 +557,10 @@ class="cmtt-10">_T</span><span
|
||||
class="cmtt-10">_base</span><span
|
||||
class="cmtt-10">_vect</span><span
|
||||
class="cmtt-10">_type</span></a>.</dd></dl>
|
||||
<!--l. 370--><p class="noindent" >The <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">mold</span></span></span> arguments may be employed to interface with special devices, such as GPUs
|
||||
<!--l. 384--><p class="noindent" >The <span class="lstinline"></span><span
|
||||
class="cmtt-10">mold</span> arguments may be employed to interface with special devices, such as GPUs
|
||||
and other accelerators.
|
||||
<!--l. 377--><p class="noindent" >
|
||||
<!--l. 391--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.10 </span> <a
|
||||
id="x13-200003.1.10"></a>psb_cd_get_large_threshold — Get threshold for index mapping
|
||||
switch</h5>
|
||||
@@ -559,8 +570,8 @@ switch</h5>
|
||||
<div class="verbatim" id="verbatim-10">
|
||||
ith = psb_cd_get_large_threshold()
|
||||
</div>
|
||||
<!--l. 381--><p class="nopar" >
|
||||
<!--l. 383--><p class="indent" >
|
||||
<!--l. 395--><p class="nopar" >
|
||||
<!--l. 397--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -574,7 +585,7 @@ class="description">
|
||||
class="cmbx-10">Function value</span> </dt><dd
|
||||
class="description">The current value for the size threshold.
|
||||
</dd></dl>
|
||||
<!--l. 393--><p class="noindent" >
|
||||
<!--l. 407--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.11 </span> <a
|
||||
id="x13-210003.1.11"></a>psb_cd_set_large_threshold — Set threshold for index mapping
|
||||
switch</h5>
|
||||
@@ -584,8 +595,8 @@ switch</h5>
|
||||
<div class="verbatim" id="verbatim-11">
|
||||
call psb_cd_set_large_threshold(ith)
|
||||
</div>
|
||||
<!--l. 398--><p class="nopar" >
|
||||
<!--l. 400--><p class="indent" >
|
||||
<!--l. 412--><p class="nopar" >
|
||||
<!--l. 414--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -605,12 +616,12 @@ class="cmbx-10">required</span>.<br
|
||||
class="newline" />Intent: <span
|
||||
class="cmbx-10">in</span>.<br
|
||||
class="newline" />Specified as: an integer value greater than zero.</dd></dl>
|
||||
<!--l. 409--><p class="noindent" >Note: the threshold value is only queried by the library at the time a call to <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_cdall</span></span></span>
|
||||
<!--l. 423--><p class="noindent" >Note: the threshold value is only queried by the library at the time a call to <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_cdall</span>
|
||||
is executed, therefore changing the threshold has no effect on communication
|
||||
descriptors that have already been initialized. Moreover the threshold must have the
|
||||
same value on all processes.
|
||||
<!--l. 416--><p class="noindent" >
|
||||
<!--l. 430--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.12 </span> <a
|
||||
id="x13-220003.1.12"></a>get_p_adjcncy — Get process adjacency list</h5>
|
||||
|
||||
@@ -619,8 +630,8 @@ same value on all processes.
|
||||
<div class="verbatim" id="verbatim-12">
|
||||
list =  desc%get_p_adjcncy()
|
||||
</div>
|
||||
<!--l. 421--><p class="nopar" >
|
||||
<!--l. 423--><p class="indent" >
|
||||
<!--l. 435--><p class="nopar" >
|
||||
<!--l. 437--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -635,7 +646,7 @@ class="cmbx-10">Function value</span> </dt><dd
|
||||
class="description">The current list of adjacent processes, i.e. processes with
|
||||
which the current one has to exchange halo data.
|
||||
</dd></dl>
|
||||
<!--l. 432--><p class="noindent" >
|
||||
<!--l. 446--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.13 </span> <a
|
||||
id="x13-230003.1.13"></a>set_p_adjcncy — Set process adjacency list</h5>
|
||||
|
||||
@@ -644,8 +655,8 @@ class="description">The current list of adjacent processes, i.e. processe
|
||||
<div class="verbatim" id="verbatim-13">
|
||||
call desc%set_p_adjcncy(list)
|
||||
</div>
|
||||
<!--l. 437--><p class="nopar" >
|
||||
<!--l. 439--><p class="indent" >
|
||||
<!--l. 451--><p class="nopar" >
|
||||
<!--l. 453--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -664,16 +675,16 @@ class="newline" />Type: <span
|
||||
class="cmbx-10">required</span>.<br
|
||||
class="newline" />Intent: <span
|
||||
class="cmbx-10">in</span>.<br
|
||||
class="newline" />Specified as: a one-dimensional array of integers of kind <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_ipk_</span></span></span>.</dd></dl>
|
||||
<!--l. 448--><p class="noindent" >Note: this method can be called after a call to <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_cdall</span></span></span> and before a call to
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_cdasb</span></span></span>. The user is specifying here some knowledge about which processes are
|
||||
class="newline" />Specified as: a one-dimensional array of integers of kind <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_ipk_</span>.</dd></dl>
|
||||
<!--l. 462--><p class="noindent" >Note: this method can be called after a call to <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_cdall</span> and before a call to
|
||||
<span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_cdasb</span>. The user is specifying here some knowledge about which processes are
|
||||
topological neighbours of the current process. The availability of this information
|
||||
may speed up the execution of the assembly call <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_cdasb</span></span></span>.
|
||||
<!--l. 455--><p class="noindent" >
|
||||
may speed up the execution of the assembly call <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_cdasb</span>.
|
||||
<!--l. 469--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.14 </span> <a
|
||||
id="x13-240003.1.14"></a>fnd_owner — Find the owner process of a set of indices</h5>
|
||||
|
||||
@@ -682,8 +693,8 @@ class="cmtt-10">psb_cdasb</span></span></span>.
|
||||
<div class="verbatim" id="verbatim-14">
|
||||
call desc%fnd_owner(idx,iprc,info)
|
||||
</div>
|
||||
<!--l. 460--><p class="nopar" >
|
||||
<!--l. 462--><p class="indent" >
|
||||
<!--l. 474--><p class="nopar" >
|
||||
<!--l. 476--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -702,8 +713,8 @@ class="newline" />Type: <span
|
||||
class="cmbx-10">required</span>.<br
|
||||
class="newline" />Intent: <span
|
||||
class="cmbx-10">in</span>.<br
|
||||
class="newline" />Specified as: a one-dimensional array of integers of kind <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_lpk_</span></span></span>.
|
||||
class="newline" />Specified as: a one-dimensional array of integers of kind <span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_lpk_</span>.
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -711,8 +722,8 @@ class="description">
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">iprc</span> </dt><dd
|
||||
class="description">the list of processes owning the indices in <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">idx</span></span></span>.<br
|
||||
class="description">the list of processes owning the indices in <span class="lstinline"></span><span
|
||||
class="cmtt-10">idx</span>.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" />Type: <span
|
||||
@@ -720,16 +731,16 @@ class="cmbx-10">required</span>.<br
|
||||
class="newline" />Intent: <span
|
||||
class="cmbx-10">in</span>.<br
|
||||
class="newline" />Specified as: an allocatable one-dimensional array of integers of kind
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_ipk_</span></span></span>.</dd></dl>
|
||||
<!--l. 477--><p class="noindent" >Note: this method may or may not actually require communications, depending on the
|
||||
<span class="lstinline"></span><span
|
||||
class="cmtt-10">psb_ipk_</span>.</dd></dl>
|
||||
<!--l. 491--><p class="noindent" >Note: this method may or may not actually require communications, depending on the
|
||||
exact internal data storage; given that the choice of storage may be altered by
|
||||
runtime parameters, it is necessary for safety that this method is called by all
|
||||
processes.
|
||||
<!--l. 485--><p class="noindent" >
|
||||
<!--l. 499--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.1.15 </span> <a
|
||||
id="x13-250003.1.15"></a>Named Constants</h5>
|
||||
<!--l. 487--><p class="noindent" >
|
||||
<!--l. 501--><p class="noindent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">psb</span><span
|
||||
@@ -775,40 +786,40 @@ class="cmbx-10">psb</span><span
|
||||
class="cmbx-10">_comm</span><span
|
||||
class="cmbx-10">_halo</span><span
|
||||
class="cmbx-10">_</span> </dt><dd
|
||||
class="description">Exchange data based on the <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">halo_index</span></span></span> list;
|
||||
class="description">Exchange data based on the <span class="lstinline"></span><span
|
||||
class="cmtt-10">halo_index</span> list;
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">psb</span><span
|
||||
class="cmbx-10">_comm</span><span
|
||||
class="cmbx-10">_ext</span><span
|
||||
class="cmbx-10">_</span> </dt><dd
|
||||
class="description">Exchange data based on the <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">ext_index</span></span></span> list;
|
||||
class="description">Exchange data based on the <span class="lstinline"></span><span
|
||||
class="cmtt-10">ext_index</span> list;
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">psb</span><span
|
||||
class="cmbx-10">_comm</span><span
|
||||
class="cmbx-10">_ovr</span><span
|
||||
class="cmbx-10">_</span> </dt><dd
|
||||
class="description">Exchange data based on the <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">ovrlap_index</span></span></span> list;
|
||||
class="description">Exchange data based on the <span class="lstinline"></span><span
|
||||
class="cmtt-10">ovrlap_index</span> list;
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">psb</span><span
|
||||
class="cmbx-10">_comm</span><span
|
||||
class="cmbx-10">_mov</span><span
|
||||
class="cmbx-10">_</span> </dt><dd
|
||||
class="description">Exchange data based on the <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">ovr_mst_idx</span></span></span> list;
|
||||
class="description">Exchange data based on the <span class="lstinline"></span><span
|
||||
class="cmtt-10">ovr_mst_idx</span> list;
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
<!--l. 520--><div class="crosslinks"><p class="noindent">[<a
|
||||
<!--l. 534--><div class="crosslinks"><p class="noindent">[<a
|
||||
href="userhtmlsu9.html" >next</a>] [<a
|
||||
href="userhtmlsu5.html" >front</a>] [<a
|
||||
href="userhtmlsu7.html#userhtmlsu8.html" >up</a>] </p></div>
|
||||
<!--l. 520--><p class="indent" > <a
|
||||
<!--l. 534--><p class="indent" > <a
|
||||
id="tailuserhtmlsu5.html"></a>
|
||||
</body></html>
|
||||
|
||||
Reference in New Issue
Block a user