Skip to main content
QUICK REVIEW

[论文解读] Adaptive Row-grouped CSR Format for Storing of Sparse Matrices on GPU

Martin Heller, Tomáš Oberhuber|arXiv (Cornell University)|Mar 26, 2012
Matrix Theory and Algorithms被引用 6
一句话总结

本文提出一种用于在GPU上存储稀疏矩阵的自适应行分组CSR格式,通过根据非零元素分布动态将矩阵行划分为可变大小的块来优化矩阵-向量乘法(SpMV)。该方法提升了内存合并访问效率与负载均衡,相较于CUSPARSE最高可实现10倍加速,相较于CPU CSR在rajat23和GHS_indef等矩阵上实现5–8倍加速,尤其在电路仿真与优化问题中表现优异。

ABSTRACT

We present new adaptive format for storing sparse matrices on GPU. We compare it with several other formats including CUSPARSE which is today probably the best choice for processing of sparse matrices on GPU in CUDA. Contrary to CUSPARSE which works with common CSR format, our new format requires conversion. However, multiplication of sparse-matrix and vector is significantly faster for many atrices. We demonstrate it on set of 1 600 matrices and we show for what types of matrices our format is profitable.

研究动机与目标

  • 解决由于稀疏矩阵结构不规则导致的GPU上SpMV性能波动问题。
  • 克服标准CSR与ELLPACK格式在处理行长度高度可变矩阵时的局限性。
  • 通过引入矩阵行的自适应分块,提升GPU上SpMV的内存合并访问与负载均衡。
  • 设计一种能根据矩阵特性动态调整分块大小的格式,以最大化GPU利用率。
  • 在1,600个不同稀疏矩阵上展示该格式相较于当前最先进格式(如CUSPARSE、Hybrid与行分组CSR)的优越性能。

提出的方法

  • 根据非零元素数量将稀疏矩阵的行划分为可变大小的块,每个块在内存中连续存储。
  • 将非零值与列索引按列主序存储,以支持GPU上的合并内存访问。
  • 为每个块分配一个GPU线程,实现跨warp的块并行处理。
  • 使用线程映射数组记录每个块所属的行,以支持每行在块间进行部分和归约。
  • 实现一个内核,使每个块并行处理,当列索引超出当前行的范围时提前终止。
  • 引入可配置参数desiredChunkSize,根据矩阵规则性调整性能——不规则矩阵使用较小值,规则矩阵使用较大值。

实验结果

研究问题

  • RQ1与标准CSR及其他GPU优化格式相比,自适应行分组CSR格式在SpMV性能上有哪些提升?
  • RQ2自适应行分组CSR格式在哪些类型的稀疏矩阵上优于CUSPARSE、Hybrid与行分组CSR格式?
  • RQ3desiredChunkSize参数对性能有何影响?应如何针对不同矩阵类型进行调优?
  • RQ4该新格式是否能在传统格式表现不佳的电路仿真与优化问题相关矩阵上实现显著加速?
  • RQ5与ELLPACK方法相比,该格式在减少人工零值开销与提升内存合并访问方面改善程度如何?

主要发现

  • 在Schenk_AFE矩阵上,当desiredChunkSize = 32时,新格式达到18 GFLOPS,而desiredChunkSize = 1时仅为11 GFLOPS。
  • 对于rajat23矩阵,新格式在desiredChunkSize = 1时达到5.1 GFLOPS,相较于CPU CSR实现11倍加速,相较于GPU上CSR实现6倍加速。
  • 新格式在1,600个矩阵中的1,168个上优于CUSPARSE,尤其在raj、rajat23、GHS_indef与IBM_EDA等矩阵上最高实现10倍加速。
  • 在有限差分矩阵(如norris/torso2与t2d_q)上,行分组CSR格式几乎比新格式快一倍。
  • 在1,318个矩阵上,Hybrid格式慢于新格式;在1,358个矩阵上,CUSPARSE慢于新格式,表明新格式具有广泛优越性。
  • 性能在不同矩阵间差异显著,部分矩阵的CPU性能甚至优于GPU达两个数量级,尤其在包含数十至数百个未知数的小型矩阵中。

更好的研究,从现在开始

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

无需绑定信用卡

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