Skip to main content
QUICK REVIEW

[论文解读] A Highly Efficient Implementation of Multiple Precision Sparse Matrix-Vector Multiplication and Its Application to Product-type Krylov Subspace Methods

Tomonori Kouya|arXiv (Cornell University)|Nov 10, 2014
Numerical Methods and Algorithms参考文献 2被引用 3
一句话总结

本论文在BNCpack库中基于MPFR/GMP实现了高度优化的多精度稀疏矩阵-向量乘法(SpMV),显著降低了内存使用量和计算时间。该方法通过BiCG和GPBiCG等乘积型Krylov子空间方法高效求解大规模病态线性系统,在8192位精度下,cavity04矩阵的计算时间最多减少了67.48秒。

ABSTRACT

We evaluate the performance of the Krylov subspace method by using highly efficient multiple precision sparse matrix-vector multiplication (SpMV). BNCpack is our multiple precision numerical computation library based on MPFR/GMP, which is one of the most efficient arbitrary precision floating-point arithmetic libraries. However, it does not include functions that can manipulate multiple precision sparse matrices. Therefore, by using benchmark tests, we show that SpMV implemented in these functions can be more efficient. Finally, we also show that product-type Krylov subspace methods such as BiCG and GPBiCG in which we have embedded SpMV, can efficiently solve large-scale linear systems of equations provided in the UF sparse matrix collections in a memory-restricted computing environment.

研究动机与目标

  • 解决高精度科学计算中缺乏高效多精度稀疏矩阵库的问题。
  • 克服使用标准双精度算术求解大规模病态线性系统时的内存与性能瓶颈。
  • 开发并基准测试一种专为内存受限环境中的稀疏矩阵设计的高性能多精度SpMV内核。
  • 将SpMV集成到产品型Krylov子空间求解器(如BiCG、GPBiCG)中,提升高精度问题的收敛性与效率。
  • 通过UF稀疏矩阵集合中的真实稀疏矩阵,证明在通用硬件上实现多精度计算的可行性。

提出的方法

  • 使用MPFR/GMP的任意精度浮点数运算,基于压缩稀疏行(CSR)格式实现多精度稀疏矩阵结构。
  • 利用MPFR/GMP中优化的零乘法运算和可变精度算术,加速SpMV操作。
  • 设计自定义稀疏矩阵数据类型(`mpfrsmatrix`),存储精度、维度、非零元素以及列/行索引数组。
  • 在标准PC上对SpMV与密集矩阵-向量乘法(Dense MV)进行基准测试,量化性能提升。
  • 将SpMV内核集成到BNCpack的乘积型Krylov子空间求解器(BiCG、GPBiCG、BiCGSTAB)中,包含和不包含ILU(0)预条件处理。
  • 使用来自UF稀疏矩阵集合的矩阵(如cavity04、epb3)评估在不同精度水平(512至8192位)下的可扩展性与收敛性。

实验结果

研究问题

  • RQ1多精度SpMV与密集矩阵-向量乘法相比,在计算效率和内存使用方面表现如何?
  • RQ2多精度SpMV是否能在内存受限环境中显著提升乘积型Krylov子空间方法的性能?
  • RQ3在cavity04和epb3等病态问题中,收敛所需的精度水平是多少?SpMV如何影响迭代次数与运行时间?
  • RQ4预条件处理(如ILU(0))是否能提升多精度Krylov方法的收敛性?与更高精度的直接计算相比,其计算效率如何?
  • RQ5通用PC在使用所提出的SpMV实现时,能够在多大程度上处理大规模多精度稀疏线性系统?

主要发现

  • 在8192位精度下,针对cavity04矩阵,多精度SpMV实现使GPBiCG方法的计算时间最多减少了67.48秒。
  • 对于epb3矩阵(84,617×84,617,稀疏度99.0035%),基于SpMV的GPBiCG方法在8192位精度下实现收敛,耗时24,179秒,而采用密集矩阵存储则需约70 TB内存。
  • cavity04问题在乘积型Krylov方法中至少需要2048位精度才能收敛,且随着精度提高,BiCGSTAB与GPBiCG的性能均得到改善。
  • 由于MPFR/GMP中减少了内存占用和优化的零乘法运算,SpMV内核在高精度下相比密集MV实现了显著加速。
  • 在多精度环境下,ILU(0)预条件处理并未提升效率;4096位精度下,无预条件的BiCGSTAB方法耗时42.79秒,而预条件版本耗时109.29秒。
  • 稀疏矩阵格式将epb3矩阵的内存使用量从约320 GB(128位密集)降低至约3.5 MB(128位稀疏),使标准PC上可行计算成为可能。

更好的研究,从现在开始

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

无需绑定信用卡

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