计算物理 ›› 2024, Vol. 41 ›› Issue (1): 33-39.DOI: 10.19596/j.cnki.1001-246x.8763

• 面向超级计算机的性能优化技术与数值并行算法专刊 • 上一篇    下一篇

稀疏矩阵向量乘的自动调优

杜臻1,2(), 谭光明2   

  1. 1. 中国科学院大学计算机科学与技术学院, 北京 101408
    2. 中国科学院计算技术研究所, 北京 100190
  • 收稿日期:2023-05-25 出版日期:2024-01-25 发布日期:2024-02-05
  • 作者简介:杜臻, 男, 博士研究生, 研究方向为稀疏计算、自动调优。E-mail: duzhen18z@ict.ac.cn
  • 基金资助:
    国家自然科学基金杰出青年基金项目(T2125013)

Auto-tuning for Sparse Matrix-vector Multiplication

Zhen DU1,2(), Guangming TAN2   

  1. 1. School of Computer and Control Engineering, University of Chinese Academy of Sciences, Beijing 101408, China
    2. Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China
  • Received:2023-05-25 Online:2024-01-25 Published:2024-02-05

摘要:

分析稀疏矩阵向量乘(SpMV)程序优化的难点, 介绍两个自动调优的代表性工作: 基于预实现模板的SMAT和从头设计程序的AlphaSparse。详细介绍了它们的设计思路、实现细节、测试结果以及各自的优缺点。最后, 对SpMV自动调优的发展趋势进行了分析和预测。

关键词: 高性能科学计算, 稀疏矩阵, 自动调优, 稀疏矩阵向量乘

Abstract:

SpMV (sparse matrix-vector multiplication) is a widely used kernel in scientific computing. Since the performance of specific SpMV program is closely related to the distribution of non-zero elements in sparse matrices, there is no universal SpMV program design that can achieve high performance in all matrices. Therefore, auto-tuning has become a popular method for high SpMV performance. This paper analyzes the difficulties in optimizing SpMV and introduces two representative works of auto-tuning: SMAT, which is based on pre-implemented templates and AlphaSparse which designs SpMV programs from scratch. This paper introduces their designs, implementations, test results, advantages, and disadvantages. Finally, the trend of SpMV auto-tuning is analyzed and predicted.

Key words: high-performance scientific computing, sparse matrix, auto-tuning, sparse matrix-vector multiplication

中图分类号: