AlphaSparse: Generating High Performance SpMV Codes Directly from Sparse Matrices

被引:17
作者
Du, Zhen [1 ,3 ]
Li, Jiajia [2 ]
Wang, Yinshan [1 ]
Li, Xueqi [1 ]
Tan, Guangming [1 ]
Sun, Ninghui [1 ]
机构
[1] Chinese Acad Sci, Inst Comp Technol, Beijing, Peoples R China
[2] North Carolina State Univ, Raleigh, NC USA
[3] Univ Chinese Acad Sci, Beijing, Peoples R China
来源
SC22: INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS | 2022年
基金
中国国家自然科学基金;
关键词
auto-tuner; sparse matrix-vector multiplication; SpMV; GPU; code generator; sparse data structures; VECTOR MULTIPLICATION; GPU; FORMAT; OPTIMIZATION; ALGORITHMS; FRAMEWORK; COMPILER; MODEL; CSR;
D O I
10.1109/SC41404.2022.00071
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 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 performance machine-designed format and SpMV implementation. By extensively evaluating 843 matrices from SuiteSparse Matrix Collection, AlphaSparse achieves significant performance improvement by 3.2x on average compared to five state-of-the-art artificial formats and 1.5x on average (up to 2.7x) over the up-to-date implementation of traditional auto-tuning philosophy.
引用
收藏
页数:15
相关论文
共 96 条
[1]   Optuna: A Next-generation Hyperparameter Optimization Framework [J].
Akiba, Takuya ;
Sano, Shotaro ;
Yanase, Toshihiko ;
Ohta, Takeru ;
Koyama, Masanori .
KDD'19: PROCEEDINGS OF THE 25TH ACM SIGKDD INTERNATIONAL CONFERENCCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 2019, :2623-2631
[2]  
[Anonymous], 2013, INT C SUPERCOMPUT I, DOI DOI 10.1145/2464996.2465013
[3]   OpenTuner: An Extensible Framework for Program Autotuning [J].
Ansel, Jason ;
Kamil, Shoaib ;
Veeramachaneni, Kalyan ;
Ragan-Kelley, Jonathan ;
Bosboom, Jeffrey ;
O'Reilly, Una-May ;
Amarasinghe, Saman .
PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES (PACT'14), 2014, :303-315
[4]  
Anzt H., 2014, Tech. Rep. ut-eecs-14-727
[5]   Specifying and Verifying Sparse Matrix Codes [J].
Arnold, Gilad ;
Hoelzl, Johannes ;
Koeksal, Ali Sinan ;
Bodik, Rastislav ;
Sagiv, Mooly .
ACM SIGPLAN NOTICES, 2010, 45 (09) :249-260
[6]   An Efficient Two-Dimensional Blocking Strategy for Sparse Matrix-Vector Multiplication on GPUs [J].
Ashari, Arash ;
Sedaghati, Naser ;
Eisenlohr, John ;
Sadayappan, P. .
PROCEEDINGS OF THE 28TH ACM INTERNATIONAL CONFERENCE ON SUPERCOMPUTING, (ICS'14), 2014, :273-282
[7]   Fast Sparse Matrix-Vector Multiplication on GPUs for Graph Applications [J].
Ashari, Arash ;
Sedaghati, Naser ;
Eisenlohr, John ;
Parthasarathy, Srinivasan ;
Sadayappan, P. .
SC14: INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2014, :781-792
[8]   Generating Piecewise-Regular Code from Irregular Structures [J].
Augustine, Travis ;
Sarma, Janarthanan ;
Pouchet, Louis-Noel ;
Rodriguez, Gabriel .
PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, :625-639
[9]   Can search algorithms save large-scale automatic performance tuning? [J].
Balaprakash, Prasanna ;
Wild, Stefan M. ;
Hovland, Paul D. .
PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE (ICCS), 2011, 4 :2136-2145
[10]  
Baskaran MM, 2008, ICS'08: PROCEEDINGS OF THE 2008 ACM INTERNATIONAL CONFERENCE ON SUPERCOMPUTING, P225