Librsb
Appearance
![]() | |
Original author(s) | Michele Martone |
---|---|
Stable release | 1.2.0
/ September 2016 |
Operating system | Cross-platform |
Available in | C, C++, Fortran |
Type | Software library |
License | GPL License |
Website | http://librsb.sf.net |
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.[1] 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 [2]