librsb is an open-source parallel library for sparse matrix computations using the Recursive Sparse Blocks (RSB) matrix format.

librsb provides cache efficient multi-threaded Sparse BLAS operations via OpenMP, and is best suited to large sparse matrices.

Features librsb provides: Conversion from/to COO, CSR, CSC sparse matrix formats. Support for the four BLAS types. Support for general, symmetric, hermitian matrices. Parallel threaded, eventually strided: Sparse matrix-vector multiplication. Sparse matrix-dense matrix multiplication. Sparse matrix-vector triangular solve. Sparse matrix-dense matrix triangular solve. Sparse matrix-sparse matrix multiplication. Elemental sparse matrix operations (scaling, add, etc.). Row-wise or column-wise scaling. Rows / columns extraction. An online empirical autotuning function. File input/output in the Matrix Market format. Rendering of the RSB structure into EPS (Encapsulated Postscript) figures. A program for benchmarking / testing performance. Implements the Sparse BLAS standard, as specified in the BLAS Technical Forum.BLAS Technical Forum documents.

System requirements librsb can be used from:

C and C++ (rsb.h interface) Fortran 90/95/2003 (module rsb) GNU Octave (sparsersb package for GNU Octave) GNU Octave package sparsersb: "Interface to the librsb package implementing the RSB sparse matrix format for fast shared-memory sparse matrix computations."

See also List of open-source mathematical libraries

References

Martone, M. Efficient multithreaded untransposed, transposed or symmetric sparse matrix-vector multiplication with the Recursive Sparse Blocks format. Parallel Computing 40(7): 251-270 (2014)

External links

librsb.sourceforge.net