# An overview of the sparse basic linear algebra subprograms: The new standard from the BLAS technical forum

@article{Duff2002AnOO, title={An overview of the sparse basic linear algebra subprograms: The new standard from the BLAS technical forum}, author={Iain S. Duff and M. Heroux and Roldan Pozo}, journal={ACM Trans. Math. Softw.}, year={2002}, volume={28}, pages={239-267} }

We discuss the interface design for the Sparse Basic Linear Algebra Subprograms (BLAS), the kernels in the recent standard from the BLAS Technical Forum that are concerned with unstructured sparse matrices. [...] Key Method This design makes it easy to add further functionality to the sparse BLAS in the future.We illustrate the use of the Sparse BLAS with examples in the three supported programming languages, Fortran 95, Fortran 77, and C. Expand

#### 141 Citations

Algorithm 818: A reference model implementation of the sparse BLAS in fortran 95

- Computer Science
- TOMS
- 2002

This paper describes here the Fortran 95 implementation intended as a reference model for the Sparse BLAS, and identifies the underlying complex issues of the representation and the handling of sparse matrices and gives suggestions to other implementors of how to address them. Expand

Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003

- Computer Science
- TOMS
- 2012

An Object Oriented design model for a sparse linear algebra package which relies on Design Patterns is presented and it is shown that an implementation of the model can be efficiently achieved through some of the unique features of the Fortran 2003 language. Expand

On the design of interfaces to sparse direct solvers

- Computer Science
- TOMS
- 2008

We discuss the design of general, flexible, consistent, reusable, and efficient interfaces to software libraries for the direct solution of systems of linear equations on both serial and distributed… Expand

Extending PSBLAS to Build Parallel Schwarz Preconditioners

- Computer Science
- PARA
- 2004

We describe some extensions to Parallel Sparse BLAS (PSBLAS), a library of routines providing basic Linear Algebra operations needed to build iterative sparse linear system solvers on… Expand

An interface for a self-adapting sparse matrix kernel library

- 2004

The BeBOP Sparse Kernel Interface is a collection of low-level primitives that provide solver libraries and applications with automatically tuned computational kernels on sparse matrices. These… Expand

clSPARSE: A Vendor-Optimized Open-Source Sparse BLAS Library

- Computer Science
- IWOCL
- 2016

Sparse linear algebra is a cornerstone of modern computational science. These algorithms ignore the zero-valued entries found in many domains in order to work on much larger problems at much faster… Expand

An interface for a self-optimizing sparse matrix kernel library

- 2005

The BeBOP Optimized Sparse Kernel Interface (OSKI) is a collection of low-level primitives that provide automatically tuned computational kernels on sparse matrices, for use by solver libraries and… Expand

A Library for Parallel Sparse Matrix Vector Multiplies

- 2005

We provide parallel matrix-vector multiply routines for 1D and 2D partitioned sparse square and rectangular matrices. We clearly give pseudocodes that perform necessary initializations for parallel… Expand

Mixed Mode Programming for Sparse Linear Algebra

- Computer Science
- 2003

The aim in this work is to provide an interface for the convenient imple-mentation of iterative methods for sparse linear systems on clusters of shared memory computers; such computing platforms include most currently availablesupercomputers such as the IBM SP machines, as well as networks of commodityworkstations based on the Intel processor architecture. Expand

On the development of PSBLAS-based parallel two-level Schwarz preconditioners

- Mathematics
- 2007

Design and implementation issues that concern the development of a package of parallel algebraic two-level Schwarz preconditioners are discussed. The computations are based on the Parallel Sparse… Expand

#### References

SHOWING 1-10 OF 28 REFERENCES

Algorithm 818: A reference model implementation of the sparse BLAS in fortran 95

- Computer Science
- TOMS
- 2002

This paper describes here the Fortran 95 implementation intended as a reference model for the Sparse BLAS, and identifies the underlying complex issues of the representation and the handling of sparse matrices and gives suggestions to other implementors of how to address them. Expand

Level 3 basic linear algebra subprograms for sparse matrices: a user-level interface

- Computer Science
- TOMS
- 1997

The design, implementation, and use of subprograms for the multiplication of a fully matrix by a sparse one and for the solution of sparse triangular systems with one or more (full) right-hand sides are discussed. Expand

The design of a new frontal code for solving sparse, unsymmetric systems

- Computer Science
- TOMS
- 1996

The design, implementation, and performance of a frontal code for the solution of large, sparse, unsymmetric systems of linear equations, and the extensive use of higher-level BLAS kernels within MA42 are described. Expand

A Revised Proposal for a Sparse BLAS Toolkit

- Computer Science
- 1994

An interface for routines which perform (i) sparse matrix times dense matrix product, (ii) the solution of a sparse triangular system with multiple right-hand-sides, (iii) the right permutation of aparse matrix and (iv) a check for the integrity of a dense matrix representation are described. Expand

Sparse extensions to the FORTRAN Basic Linear Algebra Subprograms

- Computer Science
- TOMS
- 1991

This paper describes an extension to the set of Basic Linear Algebra Subprograms. The extension is targeted at sparse vector operations, with the goal of providing efficient, but portable,… Expand

An object-oriented framework for block preconditioning

- Computer Science
- TOMS
- 1998

This article presents a framework to support preconditioning with various, possibly user-defined, data structures for matrices that are partitioned into blocks, and an upper layer of software which uses these blocks transparently of their data structure. Expand

AD-A 270 601 Segmented Operations for Sparse Matrix Computation on Vector Multiprocessors

- Computer Science
- 1993

A new technique for sparse matrix multiplication on vector multiprocessors based on the efficient implementation of a segmented sum operation that is better suited than the Ellpack/Itpack or the Jagged Diagonal algorithms for matrices which have a varying number of non-zero elements in each row. Expand

Direct Methods for Sparse Matrices

- Mathematics
- 1987

The subject of sparse matrices has its roots in such diverse fields as management science, power systems analysis, surveying, circuit theory, and structural analysis. Mathematical models in all these… Expand

Templates for the solution of linear systems: building blocks for iterative methods

- Computer Science, Mathematics
- Software, environments, tools
- 1994

In this book, which focuses on the use of iterative methods for solving large sparse systems of linear equations, templates are introduced to meet the needs of both the traditional user and the… Expand

Performance Modeling and Tuning of an Unstructured Mesh CFD Application

- Computer Science
- ACM/IEEE SC 2000 Conference (SC'00)
- 2000

This paper describes performance tuning experiences with a three-dimensional unstructured grid Euler flow code from NASA, which we have reimplemented in the PETSc framework and ported to several… Expand