|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<html >
|
|
|
|
<head><title>Library contents</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. 236--><div class="crosslinks"><p class="noindent">[<a
|
|
|
|
href="userhtmlse3.html" >next</a>] [<a
|
|
|
|
href="userhtmlsu1.html" >prev</a>] [<a
|
|
|
|
href="userhtmlsu1.html#tailuserhtmlsu1.html" >prev-tail</a>] [<a
|
|
|
|
href="userhtmlsu1.html#tailuserhtmlsu2.html">tail</a>] [<a
|
|
|
|
href="userhtmlse2.html#userhtmlsu4.html" >up</a>] </p></div>
|
|
|
|
<h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a
|
|
|
|
id="x8-50002.2"></a>Library contents</h4>
|
|
|
|
<!--l. 238--><p class="noindent" >The PSBLAS library consists of various classes of subroutines:
|
|
|
|
<dl class="description"><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">Computational routines</span> </dt><dd
|
|
|
|
class="description">comprising:
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize">Sparse matrix by dense matrix product;
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Sparse triangular systems solution for block diagonal matrices;
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Vector and matrix norms;
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Dense matrix sums;
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Dot products.</li></ul>
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">Communication routines</span> </dt><dd
|
|
|
|
class="description">handling halo and overlap communications;
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">Data management and auxiliary routines</span> </dt><dd
|
|
|
|
class="description">including:
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize">Parallel environment management
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Communication descriptors allocation;
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Dense and sparse matrix allocation;
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Dense and sparse matrix build and update;
|
|
|
|
</li>
|
|
|
|
<li class="itemize">Sparse matrix and data distribution preprocessing.</li></ul>
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">Preconditioner routines</span> </dt><dd
|
|
|
|
class="description">
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">Iterative methods</span> </dt><dd
|
|
|
|
class="description">a subset of Krylov subspace iterative methods</dd></dl>
|
|
|
|
<!--l. 263--><p class="noindent" >The following naming scheme has been adopted for all the symbols internally defined in
|
|
|
|
the PSBLAS software package:
|
|
|
|
<ul class="itemize1">
|
|
|
|
<li class="itemize">all symbols (i.e. subroutine names, data types...) are prefixed by <span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">psb_</span></span></span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="itemize">all data type names are suffixed by <span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">_type</span></span></span>
|
|
|
|
</li>
|
|
|
|
<li class="itemize">all constants are suffixed by <span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">_</span></span></span>
|
|
|
|
</li>
|
|
|
|
<li class="itemize">all top-level subroutine names follow the rule <span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">psb_xxname</span></span></span> where <span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">xx</span></span></span> can be
|
|
|
|
either:
|
|
|
|
<ul class="itemize2">
|
|
|
|
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">ge</span></span></span>: the routine is related to dense data,
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">sp</span></span></span>: the routine is related to sparse data,
|
|
|
|
</li>
|
|
|
|
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">cd</span></span></span>: the routine is related to communication descriptor (see <a
|
|
|
|
href="userhtmlse3.html#x12-90003">3<!--tex4ht:ref: sec:datastruct --></a>).</li></ul>
|
|
|
|
<!--l. 278--><p class="noindent" >For example the <span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">psb_geins</span></span></span>, <span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">psb_spins</span></span></span> and <span class="obeylines-h"><span class="verb"><span
|
|
|
|
class="cmtt-10">psb_cdins</span></span></span> perform the same
|
|
|
|
action (see <a
|
|
|
|
href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a>) on dense matrices, sparse matrices and communication
|
|
|
|
descriptors respectively. Interface overloading allows the usage of the same
|
|
|
|
subroutine names for both real and complex data.</li></ul>
|
|
|
|
<!--l. 285--><p class="noindent" >In the description of the subroutines, arguments or argument entries are classified
|
|
|
|
as:
|
|
|
|
<dl class="description"><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">global</span> </dt><dd
|
|
|
|
class="description">For input arguments, the value must be the same on all processes
|
|
|
|
participating in the subroutine call; for output arguments the value is
|
|
|
|
guaranteed to be the same.
|
|
|
|
</dd><dt class="description">
|
|
|
|
<span
|
|
|
|
class="cmbx-10">local</span> </dt><dd
|
|
|
|
class="description">Each process has its own value(s) independently.</dd></dl>
|
|
|
|
<!--l. 293--><p class="noindent" >To finish our general description, we define a version string with the constant
|
|
|
|
<center class="math-display" >
|
|
|
|
<img
|
|
|
|
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.7.0</span></span></span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--l. 298--><div class="crosslinks"><p class="noindent">[<a
|
|
|
|
href="userhtmlse3.html" >next</a>] [<a
|
|
|
|
href="userhtmlsu1.html" >prev</a>] [<a
|
|
|
|
href="userhtmlsu1.html#tailuserhtmlsu1.html" >prev-tail</a>] [<a
|
|
|
|
href="userhtmlsu2.html" >front</a>] [<a
|
|
|
|
href="userhtmlse2.html#userhtmlsu4.html" >up</a>] </p></div>
|
|
|
|
<!--l. 298--><p class="indent" > <a
|
|
|
|
id="tailuserhtmlsu2.html"></a>
|
|
|
|
</body></html>
|