diff --git a/docs/html/footnode.html b/docs/html/footnode.html index e5c4ad8f..1fad8e9a 100644 --- a/docs/html/footnode.html +++ b/docs/html/footnode.html @@ -25,7 +25,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
-
... +
... explicitly1
In our prototype implementation we provide @@ -63,7 +63,7 @@ sample scatter/gather routines. .
-
... domain... domain2
This is the normal situation when the pattern of the sparse matrix is @@ -104,7 +104,7 @@ sample scatter/gather routines. .
-
... follows... follows3
The string is case-insensitive diff --git a/docs/html/node102.html b/docs/html/node102.html index 1acb83cb..cf0b23e0 100644 --- a/docs/html/node102.html +++ b/docs/html/node102.html @@ -106,7 +106,7 @@ Legal inputs to this subroutine are interpreted depending on the WIDTH="42" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" SRC="img141.png" ALT="$ptype$"> string as follows3: + HREF="footnode.html#foot6814">3:
NONE
No preconditioning, i.e. the preconditioner is just a copy diff --git a/docs/html/node107.html b/docs/html/node107.html index bf54a8f3..a5d00464 100644 --- a/docs/html/node107.html +++ b/docs/html/node107.html @@ -357,6 +357,8 @@ An integer value; 0 means no error has been detected.

+

+


diff --git a/docs/html/node108.html b/docs/html/node108.html index 45532ac6..777b58bc 100644 --- a/docs/html/node108.html +++ b/docs/html/node108.html @@ -52,9 +52,14 @@ original version by: Nikos Drakos, CBLU, University of Leeds

Bibliography -

+

1 +
+ D. Barbieri, V. Cardellini, S. Filippone and D. Rouson +Design Patterns for Scientific Computations on Sparse Matrices, + HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011 +

-

1 +

2
G. Bella, S. Filippone, A. De Maio and M. Testa, A Simulation Model for Forest Fires, @@ -62,12 +67,12 @@ in J. Dongarra, K. Madsen, J. Wasniewski, editors, Proceedings of PARA 04 Workshop on State of the Art in Scientific Computing, pp. 546-553, Lecture Notes in Computer Science, Springer, 2005. -

2 +

3
A. Buttari, D. di Serafino, P. D'Ambra, S. Filippone,
2LEV-D2P4: a package of high-performance preconditioners,
Applicable Algebra in Engineering, Communications and Computing, Volume 18, Number 3, May, 2007, pp. 223-239 -

3 +

4
P. D'Ambra, S. Filippone, D. Di Serafino
On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners
@@ -75,42 +80,48 @@ Applied Numerical Mathematics, Elsevier Science, Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196.

-

4 +

5
Dongarra, J. J., DuCroz, J., Hammarling, S. and Hanson, R., An Extended Set of Fortran Basic Linear Algebra Subprograms, ACM Trans. Math. Softw. vol. 14, 1-17, 1988. -

5 +

6
Dongarra, J., DuCroz, J., Hammarling, S. and Duff, I., A Set of level 3 Basic Linear Algebra Subprograms, ACM Trans. Math. Softw. vol. 16, 1-17, 1990. -

6 +

7
J. J. Dongarra and R. C. Whaley, A User's Guide to the BLACS v. 1.1, Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of Tennessee, March 1995 (updated May 1997). -

7 +

8
I. Duff, M. Marrone, G. Radicati and C. Vittoli, Level 3 Basic Linear Algebra Subprograms for Sparse Matrices: a User Level Interface, ACM Transactions on Mathematical Software, 23(3), pp. 379-401, 1997. -

8 +

9
I. Duff, M. Heroux and R. Pozo, An Overview of the Sparse Basic Linear Algebra Subprograms: the New Standard from the BLAS Technical Forum, ACM Transactions on Mathematical Software, 28(2), pp. 239-267, 2002. -

9 +

10
S. Filippone and M. Colajanni, PSBLAS: A Library for Parallel Linear Algebra Computation on Sparse Matrices,
ACM Transactions on Mathematical Software, 26(4), pp. 527-550, 2000. -

10 +

11 +
+S. Filippone and A. Buttari, +Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003, +
+ACM Transactions on Mathematical Software, to appear. +

12
S. Filippone, P. D'Ambra, M. Colajanni, Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics @@ -118,7 +129,7 @@ Applications Code on Linux Clusters, in G. Joubert, A. Murli, F. Peters, M. Vanneschi, editors, Parallel Computing - Advances & Current Issues, pp. 441-448, Imperial College Press, 2002. -

11 +

13
Karypis, G. and Kumar, V., METIS: Unstructured Graph Partitioning and Sparse Matrix @@ -126,25 +137,31 @@ Karypis, G. and Kumar, V., Minneapolis, MN 55455: University of Minnesota, Department of Computer Science, 1995. Internet Address: http://www.cs.umn.edu/~karypis. -

12 +

14
Lawson, C., Hanson, R., Kincaid, D. and Krogh, F., Basic Linear Algebra Subprograms for Fortran usage, ACM Trans. Math. Softw. vol. 5, 38-329, 1979.

-

13 +

15
Machiels, L. and Deville, M. Fortran 90: An entry to object-oriented programming for the solution of partial differential equations. ACM Trans. Math. Softw. vol. 23, 32-49. -

14 +

16
Metcalf, M., Reid, J. and Cohen, M. Fortran 95/2003 explained. Oxford University Press, 2004. -

15 +

17 +
+Rouson, D.W.I., Xia, J., Xu, X.: Scientific Software Design: The + Object-Oriented Way. Cambridge University Press (2011) + +

+

18
M. Snir, S. Otto, S. Huss-Lederman, D. Walker and J. Dongarra, MPI: The Complete Reference. Volume 1 - The MPI Core, second edition, diff --git a/docs/html/node109.html b/docs/html/node109.html index d2736bce..7c873f92 100644 --- a/docs/html/node109.html +++ b/docs/html/node109.html @@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney. The command line arguments were:
latex2html -local_icons -noaddress -dir ../../html userhtml.tex

-The translation was initiated by Salvatore Filippone on 2011-10-13 +The translation was initiated by Salvatore Filippone on 2011-12-15


diff --git a/docs/html/node11.html b/docs/html/node11.html index 6a904f4c..e7a95356 100644 --- a/docs/html/node11.html +++ b/docs/html/node11.html @@ -129,7 +129,7 @@ figure 5. The definitions for singl complex data are identical except for the real declaration and for the kind type parameter. -
+
Figure 4: The PSBLAS defined data type that diff --git a/docs/html/node13.html b/docs/html/node13.html index b9b789c1..4fa95e39 100644 --- a/docs/html/node13.html +++ b/docs/html/node13.html @@ -129,7 +129,7 @@ figure 5. The definitions for single precision complex data are identical except for the real declaration and for the kind type parameter. -
+
Figure 5: The PSBLAS defined data type that diff --git a/docs/html/node15.html b/docs/html/node15.html index f83e7847..7ef6ed8a 100644 --- a/docs/html/node15.html +++ b/docs/html/node15.html @@ -72,7 +72,7 @@ to be interpreted. This data structure is the basis of more complex preconditioning strategies, which are the subject of further research. -
+
diff --git a/docs/html/node2.html b/docs/html/node2.html index 98007878..15cf7b33 100644 --- a/docs/html/node2.html +++ b/docs/html/node2.html @@ -69,14 +69,29 @@ addresses a distributed memory execution model operating with message passing.

-The PSBLAS library is internally implemented in - the Fortran 95 [14] programming language, with reuse and/or +The PSBLAS library version 3 is internally implemented in + the Fortran 2003 [16] programming language, with reuse and/or adaptation of some existing Fortran 77 software, and a handful of C routines. -A similar approach has been advocated by a number of authors, + +

+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 [11]; other +works tackling advanced programming in Fortran 2003 include [1,17] + +

+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. [13]. Moreover, the Fortran 95 facilities for dynamic + HREF="node108.html#machiels">15]. 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 @@ -91,12 +106,12 @@ Fortran compiler from the Free Software Foundation (as of version 4.2). The presentation of the PSBLAS library follows the general structure of the proposal for serial Sparse BLAS [7,8], which in its turn is based on the + HREF="node108.html#sblas97">8,9], which in its turn is based on the proposal for BLAS on dense matrices [12,4,5]. + HREF="node108.html#BLAS1">14,5,6].

The applicability of sparse iterative solvers to many different areas diff --git a/docs/html/node28.html b/docs/html/node28.html index 484db53b..c4211b2c 100644 --- a/docs/html/node28.html +++ b/docs/html/node28.html @@ -81,7 +81,7 @@ call psb_geaxpby(alpha, x, beta, y, desc_a, info)


-
+
Figure 6: The PSBLAS defined data type that contains a preconditioner.
diff --git a/docs/html/node29.html b/docs/html/node29.html index 342d3400..668bf2ff 100644 --- a/docs/html/node29.html +++ b/docs/html/node29.html @@ -116,7 +116,7 @@ dot \leftarrow x^H y psb_gedot(x, y, desc_a, info)

-
+
Table 1: Data types
diff --git a/docs/html/node3.html b/docs/html/node3.html index c2215b8c..5a58dc55 100644 --- a/docs/html/node3.html +++ b/docs/html/node3.html @@ -77,7 +77,7 @@ The serial parts of the computation on each process are executed through calls to the serial sparse BLAS subroutines. In a similar way, the inter-process message exchanges are implemented through the Basic Linear Algebra Communication Subroutines (BLACS) library [6] + HREF="node108.html#BLACS">7] that guarantees a portable and efficient communication layer. The Message Passing Interface code is encapsulated within the BLACS layer. However, in some cases, MPI routines are directly used either @@ -90,7 +90,7 @@ user does not need to delve into their details (see Sec.  +
Table 2: Data types
@@ -141,7 +141,7 @@ as well as completely arbitrary assignments of equation indices to processes. In particular it is consistent with the usage of graph partitioning tools commonly available in the literature, e.g. METIS [11]. + HREF="node108.html#METIS">13]. Dense vectors conform to sparse matrices, that is, the entries of a vector follow the same distribution of the matrix rows. @@ -152,7 +152,7 @@ process generates its own portion. We never require that the entire matrix be available on a single node. However, it is possible to hold the entire matrix in one process and distribute it explicitly1, even though the resulting + HREF="footnode.html#foot167">1, even though the resulting bottleneck would make this option unattractive in most cases.

diff --git a/docs/html/node30.html b/docs/html/node30.html index 3354e4ea..979cd3bd 100644 --- a/docs/html/node30.html +++ b/docs/html/node30.html @@ -101,7 +101,7 @@ is a rank one array. call psb_gedots(res, x, y, desc_a, info)

-
+
Figure 1: PSBLAS library components hierarchy.
diff --git a/docs/html/node31.html b/docs/html/node31.html index 980769ae..6ac743e5 100644 --- a/docs/html/node31.html +++ b/docs/html/node31.html @@ -109,7 +109,7 @@ psb_geamax(x, desc_a, info)


-
+
Table 3: Data types
diff --git a/docs/html/node32.html b/docs/html/node32.html index 5a69d19c..93d76a3b 100644 --- a/docs/html/node32.html +++ b/docs/html/node32.html @@ -84,7 +84,7 @@ call psb_geamaxs(res, x, desc_a, info)


-
+
Table 4: Data types
diff --git a/docs/html/node33.html b/docs/html/node33.html index 2cedc7df..acc2859a 100644 --- a/docs/html/node33.html +++ b/docs/html/node33.html @@ -108,7 +108,7 @@ psb_geasum(x, desc_a, info)


-
+
Table 5: Data types
diff --git a/docs/html/node34.html b/docs/html/node34.html index 2bca0e96..3ac45e78 100644 --- a/docs/html/node34.html +++ b/docs/html/node34.html @@ -128,7 +128,7 @@ call psb_geasums(res, x, desc_a, info)


-
+
Table 6: Data types
diff --git a/docs/html/node35.html b/docs/html/node35.html index 86a7b72a..a13f9c78 100644 --- a/docs/html/node35.html +++ b/docs/html/node35.html @@ -103,7 +103,7 @@ nrm2 \leftarrow \sqrt{x^H x}


-
+
Table 7: Data types
diff --git a/docs/html/node36.html b/docs/html/node36.html index e034a8bd..8f060a67 100644 --- a/docs/html/node36.html +++ b/docs/html/node36.html @@ -84,7 +84,7 @@ call psb_genrm2s(res, x, desc_a, info)


-
+
Table 8: Data types
diff --git a/docs/html/node37.html b/docs/html/node37.html index 326b45d2..170572dd 100644 --- a/docs/html/node37.html +++ b/docs/html/node37.html @@ -92,7 +92,7 @@ where:


-
+
Table 9: Data types
diff --git a/docs/html/node38.html b/docs/html/node38.html index 74307619..e5499645 100644 --- a/docs/html/node38.html +++ b/docs/html/node38.html @@ -157,7 +157,7 @@ where:


-
+
Table 10: Data types
diff --git a/docs/html/node39.html b/docs/html/node39.html index 9d591ba6..a2259d8d 100644 --- a/docs/html/node39.html +++ b/docs/html/node39.html @@ -137,7 +137,7 @@ call psb_spsm(alpha, t, x, beta, y, desc_a, info,&


-
+
Table 11: Data types
diff --git a/docs/html/node4.html b/docs/html/node4.html index 9d4cf0f8..24148455 100644 --- a/docs/html/node4.html +++ b/docs/html/node4.html @@ -112,7 +112,7 @@ on it. Whenever performing a computational step, such as a matrix-vector product, the values associated with halo points are requested from other domains. A boundary point of a given domain is usually a halo point for some other domain2; therefore + HREF="footnode.html#foot176">2; therefore the cardinality of the boundary points set denotes the amount of data sent to other domains. @@ -126,8 +126,8 @@ Overlap points do not usually exist in the basic data distributions; however they are a feature of Domain Decomposition Schwarz preconditioners which are the subject of related research work [3,2]. + HREF="node108.html#2007c">4,3].

We denote the sets of internal, boundary and halo points for a given @@ -166,7 +166,7 @@ local rows) is

Table 12: Data types