MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A Sparse Matrix Library in C++ for High Performance Architectures

Download:
Download as a PDF
by Jack Dongarra Xz, Andrew Lumsdaine, Xinhiu Niu, Roldan Pozo Z, Karin Remington X
http://www.netlib.org/netlib/lapack/lawnspdf/lawn74.pdf
Add To MetaCart

Abstract:

We describe an object oriented sparse matrix library in C++ built upon the Level 3 Sparse BLAS proposal [5] for portability and performance across a wide class of machine architectures. The C++ library includes algorithms for various iterative methods and supports the most common sparse data storage formats used in practice. Besides simplifying the subroutine interface, the object oriented design allows the same driving code to be used for various sparse matrix formats, thus addressing many of the di culties encountered with the typical approach to sparse matrix libraries. We emphasize the fundamental design issues of the C++ sparse matrix classes and illustrate their usage with the preconditioned conjugate gradient (PCG) method as an example. Performance results illustrate that these codes are competitive with optimized Fortran 77. We discuss the impact of our design on elegance, performance, maintainability, portability, and robustness. 1

Citations

617 A set of level 3 basic linear algebra subprograms – Dongarra, Croz, et al. - 1990
373 der Vorst. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods – Barrett, Berry, et al. - 1994
266 Sparse Matrix Test Problems – Duff, Grimes, et al. - 1989
216 SPARSKIT: a Basic Tool Kit for Sparse Matrix Computations – Saad - 1990
196 der Vorst. An iterative solution method for linear systems of which the coefficient matrix is a M-matrix – Meijerink, Van - 1977
72 et al., “Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods”, 2 nd edition – Barrett - 1994
36 LAPACK++: A Design Overview of Object-Oriented Extensions for High Performance Linear Algebra – Dongarra, Pozo, et al. - 1993
16 A proposal for user level sparse BLAS – Duff, Marrone, et al. - 1992
10 A proposal for a sparse BLAS toolkit – Heroux - 1992
7 A proposal for a sparse BLAS – Heroux - 1992
4 A Proposal for User Level Sparse BLAS, CERFACS – Duff, Marrone, et al. - 1992