Software:Librsb

From HandWiki
Revision as of 15:26, 14 February 2024 by JStaso (talk | contribs) (add)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Librsb
Example rendering of RSB matrix created with librsb.
Original author(s)Michele Martone
Stable release
1.2.0 / September 2016 (2016-09)
Operating systemCross-platform
Available inC, C++, Fortran
TypeSoftware library
LicenseGPL License
Websitelibrsb.sourceforge.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]

References

External links