pyGinkgo: A Sparse Linear Algebra Operator Framework for Python
Fuente:
arXiv
Guardado en:
| Autores principales: | , , , , , , , |
|---|---|
| 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 |