Skip to main content
QUICK REVIEW

[论文解读] On Parallel Solution of Sparse Triangular Linear Systems in CUDA

Ruipeng Li|arXiv (Cornell University)|Oct 13, 2017
Matrix Theory and Algorithms参考文献 34被引用 6
一句话总结

本文提出了一种用于在GPU上使用CUDA求解稀疏三角线性系统的自调度算法,克服了传统层级调度方法的串行瓶颈。所提出的方法通过消除全局同步并实现在数据可用时立即执行任务,相较于cuSPARSE的CSRSV2求解器实现了高达2.6倍的加速,且GPU加速的准备阶段进一步缩短了重复问题的总求解时间。

ABSTRACT

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.

研究动机与目标

  • 解决由于稀疏三角系统固有的串行性质导致在GPU上求解时的性能瓶颈。
  • 通过用动态、依赖感知的自调度替代层级调度中的全局同步,提升并行效率。
  • 通过在GPU上加速矩阵重复求解的准备阶段,减少总求解时间。
  • 评估并比较自调度算法与cuSPARSE CSRSV2等先进求解器的性能。
  • 通过确定实现性能优势所需的最少求解次数,证明准备阶段成本在实际应用中的合理性。

提出的方法

  • 提出自调度算法,使每个未知数在依赖项全部解决后立即求解,从而消除全局同步障碍。
  • 将依赖图分析方法适配以动态识别任务就绪状态,实现细粒度并行。
  • 实现GPU加速的准备阶段,从稀疏三角矩阵的模式中发现并行性。
  • 使用CUDA内核执行求解阶段,使任务就绪与执行之间的延迟最小化。
  • 采用CPU与GPU混合的准备方式,GPU-based分析在3D拉普拉斯矩阵和一般稀疏矩阵上均实现加速。
  • 通过求解时间与总时间(准备时间 + 求解时间)等指标,在结构化和非结构化矩阵上评估性能。

实验结果

研究问题

  • RQ1自调度算法在GPU上求解稀疏三角系统时是否能优于层级调度方法?
  • RQ2GPU加速的准备阶段在多轮求解中能多大程度上减少总时间?
  • RQ3自调度求解器在总时间上超越cuSPARSE CSRSV2所需的最少求解次数是多少?
  • RQ4自调度算法在多种稀疏矩阵类型上的性能与当前最先进的GPU求解器相比如何?
  • RQ5在具有重复求解的实际应用中,准备阶段的开销是否可以被合理化?

主要发现

  • 所提出的自调度求解器(SLFC)在结构化和一般稀疏矩阵上相较于cuSPARSE CSRSV2实现了高达2.6倍的加速。
  • 在12个测试矩阵中的11个中,基于GPU的准备阶段相比CPU准备阶段显著缩短了准备时间,尤其在3D拉普拉斯矩阵上观察到加速。
  • SLFC超越cuSPARSE CSRSV2所需的最少求解次数通常很低——对多个矩阵而言为零次,表明其具有立即的性能优势。
  • 尽管GSF求解器的准备阶段极为轻量,但其需更多求解次数(如webbase1M矩阵需9次)才能达到SLFC的总时间性能,凸显SLFC在求解阶段的高效性。
  • 对于Queen_4147等矩阵,SLFC仅需11次求解即可在总时间上超越cuSPARSE CSRSV2,证明其在实际应用中的强大可行性。
  • 本研究证实,在具有多个右端向量的应用中(如迭代求解器和直接法中的迭代修正),准备阶段的成本是合理的。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。