mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-06 22:55:08 +00:00
Doc fixes
This commit is contained in:
+31
-29
@@ -16,33 +16,34 @@ href="userhtmlli1.html" >prev</a>] [<a
|
||||
href="userhtmlli1.html#tailuserhtmlli1.html" >prev-tail</a>] [<a
|
||||
href="#tailuserhtmlse1.html">tail</a>] [<a
|
||||
href="userhtml.html#userhtmlse1.html" >up</a>] </p></div>
|
||||
<h3 class="sectionHead"><span class="titlemark">1 </span> <a
|
||||
<h3 class="sectionHead"><span class="titlemark">1 </span> <a
|
||||
id="x3-20001"></a>Introduction</h3>
|
||||
<!--l. 3--><p class="noindent" >The PSBLAS library, developed with the aim to facilitate the parallelization of
|
||||
computationally intensive scientific applications, is designed to address parallel
|
||||
implementation of iterative solvers for sparse linear systems through the distributed
|
||||
memory paradigm. It includes routines for multiplying sparse matrices by dense
|
||||
matrices, solving block diagonal systems with triangular diagonal entries,
|
||||
preprocessing sparse matrices, and contains additional routines for dense matrix
|
||||
operations. The current implementation of PSBLAS addresses a distributed memory
|
||||
execution model operating with message passing.
|
||||
implementation of iterative solvers for sparse linear systems through the
|
||||
distributed memory paradigm. It includes routines for multiplying sparse
|
||||
matrices by dense matrices, solving block diagonal systems with triangular
|
||||
diagonal entries, preprocessing sparse matrices, and contains additional
|
||||
routines for dense matrix operations. The current implementation of PSBLAS
|
||||
addresses a distributed memory execution model operating with message
|
||||
passing.
|
||||
<!--l. 14--><p class="indent" > The PSBLAS library version 3 is implemented in the Fortran 2003 <span class="cite">[<a
|
||||
href="userhtmlli2.html#Xmetcalf">16</a>]</span>
|
||||
programming language, with reuse and/or adaptation of existing Fortran 77 and
|
||||
Fortran 95 software, plus a handful of C routines.
|
||||
<!--l. 19--><p class="indent" > The use of Fortran 2003 offers a number of advantages over Fortran 95, mostly in
|
||||
the handling of requirements for evolution and adaptation of the library to new
|
||||
computing architectures and integration of new algorithms. For a detailed discussion
|
||||
of our design see <span class="cite">[<a
|
||||
href="userhtmlli2.html#XSparse03">10</a>]</span>; other works discussing advanced programming in Fortran 2003
|
||||
include <span class="cite">[<a
|
||||
<!--l. 19--><p class="indent" > The use of Fortran 2003 offers a number of advantages over Fortran 95, mostly
|
||||
in the handling of requirements for evolution and adaptation of the library to new
|
||||
computing architectures and integration of new algorithms. For a detailed
|
||||
discussion of our design see <span class="cite">[<a
|
||||
href="userhtmlli2.html#XSparse03">10</a>]</span>; other works discussing advanced programming in
|
||||
Fortran 2003 include <span class="cite">[<a
|
||||
href="userhtmlli2.html#XDesPat:11">20</a>, <a
|
||||
href="userhtmlli2.html#XRouXiaXu:11">18</a>]</span>; sufficient support for Fortran 2003 is now available from many
|
||||
compilers, including the GNU Fortran compiler from the Free Software Foundation
|
||||
(as of version 4.8).
|
||||
href="userhtmlli2.html#XRouXiaXu:11">18</a>]</span>; sufficient support for Fortran 2003 is now available
|
||||
from many compilers, including the GNU Fortran compiler from the Free Software
|
||||
Foundation (as of version 4.8).
|
||||
<!--l. 30--><p class="indent" > Previous approaches have been based on mixing Fortran 95, with its support for
|
||||
object-based design, with other languages; these have been advocated by a number of
|
||||
authors, e.g. <span class="cite">[<a
|
||||
object-based design, with other languages; these have been advocated by a number
|
||||
of authors, e.g. <span class="cite">[<a
|
||||
href="userhtmlli2.html#Xmachiels">15</a>]</span>. Moreover, the Fortran 95 facilities for dynamic memory
|
||||
management and interface overloading greatly enhance the usability of the PSBLAS
|
||||
subroutines. In this way, the library can take care of runtime memory requirements
|
||||
@@ -56,24 +57,25 @@ BLAS on dense matrices <span class="cite">[<a
|
||||
href="userhtmlli2.html#XBLAS1">14</a>, <a
|
||||
href="userhtmlli2.html#XBLAS2">4</a>, <a
|
||||
href="userhtmlli2.html#XBLAS3">5</a>]</span>.
|
||||
<!--l. 45--><p class="indent" > The applicability of sparse iterative solvers to many different areas causes some
|
||||
terminology problems because the same concept may be denoted through different
|
||||
names depending on the application area. The PSBLAS features presented in this
|
||||
document will be discussed referring to a finite difference discretization of a Partial
|
||||
Differential Equation (PDE). However, the scope of the library is wider than that: for
|
||||
example, it can be applied to finite element discretizations of PDEs, and even to
|
||||
different classes of problems such as nonlinear optimization, for example in optimal
|
||||
control problems.
|
||||
<!--l. 45--><p class="indent" > The applicability of sparse iterative solvers to many different areas causes
|
||||
some terminology problems because the same concept may be denoted
|
||||
through different names depending on the application area. The PSBLAS
|
||||
features presented in this document will be discussed referring to a finite
|
||||
difference discretization of a Partial Differential Equation (PDE). However,
|
||||
the scope of the library is wider than that: for example, it can be applied
|
||||
to finite element discretizations of PDEs, and even to different classes of
|
||||
problems such as nonlinear optimization, for example in optimal control
|
||||
problems.
|
||||
<!--l. 55--><p class="indent" > The design of a solver for sparse linear systems is driven by many conflicting
|
||||
objectives, such as limiting occupation of storage resources, exploiting regularities in
|
||||
the input data, exploiting hardware characteristics of the parallel platform. To
|
||||
achieve an optimal communication to computation ratio on distributed memory
|
||||
machines it is essential to keep the <span
|
||||
class="cmti-10">data locality </span>as high as possible; this can be
|
||||
done through an appropriate data allocation strategy. The choice of the
|
||||
|
||||
|
||||
|
||||
machines it is essential to keep the <span
|
||||
class="pplri7t-">data locality </span>as high as possible; this can
|
||||
be done through an appropriate data allocation strategy. The choice of the
|
||||
preconditioner is another very important factor that affects efficiency of the
|
||||
implemented application. Optimal data distribution requirements for a given
|
||||
preconditioner may conflict with distribution requirements of the rest of the solver.
|
||||
|
||||
Reference in New Issue
Block a user