Librsb

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