使用Risc-V向量指令优化SpGEMM
摘要:稀疏一般矩阵-矩阵乘法(SpGEMM)$C=A \times B$ 是机器学习或图形分析等领域广泛使用的基本操作。尽管其重要性,但在向量架构上高效执行SpGEMM仍然是一个相对未探索的话题。最新的在这些架构上运行SpGEMM的算法是基于稀疏累加器(SPA)方法,对于每列包含多个非零系数的稀疏矩阵计算C列非常高效。然而,当处理每列只包含少量非零系数的矩阵时,现有的算法无法充分利用长向量架构来计算SpGEMM核心。为了解决这个问题,我们提出了SPA paRallel with Sorting (SPARS)算法,该算法在其他优化措施上并行计算多列C,并使用动态大小的哈希表存储中间输出值的HASH算法。为了结合SPA对相对密集矩阵块的效率和SPARS和HASH对非常稀疏矩阵块的高性能,我们提出了H-SPA(t)和H-HASH(t),动态切换不同算法。在从SuiteSparse Matrix Collection中获取的40个稀疏矩阵集合上,H-SPA(t)和H-HASH(t)分别相对于SPA获得了1.24倍和1.57倍的平均加速比。对于最稀疏的22个矩阵,H-SPA(t)和H-HASH(t)分别相对于SPA获得了1.42倍和1.99倍的平均加速比。
作者:Valentin Le F`evre, Marc Casas
论文ID:2303.02471
分类:Distributed, Parallel, and Cluster Computing
分类简称:cs.DC
提交时间:2023-06-05