[Paper Review] On Parallel Solution of Sparse Triangular Linear Systems in CUDA
This paper proposes self-scheduling algorithms for solving sparse triangular linear systems on GPUs using CUDA, overcoming the sequential bottlenecks of traditional level-scheduling methods. The proposed approach achieves up to 2.6× speedup over cuSPARSE's CSRSV2 solver by eliminating global synchronizations and enabling immediate task execution upon data availability, with GPU-accelerated setup phases further reducing total solve time for repeated problems.
The acceleration of sparse matrix computations on modern many-core processors, such as the graphics processing units (GPUs), has been recognized and studied over a decade. Significant performance enhancements have been achieved for many sparse matrix computational kernels such as sparse matrix-vector products and sparse matrix-matrix products. Solving linear systems with sparse triangular structured matrices is another important sparse kernel as demanded by a variety of scientific and engineering applications such as sparse linear solvers. However, the development of efficient parallel algorithms in CUDA for solving sparse triangular linear systems remains a challenging task due to the inherently sequential nature of the computation. In this paper, we will revisit this problem by reviewing the existing level-scheduling methods and proposing algorithms with self-scheduling techniques. Numerical results have indicated that the CUDA implementations of the proposed algorithms can outperform the state-of-the-art solvers in cuSPARSE by a factor of up to $2.6$ for structured model problems and general sparse matrices.
Motivation & Objective
- To address the performance bottleneck in solving sparse triangular systems on GPUs due to their inherently sequential nature.
- To improve parallel efficiency by replacing global synchronization in level-scheduling with dynamic, dependency-aware self-scheduling.
- To reduce total solution time by accelerating the setup phase on GPUs for matrices with repeated solves.
- To evaluate and compare the performance of self-scheduling algorithms against state-of-the-art solvers like cuSPARSE CSRSV2.
- To justify the cost of setup phases in practice by determining the minimum number of solves needed for performance gains.
Proposed method
- Introduces self-scheduling algorithms where each unknown is solved as soon as its dependencies are resolved, eliminating global synchronization barriers.
- Adapts dependency graph analysis to identify task readiness dynamically, enabling fine-grained parallelism.
- Implements GPU-accelerated setup phases to discover parallelism from sparse triangular matrix patterns.
- Uses CUDA kernels to execute solve phases with minimal latency between task readiness and execution.
- Employs a hybrid approach combining CPU and GPU for setup, with GPU-based analysis showing speedups on 3D Laplacian and general sparse matrices.
- Evaluates performance across structured and unstructured matrices using metrics like solve time and total time (setup + solve).
Experimental results
Research questions
- RQ1Can self-scheduling algorithms outperform level-scheduling methods in solving sparse triangular systems on GPUs?
- RQ2To what extent can GPU-accelerated setup phases reduce the total time for multiple solves?
- RQ3What is the minimum number of solves required for self-scheduling solvers to outperform cuSPARSE CSRSV2 in total time?
- RQ4How does the performance of self-scheduling compare to state-of-the-art GPU solvers across diverse sparse matrix types?
- RQ5Can the overhead of setup phases be justified in real-world applications with repeated solves?
Key findings
- The proposed self-scheduling solver (SLFC) achieves up to 2.6× speedup over cuSPARSE CSRSV2 for structured and general sparse matrices.
- For 11 out of 12 test matrices, GPU-based setup phases reduced setup time compared to CPU-based setup, with speedups observed on 3D Laplacian matrices.
- The smallest number of solves required for SLFC to outperform cuSPARSE CSRSV2 was often low—zero for several matrices, indicating immediate performance advantage.
- GSF solver, despite having a very cheap setup phase, required more solves (e.g., 9 for webbase1M) to match SLFC’s total time, highlighting SLFC’s solve-phase efficiency.
- For matrices like Queen_4147, SLFC required only 11 solves to outperform cuSPARSE CSRSV2 in total time, demonstrating strong practical viability.
- The study confirms that the setup phase cost is justified in applications with multiple right-hand sides, such as iterative solvers and iterative refinement in direct methods.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.