pyGinkgo: A Sparse Linear Algebra Operator Framework for Python

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Tuteja, Keshvi, Olenik, Gregor, Mishchuk, Roman, Tsai, Yu-Hsiang, Götz, Markus, Streit, Achim, Anzt, Hartwig, Debus, Charlotte
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866914083926704128
author Tuteja, Keshvi
Olenik, Gregor
Mishchuk, Roman
Tsai, Yu-Hsiang
Götz, Markus
Streit, Achim
Anzt, Hartwig
Debus, Charlotte
author_facet Tuteja, Keshvi
Olenik, Gregor
Mishchuk, Roman
Tsai, Yu-Hsiang
Götz, Markus
Streit, Achim
Anzt, Hartwig
Debus, Charlotte
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2510_08230
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle pyGinkgo: A Sparse Linear Algebra Operator Framework for Python
Tuteja, Keshvi
Olenik, Gregor
Mishchuk, Roman
Tsai, Yu-Hsiang
Götz, Markus
Streit, Achim
Anzt, Hartwig
Debus, Charlotte
Mathematical Software
Distributed, Parallel, and Cluster Computing
Performance
Software Engineering
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.
title pyGinkgo: A Sparse Linear Algebra Operator Framework for Python
topic Mathematical Software
Distributed, Parallel, and Cluster Computing
Performance
Software Engineering
url https://arxiv.org/abs/2510.08230