Sparse linear algebra · for modern accelerators
High-performance numerical linear algebra, built for accelerators.
One executor, every device
CUDA, HIP, SYCL, OpenMP, and reference CPU — kernels dispatched through a single interface.
Composable solvers
Build CG, GMRES, IR, and BiCGSTAB on top of any preconditioner via the LinOp interface.
Distributed & batched
First-class MPI distributed primitives and batched Krylov for many small systems.
Used in the field
Backend for deal.II, MFEM, NekRS, SUNDIALS — and your code next.
Recent news
All releases →-
Ginkgo 2.0 on
developGinkgo 2.0 is being assembled on thedevelopbranch — new API surface, new sparse primitives, and a refreshed distributed-memory stack. These pages render againstdevelop, so what you read here is the in-flight version. - Ginkgo 1.11.0 released New sparse matrix-matrix multiplication and addition interface (with a path that reuses sparsity across repeated computations), performance improvements for the distributed SpMV and pipelined CG, and support for ARM, ROCm 7, and CUDA 13.
-
Ginkgo 1.10.0 released
Adds
gko::bfloat16as a value type across matrices / solvers / preconditioners, mixed-precision support in the distributed matrix, a new pipelined CG solver for large-scale distributed runs, a Chebyshev iteration solver, and an OpenMP merge-path SpMV.
Citing Ginkgo
Full citation list →If you use Ginkgo in your research, please cite the canonical reference:
@article{ginkgo-toms-2022,
title = {{Ginkgo: A Modern Linear Operator Algebra Framework for High Performance Computing}},
author = {Anzt, Hartwig and Cojean, Terry and Flegar, Goran and G\"{o}bel, Fritz and
Gr\"{u}tzmacher, Thomas and Nayak, Pratik and Ribizel, Tobias and
Tsai, Yuhsiang Mike and Quintana-Ort{\'\i}, Enrique S.},
journal = {ACM Transactions on Mathematical Software},
volume = {48},
number = {1},
year = {2022},
pages = {1--33},
doi = {10.1145/3480935}
}