pyGinkgo: A Sparse Linear Algebra Operator Framework for Python

Sparse linear algebra is a cornerstone of many scientific computing and machine learning applications. Python has become a popular choice for these applications due to its simplicity and ease of use. Yet high-performance sparse kernels in Python remain limited in functionality, especially on modern CPU and GPU architectures. We present pyGinkgo, a lightweight and Pythonic interface to the Ginkgo library, offering high-performance sparse linear algebra support with platform portability across CUDA, HIP, and OpenMP backends. pyGinkgo bridges the gap between high-performance C++ backends and Python usability by exposing Ginkgo’s capabilities via Pybind11 and a NumPy and PyTorch compatible interface. We benchmark pyGinkgo’s performance against state-of-the-art Python libraries including SciPy, CuPy, PyTorch and TensorFlow. Results across hardware from different vendors demonstrate that pyGinkgo consistently outperforms existing Python tools in both Sparse Matrix Vector (SpMV) product and iterative solver performance, while maintaining performance parity with native Ginkgo C++ code. Our work positions pyGinkgo as a compelling backend for sparse machine learning models and scientific workflows.

Authors

Institutions

Publication Details

Published
2025-09-08
DOI
https://doi.org/10.1145/3754598.3754648
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

pyGinkgo: A Sparse Linear Algebra Operator Framework for Python

Gregor Olenik, Hartwig Anzt, Charlotte Debus, Achim Streit et al.
Parallel Computing and Optimization Techniques
article

pyGinkgo: A Sparse Linear Algebra Operator Framework for Python

Gregor Olenik, Hartwig Anzt, Charlotte Debus, Achim Streit, Yu‐Hsiang Tsai, Markus Götz, Keshvi Tuteja, Roman Mishchuk
article en

Abstract

Sparse linear algebra is a cornerstone of many scientific computing and machine learning applications. Python has become a popular choice for these applications due to its simplicity and ease of use. Yet high-performance sparse kernels in Python remain limited in functionality, especially on modern CPU and GPU architectures. We present pyGinkgo, a lightweight and Pythonic interface to the Ginkgo library, offering high-performance sparse linear algebra support with platform portability across CUDA, HIP, and OpenMP backends. pyGinkgo bridges the gap between high-performance C++ backends and Python usability by exposing Ginkgo’s capabilities via Pybind11 and a NumPy and PyTorch compatible interface. We benchmark pyGinkgo’s performance against state-of-the-art Python libraries including SciPy, CuPy, PyTorch and TensorFlow. Results across hardware from different vendors demonstrate that pyGinkgo consistently outperforms existing Python tools in both Sparse Matrix Vector (SpMV) product and iterative solver performance, while maintaining performance parity with native Ginkgo C++ code. Our work positions pyGinkgo as a compelling backend for sparse machine learning models and scientific workflows.

Karlsruhe Institute of Technology (DE), Heilbronn University (DE), Technical University of Munich (DE), University of Tennessee at Knoxville (US)
Bundesministerium für Bildung und Forschung, Helmholtz Artificial Intelligence Cooperation Unit, RIKEN
Openalex Percentile: Top 61%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.