librsb
is a library for sparse matrix computations featuring the Recursive Sparse Blocks
(RSB)
matrix format. This format allows cache efficient and multi-threaded
(that is, shared memory parallel) operations on large sparse matrices.
The most common operations necessary to iterative solvers are available, e.g.:
matrix-vector multiplication, triangular solution, rows/columns scaling,
diagonal extraction / setting, blocks extraction, norm computation, formats
conversion. The RSB format is especially well suited for symmetric and
transposed multiplication variants.
Most numerical kernels code is auto generated, and the supported numerical
types can be chosen by the user at build time.
librsb
can also be built serially (without OpenMP parallelism), if required.
librsb
also implements the Sparse BLAS standard, as specified in the [BLAS Technical Forum] documents.
This library is dual-interfaced; it supports: a native (`RSB') interface (with identifiers prefixed by `rsb_' or `RSB_'), and a (mostly complete) Sparse BLAS interface, as a wrapper around the RSB interface. Many computationally intensive operations are implemented with thread parallelism, by using OpenMP. Thread parallelism can be turned off at configure time, if desired, or limited at execution time. Many of the computational kernels source code files (mostly internals) were automatically generated.
http://librsb.sourceforge.net/
https://www.youtube.com/watch?v=yHejtO1qNEU&list=PLYx7XA2nY5GesARqNMImG3NnX3_bWq-lT&index=27
PyRSB is a Cython-based Python interface to librsb.
No comments:
Post a Comment