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. 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
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.sf.net librsb.sourceforge.net


