Auto-tuning for Sparse Matrix-vector Multiplication
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.