中文

OpSparse:一种高度优化的GPU稀疏通用矩阵乘法框架

分布式、并行与集群计算 2022-06-16 v1

摘要

稀疏通用矩阵乘法(SpGEMM)是许多实际应用中重要且昂贵的计算原语。由于SpGEMM固有的不规则性及其输入矩阵的巨大多样性,在现代处理器如GPU上开发高性能SpGEMM实现具有挑战性。最先进的SpGEMM库(即nsparsensparsespECKspECK)采用多种算法应对全局负载均衡、局部负载均衡和结果矩阵分配的难题。尽管这些库聚焦于SpGEMM的高层算法设计,却忽视了若干底层架构相关的优化,导致其库中实现效率低下。本文将其低效实现归为七类。基于观察,我们提出了高度优化的SpGEMM库OpSparseOpSparseOpSparseOpSparse中的优化包括:1)通过提升共享内存利用率优化分箱方法;2)通过减少对哈希表的访问优化哈希方法;3)通过设置恰当的分箱范围改善哈希方法中哈希冲突率与硬件利用率的权衡;4)通过最小化元数据的全局内存使用降低全局内存利用开销;5)通过使全局内存分配与内核执行重叠提升执行并行性。在Nvidia Tesla V100 GPU上用26个常用矩阵进行的性能评估表明,OpSparseOpSparse相较三个最先进库cuSPARSEcuSPARSEnsparsensparsespECKspECK分别实现了最高27.8×27.8\times1.81×1.81\times2.04×2.04\times的性能加速。

关键词

引用

@article{arxiv.2206.07244,
  title  = {OpSparse: a Highly Optimized Framework for Sparse General Matrix Multiplication on GPUs},
  author = {Zhaoyang Du and Yijin Guan and Tianchan Guan and Dimin Niu and Linyong Huang and Hongzhong Zheng and Yuan Xie},
  journal= {arXiv preprint arXiv:2206.07244},
  year   = {2022}
}

备注

This paper has been submitted to the IEEE Access since May 7, 2022, and is currently under review by IEEE Access. 20 pages, 11 fgures, 5 tables