Librsb
librsb is an open-source parallel library for sparse matrix computations using the Recursive Sparse Blocks 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.
- 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 figures.
- A program for benchmarking / testing performance.
- Implements the Sparse BLAS standard, as specified in the BLAS Technical Forum. documents.
System requirements
librsb can be used from:- C and C++
- Fortran 90/95/2003
- GNU Octave GNU Octave package