High Performance Solution of Tridiagonal Systems on the GPU

In this article, we present PfSolve—a new, performant, cross-platform, and open-source implementation of tridiagonal and bidiagonal matrix solvers for the GPU architecture. Released as a stand-alone library, PfSolve can solve systems of arbitrary size that fit into the memory of a single GPU with a potential extension to multi-GPU support in the future. The code works in single, double, and double-double emulation of quad precision using only 0.1% of the original system size as additional memory. PfSolve is based on the in-house implementation of the Parallel Thomas algorithm optimized for GPU execution by using warp-level instructions and occupancy optimizations, which are discussed in detail in the article. This work also presents an accuracy analysis of the Parallel Thomas algorithm for tridiagonal matrices with various dominance factors (approximately, the ratio of the off-diagonal to diagonal terms) and demonstrates that PfSolve achieves a considerable speedup over vendor solutions on modern HPC GPUs like Nvidia H100 and AMD MI210. The source code for PfSolve is available on GitHub.

Authors

Institutions

Publication Details

Journal
ACM Transactions on Parallel Computing
Published
2025-02-04
DOI
https://doi.org/10.1145/3716171
Primary Topic
Matrix Theory and Algorithms
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

High Performance Solution of Tridiagonal Systems on the GPU

Giacomo Castiglioni, Andrew Jackson, Philippe Marti, Dmitrii Tolmachev
ACM Transactions on Parallel Computing
Matrix Theory and Algorithms
article

High Performance Solution of Tridiagonal Systems on the GPU

Giacomo Castiglioni, Andrew Jackson, Philippe Marti, Dmitrii Tolmachev
article en

Abstract

In this article, we present PfSolve—a new, performant, cross-platform, and open-source implementation of tridiagonal and bidiagonal matrix solvers for the GPU architecture. Released as a stand-alone library, PfSolve can solve systems of arbitrary size that fit into the memory of a single GPU with a potential extension to multi-GPU support in the future. The code works in single, double, and double-double emulation of quad precision using only 0.1% of the original system size as additional memory. PfSolve is based on the in-house implementation of the Parallel Thomas algorithm optimized for GPU execution by using warp-level instructions and occupancy optimizations, which are discussed in detail in the article. This work also presents an accuracy analysis of the Parallel Thomas algorithm for tridiagonal matrices with various dominance factors (approximately, the ratio of the off-diagonal to diagonal terms) and demonstrates that PfSolve achieves a considerable speedup over vendor solutions on modern HPC GPUs like Nvidia H100 and AMD MI210. The source code for PfSolve is available on GitHub.

ACM Transactions on Parallel ComputingVol. 12(2)
ETH Zurich (CH)
Openalex Percentile: Top 97%
Matrix Theory and Algorithms
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.

High Performance Solution of Tridiagonal Systems on the GPU — Giacomo Castiglioni, Andrew Jackson, et al. · ACM Transactions on Parallel Computing (2025) | TGRS Research Map | TGRS