论文标题
Alphaparse:直接从稀疏矩阵生成高性能SPMV代码
AlphaSparse: Generating High Performance SpMV Codes Directly from Sparse Matrices
论文作者
论文摘要
在许多应用程序方案中,稀疏矩阵矢量乘法(SPMV)是必不可少的计算内核。已经提出了数十个稀疏矩阵格式和实现,以压缩存储器存储并加快SPMV性能。我们开发了Alphaparse,这是所有现有作品的超集,超出了人类设计的格式和实施的范围。 Alphasparse自动\ emph {创建新颖的机器设计格式和SPMV内核实现},完全是根据输入稀疏模式和硬件体系结构的知识。基于我们提出的运算符图表,该图表表达了SPMV格式和内核设计的路径,Alphapparse由三个主要组件组成:设计器,格式,格式\&内核生成器和搜索引擎。它将任意的稀疏矩阵作为输入,同时输出性能机器设计的格式和SPMV实现。通过广泛评估来自Suitesparse Matrix Collection的843个矩阵,Alphaparse平均可以提高3.2 $ \ timple $ $,而五个最先进的人工格式和1.5 $ \ times $ 1.5 $ \ times $平均$(最多2.7 $ \ tims $ $)比传统的自动自动计算哲学的最新实施。
Sparse Matrix-Vector multiplication (SpMV) is an essential computational kernel in many application scenarios. Tens of sparse matrix formats and implementations have been proposed to compress the memory storage and speed up SpMV performance. We develop AlphaSparse, a superset of all existing works that goes beyond the scope of human-designed format(s) and implementation(s). AlphaSparse automatically \emph{creates novel machine-designed formats and SpMV kernel implementations} entirely from the knowledge of input sparsity patterns and hardware architectures. Based on our proposed Operator Graph that expresses the path of SpMV format and kernel design, AlphaSparse consists of three main components: Designer, Format \& Kernel Generator, and Search Engine. It takes an arbitrary sparse matrix as input while outputs the performant machine-designed format and SpMV implementation. By extensively evaluating 843 matrices from SuiteSparse Matrix Collection, AlphaSparse achieves significant performance improvement by 3.2$\times$ on average compared to five state-of-the-art artificial formats and 1.5$\times$ on average (up to 2.7$\times$) over the up-to-date implementation of traditional auto-tuning philosophy.