Libraries
SLATE
Next-generation software library for dense linear algebra operations designed to replace ScaLAPACK for modern HPC systems.
Key Features
- Full coverage of LAPACK and ScaLAPACK functionality
- Parallel BLAS operations with GPU acceleration
- Dense linear system solvers
- Least squares solvers
- Singular value and eigenvalue solvers
- Support for distributed-memory systems
- Built on MPI and OpenMP standards
- Integration with vendor libraries (MKL, cuBLAS, rocBLAS, etc.)
- Modern C++ design with task-based parallelism
- Optimized for both GPU-accelerated and multi-core systems
C++
BSD-3
ChASE
A modern C++ implementation of the Chebyshev Accelerated Subspace Eigenvalue Solver for computing selected eigenpairs of large Hermitian and quasi-Hermitian matrices.
Key Features
- Optimized for dense Hermitian eigenproblems
- Optimized for dense quasi-Hermitian eigenproblems (Bethe–Salpeter equations)
- Highly efficient parallel implementation
- GPU acceleration support
- Subspace iteration
- Excellent scalability for large matrices
- Distributed memory support
- Multi-GPU support
C++
BSD-3
SLEPc
A PETSc-based toolkit for the (partial) solution of various types of eigenvalue problems, focusing on large-scale sparse or matrix-free problems with iterative algorithms.
Key Features
- Covers both standard and generalized eigenproblems, either Hermitian or non-Hermitian
- Support for structured eigenproblems (Bethe–Salpeter and other)
- Easy selection of available solvers: Krylov-Schur, Jacobi-Davidson, LOBPCG, contour integral, etc.
- Built-in support for shift-and-invert spectral transformation, as well as polynomial filters
- Also (partial) solution of different singular value problems: SVD, GSVD, HSVD
- Polynomial eigenvalue problems (either quadratic or higher degree) with or without (implicit) linearization
- Support for general nonlinear eigenvalue problems involving almost any nonlinear function (including rational, square root, exponential)
- Basic functionality for computing the action of a matrix function on a vector
- Tight integration with PETSc, leveraging all linear system solvers and basic infrastructure
- MPI and GPU parallelism
- Real or complex arithmetic, with single, double, or quad precision
C
BSD-2
DLA-Future
A distributed linear algebra library implemented using C++ std::execution. It provides an asynchronous C++ interface, a synchronous C interface, and a synchronous ScaLAPACK-like C interface.
Key Features
- Dense Symmetric/Hermitian eigenproblems
- Dense Symmetric/Hermitian generalized eigenproblems
- Cholesky factorization and inverse of positive definite matrices
- Highly efficient parallel implementation
- Integration with vendor libraries (MKL, cuBLAS, rocBLAS, etc.)
- Modern C++ design with C++ standard task-based parallelism (std::execution)
- Multi-core systems support
- NVIDIA GPU acceleration support
- AMD GPU acceleration support
- Multi-node and multi-GPU support through MPI
- Real or complex arithmetic, with single or double precision
- Installable with Spack
C++
BSD-3
DLA-Future-Fortran
Fortran wrappers for DLA Future.
Key Features
- Dense Symmetric/Hermitian eigenproblems
- Dense Symmetric/Hermitian generalized eigenproblems
- Cholesky factorization and inverse of positive definite matrices
- Highly efficient parallel implementation
- Integration with vendor libraries (MKL, cuBLAS, rocBLAS, etc.)
- Modern C++ design with C++ standard task-based parallelism (std::execution)
- Multi-core systems support
- NVIDIA GPU acceleration support
- AMD GPU acceleration support
- Multi-node and multi-GPU support through MPI
- Real or complex arithmetic, with single or double precision
- Installable with Spack
Fortran
BSD-3
Library Category Distribution
Overview of library categorizations.
Dense Linear Algebra
4
Libraries
Sparse Linear Algebra
1
Library
Eigenvalue Problems
5
Libraries
Singular Value Problems
3
Libraries
High-Performance Computing
5
Libraries
Hermitian/Symmetric
5
Libraries
Non-Hermitian/Symmetric
1
Library
Quasi-Hermitian/Symmetric
3
Libraries
GPU Acceleration
5
Libraries
Distributed Memory
5
Libraries
Subspace Iteration
1
Library