mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-06 22:55:08 +00:00
Doc updates
This commit is contained in:
@@ -114,7 +114,7 @@ class="description">Each process has its own value(s) independently.</dd></dl>
|
||||
src="userhtml0x.png" alt="psb_version_string_
|
||||
" class="math-display" ></center>
|
||||
<!--l. 295--><p class="nopar" > whose current value is <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">3.4.0</span></span></span>
|
||||
class="cmtt-10">3.7.0</span></span></span>
|
||||
|
||||
|
||||
|
||||
|
||||
+14
-12
@@ -128,11 +128,13 @@ href="userhtml10.html#fn3x0"><sup class="textsuperscript">3</sup></a></span><a
|
||||
id="x9-6019f3"></a> .
|
||||
</li>
|
||||
<li
|
||||
class="enumerate" id="x9-6021x7">Call the iterative method of choice, e.g. <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_bicgstab</span></span></span></li></ol>
|
||||
<!--l. 365--><p class="noindent" >This is the structure of the sample programs in the directory <span class="obeylines-h"><span class="verb"><span
|
||||
class="enumerate" id="x9-6021x7">Call the iterative driver <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_krylov</span></span></span> with the method of choice, e.g.
|
||||
<span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">bicgstab</span></span></span>.</li></ol>
|
||||
<!--l. 366--><p class="noindent" >This is the structure of the sample programs in the directory <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">test/pargen/</span></span></span>.
|
||||
<!--l. 368--><p class="indent" > For a simulation in which the same discretization mesh is used over multiple time
|
||||
<!--l. 369--><p class="indent" > For a simulation in which the same discretization mesh is used over multiple time
|
||||
steps, the following structure may be more appropriate:
|
||||
<ol class="enumerate1" >
|
||||
<li
|
||||
@@ -189,16 +191,16 @@ class="cmtt-10">prec%build</span></span></span>
|
||||
class="enumerate" id="x9-6043x5">Call the iterative method of choice, e.g. <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_bicgstab</span></span></span></li></ol>
|
||||
</li></ol>
|
||||
<!--l. 391--><p class="noindent" >The insertion routines will be called as many times as needed; they only need to be
|
||||
<!--l. 392--><p class="noindent" >The insertion routines will be called as many times as needed; they only need to be
|
||||
called on the data that is actually allocated to the current process, i.e. each process
|
||||
generates its own data.
|
||||
<!--l. 396--><p class="indent" > In principle there is no specific order in the calls to <span class="obeylines-h"><span class="verb"><span
|
||||
<!--l. 397--><p class="indent" > In principle there is no specific order in the calls to <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">psb_spins</span></span></span>, nor is there a
|
||||
requirement to build a matrix row in its entirety before calling the routine; this
|
||||
allows the application programmer to walk through the discretization mesh element
|
||||
by element, generating the main part of a given matrix row but also contributions to
|
||||
the rows corresponding to neighbouring elements.
|
||||
<!--l. 403--><p class="indent" > From a functional point of view it is even possible to execute one call for each
|
||||
<!--l. 404--><p class="indent" > From a functional point of view it is even possible to execute one call for each
|
||||
nonzero coefficient; however this would have a substantial computational
|
||||
overhead. It is therefore advisable to pack a certain amount of data into each
|
||||
call to the insertion routine, say touching on a few tens of rows; the best
|
||||
@@ -209,10 +211,10 @@ process and pass it in a single call to <span class="obeylines-h"><span class="v
|
||||
class="cmtt-10">psb_spins</span></span></span>; this, however, would entail a
|
||||
doubling of memory occupation, and thus would be almost always far from
|
||||
optimal.
|
||||
<!--l. 416--><p class="noindent" >
|
||||
<!--l. 417--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">2.3.1 </span> <a
|
||||
id="x9-70002.3.1"></a>User-defined index mappings</h5>
|
||||
<!--l. 418--><p class="noindent" >PSBLAS supports user-defined global to local index mappings, subject to the
|
||||
<!--l. 419--><p class="noindent" >PSBLAS supports user-defined global to local index mappings, subject to the
|
||||
constraints outlined in sec. <a
|
||||
href="#x9-60002.3">2.3<!--tex4ht:ref: sec:appstruct --></a>:
|
||||
<ol class="enumerate1" >
|
||||
@@ -230,7 +232,7 @@ class="cmmi-10">…</span><span
|
||||
class="cmmi-10">n</span><sub>col<sub>
|
||||
<span
|
||||
class="cmmi-5">i</span></sub></sub>;</li></ol>
|
||||
<!--l. 426--><p class="noindent" >but otherwise the mapping is arbitrary. The user application is responsible to ensure
|
||||
<!--l. 427--><p class="noindent" >but otherwise the mapping is arbitrary. The user application is responsible to ensure
|
||||
consistency of this mapping; some errors may be caught by the library, but
|
||||
this is not guaranteed. The application structure to support this usage is as
|
||||
follows:
|
||||
@@ -271,12 +273,12 @@ class="cmtt-10">irw</span></span></span>, respectively, are already local indice
|
||||
|
||||
|
||||
|
||||
<!--l. 448--><div class="crosslinks"><p class="noindent">[<a
|
||||
<!--l. 449--><div class="crosslinks"><p class="noindent">[<a
|
||||
href="userhtmlsu6.html" >next</a>] [<a
|
||||
href="userhtmlsu2.html" >prev</a>] [<a
|
||||
href="userhtmlsu2.html#tailuserhtmlsu2.html" >prev-tail</a>] [<a
|
||||
href="userhtmlsu3.html" >front</a>] [<a
|
||||
href="userhtmlse2.html#userhtmlse3.html" >up</a>] </p></div>
|
||||
<!--l. 448--><p class="indent" > <a
|
||||
<!--l. 449--><p class="indent" > <a
|
||||
id="tailuserhtmlsu3.html"></a>
|
||||
</body></html>
|
||||
|
||||
@@ -10,23 +10,23 @@
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
</head><body
|
||||
>
|
||||
<!--l. 448--><div class="crosslinks"><p class="noindent">[<a
|
||||
<!--l. 449--><div class="crosslinks"><p class="noindent">[<a
|
||||
href="userhtmlsu3.html" >prev</a>] [<a
|
||||
href="userhtmlsu3.html#tailuserhtmlsu3.html" >prev-tail</a>] [<a
|
||||
href="userhtmlsu2.html#tailuserhtmlsu4.html">tail</a>] [<a
|
||||
href="userhtmlse2.html#userhtmlsu6.html" >up</a>] </p></div>
|
||||
<h4 class="subsectionHead"><span class="titlemark">2.4 </span> <a
|
||||
id="x11-80002.4"></a>Programming model</h4>
|
||||
<!--l. 450--><p class="noindent" >The PSBLAS librarary is based on the Single Program Multiple Data (SPMD)
|
||||
<!--l. 451--><p class="noindent" >The PSBLAS librarary is based on the Single Program Multiple Data (SPMD)
|
||||
programming model: each process participating in the computation performs the
|
||||
same actions on a chunk of data. Parallelism is thus data-driven.
|
||||
<!--l. 455--><p class="indent" > Because of this structure, many subroutines coordinate their action across the
|
||||
<!--l. 456--><p class="indent" > Because of this structure, many subroutines coordinate their action across the
|
||||
various processes, thus providing an implicit synchronization point, and therefore
|
||||
<span
|
||||
class="cmti-10">must </span>be called simultaneously by all processes participating in the computation. This
|
||||
is certainly true for the data allocation and assembly routines, for all the
|
||||
computational routines and for some of the tools routines.
|
||||
<!--l. 463--><p class="indent" > However there are many cases where no synchronization, and indeed no
|
||||
<!--l. 464--><p class="indent" > However there are many cases where no synchronization, and indeed no
|
||||
communication among processes, is implied; for instance, all the routines in sec. <a
|
||||
href="userhtmlse3.html#x12-90003">3<!--tex4ht:ref: sec:datastruct --></a>
|
||||
are only acting on the local data structures, and thus may be called independently.
|
||||
@@ -34,7 +34,7 @@ The most important case is that of the coefficient insertion routines: since the
|
||||
number of coefficients in the sparse and dense matrices varies among the processors,
|
||||
and since the user is free to choose an arbitrary order in builiding the matrix entries,
|
||||
these routines cannot imply a synchronization.
|
||||
<!--l. 473--><p class="indent" > Throughout this user’s guide each subroutine will be clearly indicated
|
||||
<!--l. 474--><p class="indent" > Throughout this user’s guide each subroutine will be clearly indicated
|
||||
as:
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
|
||||
+85
-90
@@ -4726,7 +4726,7 @@ BT
|
||||
0 g 0 G
|
||||
/F27 9.9626 Tf -24.907 -24.208 Td [(lo)-32(cal)]TJ
|
||||
0 g 0 G
|
||||
/F8 9.9626 Tf 28.055 0 Td [(Eac)28(h)-334(p)1(ro)-28(cess)-334(has)-333(its)-333(o)27(wn)-333(v)56(alue\050s\051)-334(indep)-27(enden)27(tly)84(.)]TJ -28.055 -23.137 Td [(T)83(o)-333(\014nish)-333(our)-334(general)-333(description,)-333(w)28(e)-334(de\014ne)-333(a)-333(v)27(ersion)-333(string)-333(with)-334(th)1(e)-334(constan)28(t)]TJ/F30 9.9626 Tf 122.168 -24.059 Td [(psb_version_string_)]TJ/F8 9.9626 Tf -122.168 -24.059 Td [(whose)-333(curren)27(t)-333(v)56(alue)-334(is)]TJ/F30 9.9626 Tf 99.793 0 Td [(3.4.0)]TJ
|
||||
/F8 9.9626 Tf 28.055 0 Td [(Eac)28(h)-334(p)1(ro)-28(cess)-334(has)-333(its)-333(o)27(wn)-333(v)56(alue\050s\051)-334(indep)-27(enden)27(tly)84(.)]TJ -28.055 -23.137 Td [(T)83(o)-333(\014nish)-333(our)-334(general)-333(description,)-333(w)28(e)-334(de\014ne)-333(a)-333(v)27(ersion)-333(string)-333(with)-334(th)1(e)-334(constan)28(t)]TJ/F30 9.9626 Tf 122.168 -24.059 Td [(psb_version_string_)]TJ/F8 9.9626 Tf -122.168 -24.059 Td [(whose)-333(curren)27(t)-333(v)56(alue)-334(is)]TJ/F30 9.9626 Tf 99.793 0 Td [(3.7.0)]TJ
|
||||
0 g 0 G
|
||||
/F8 9.9626 Tf 69.572 -29.888 Td [(5)]TJ
|
||||
0 g 0 G
|
||||
@@ -4784,7 +4784,7 @@ endstream
|
||||
endobj
|
||||
857 0 obj
|
||||
<<
|
||||
/Length 7719
|
||||
/Length 7840
|
||||
>>
|
||||
stream
|
||||
0 g 0 G
|
||||
@@ -4801,7 +4801,7 @@ BT
|
||||
0 g 0 G
|
||||
-69.503 -22.397 Td [(7.)]TJ
|
||||
0 g 0 G
|
||||
[-500(Call)-333(the)-334(iterativ)28(e)-333(metho)-28(d)-333(of)-334(c)28(hoice,)-333(e.g.)]TJ/F30 9.9626 Tf 189.595 0 Td [(psb_bicgstab)]TJ/F8 9.9626 Tf -201.772 -21.778 Td [(This)-333(is)-334(the)-333(structure)-333(of)-334(the)-333(sample)-333(programs)-334(in)-333(the)-333(directory)]TJ/F30 9.9626 Tf 269.435 0 Td [(test/pargen/)]TJ/F8 9.9626 Tf 62.764 0 Td [(.)]TJ -317.255 -12.573 Td [(F)83(or)-291(a)-292(sim)28(ulation)-292(in)-291(whic)27(h)-291(the)-292(same)-292(discretization)-291(mes)-1(h)-291(is)-292(used)-291(o)27(v)28(er)-292(m)28(ultiple)]TJ -14.944 -11.955 Td [(time)-333(ste)-1(p)1(s)-1(,)-333(the)-333(follo)28(wing)-334(structure)-333(ma)28(y)-333(b)-28(e)-334(more)-333(appropriate:)]TJ
|
||||
[-500(Call)-222(the)-222(iterativ)27(e)-222(driv)28(er)]TJ/F30 9.9626 Tf 114.654 0 Td [(psb_krylov)]TJ/F8 9.9626 Tf 54.517 0 Td [(with)-222(the)-222(metho)-28(d)-222(of)-223(c)28(hoice,)-244(e.g.)]TJ/F30 9.9626 Tf 133.518 0 Td [(bicgstab)]TJ/F8 9.9626 Tf 41.843 0 Td [(.)]TJ -356.709 -21.778 Td [(This)-333(is)-334(the)-333(structure)-333(of)-334(the)-333(sample)-333(programs)-334(in)-333(the)-333(directory)]TJ/F30 9.9626 Tf 269.435 0 Td [(test/pargen/)]TJ/F8 9.9626 Tf 62.764 0 Td [(.)]TJ -317.255 -12.573 Td [(F)83(or)-291(a)-292(sim)28(ulation)-292(in)-291(whic)27(h)-291(the)-292(same)-292(discretization)-291(mes)-1(h)-291(is)-292(used)-291(o)27(v)28(er)-292(m)28(ultiple)]TJ -14.944 -11.955 Td [(time)-333(ste)-1(p)1(s)-1(,)-333(the)-333(follo)28(wing)-334(structure)-333(ma)28(y)-333(b)-28(e)-334(more)-333(appropriate:)]TJ
|
||||
0 g 0 G
|
||||
12.177 -21.779 Td [(1.)]TJ
|
||||
0 g 0 G
|
||||
@@ -27548,10 +27548,10 @@ endstream
|
||||
endobj
|
||||
1997 0 obj
|
||||
<<
|
||||
/Length1 2460
|
||||
/Length2 17290
|
||||
/Length1 2478
|
||||
/Length2 17406
|
||||
/Length3 0
|
||||
/Length 19750
|
||||
/Length 19884
|
||||
>>
|
||||
stream
|
||||
%!PS-AdobeFont-1.0: CMTT10 003.002
|
||||
@@ -27571,7 +27571,7 @@ FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
|
||||
11 dict begin
|
||||
/FontType 1 def
|
||||
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
|
||||
/FontName /TJSMYH+CMTT10 def
|
||||
/FontName /LTGWDM+CMTT10 def
|
||||
/FontBBox {-4 -233 537 696 }readonly def
|
||||
/PaintType 0 def
|
||||
/FontInfo 9 dict dup begin
|
||||
@@ -27642,6 +27642,7 @@ dup 43 /plus put
|
||||
dup 113 /q put
|
||||
dup 114 /r put
|
||||
dup 115 /s put
|
||||
dup 55 /seven put
|
||||
dup 54 /six put
|
||||
dup 47 /slash put
|
||||
dup 116 /t put
|
||||
@@ -27692,46 +27693,39 @@ KV
|
||||
"hó·åï—/KU%ÅK�üˆ~0[°ø—‘P`CU¤/×ËÝãݘê²M3Ê½ïæ„Ëu²ÅíÇ‚&gk7XìñžpËïMÇŸîî²�A�ÇÆ{C%u‡–·‹Ñ%ÖÛ©|ÌV#GÀLߊb{%O¡Y3]øZa_W!¯l?÷víyf£*8ê*ã¯l4]ù“¡e>zfÖ(½ìãY¡æ€`Û˜šóõ8?‚ÖH©PÙ‰’J¸'.§dÚ°£Ñ?¨X¼¶¬ð¤„³û·ß*y!Õv4ý†8ÌIv | ||||