中文

一种在 GPU 卡上并行求解线性系统的分裂方法分析

分布式、并行与集群计算 2015-09-29 v1 数学软件 数值分析

摘要

我们讨论一种在图形处理单元(GPU)卡上求解稀疏或稠密带状线性系统 Ax=b{\bf A} {\bf x} = {\bf b} 的方法。矩阵 ARN×N{\bf A} \in {\mathbb{R}}^{N \times N} 可能非对称且规模中等偏大;即 10000N50000010000 \leq N \leq 500000split and parallelize{\it split\ and\ parallelize} (SaP{\tt SaP}) 方法试图将矩阵 A{\bf A} 划分为对角子块 Ai{\bf A}_ii=1,,Pi=1,\ldots,P,这些子块被独立并行分解。求解时可以选择考虑或忽略耦合对角子块 Ai{\bf A}_i 的矩阵。该方法及其预条件的基于 Krylov 子空间的迭代方法在一个称为 SaP::GPU{\tt SaP::GPU} 的求解器中实现,并在效率上与三种常用稀疏直接求解器:PARDISO{\tt PARDISO}SuperLU{\tt SuperLU}MUMPS{\tt MUMPS} 进行比较。SaP::GPU{\tt SaP::GPU} 除涉及初步行列置换的几个阶段外完全在 GPU 上运行,它鲁棒且在效率上与上述直接求解器表现相当。在与英特尔 MKL{\tt MKL} 的比较中,SaP::GPU{\tt SaP::GPU} 在用于求解接近对角占优的稠密带状系统时也表现良好。SaP::GPU{\tt SaP::GPU} 公开可用,并在宽松的 BSD3 许可证下作为开源分发。

关键词

引用

@article{arxiv.1509.07919,
  title  = {Analysis of A Splitting Approach for the Parallel Solution of Linear Systems on GPU Cards},
  author = {Ang Li and Radu Serban and Dan Negrut},
  journal= {arXiv preprint arXiv:1509.07919},
  year   = {2015}
}

备注

38 pages