Optimizing Sparse Matrix-Vector Multiplications on an ARMv8-based Many-Core Architecture
Optimizing Sparse Matrix-Vector Multiplications on an ARMv8-based Many-Core Architecture
复制标题
在基于 ARMv8 的众核架构上优化稀疏矩阵向量乘法
DOI:
10.1007/s10766-018-00625-8
复制
发表时间:
2019
影响因子:
1.5
通讯作者:
Wang Zheng
中科院分区:
文献类型:
--
作者:
Chen Donglin;Fang Jianbin;Chen Shizhao;Xu Chuanfu;Wang Zheng
Sparse matrix–vector multiplications (SpMV) are common in scientific and HPC applications but are hard to be optimized. While the ARMv8-based processor IP is emerging as an alternative to the traditionalx64HPC processor design, there is little study on SpMV performance on such new many-cores. To design efficient HPC software and hardware, we need to understand how well SpMV performs. This work develops a quantitative approach to characterize SpMV performance on a recent ARMv8-based many-core architecture,Phytium FT-2000 Plus(FTP). We perform extensive experiments involved over 9500 distinct profiling runs on 956 sparse datasets and five mainstream sparse matrix storage formats, and compare FTP against the Intel Knights Landing many-core. We experimentally show that picking the optimal sparse matrix storage format and parameters is non-trivial as the correct decision requires expert knowledge of the input matrix and the hardware. We address the problem by proposing a machine learning based model that predicts the best storage format and parameters using input matrix features. The model automatically specializes to the many-core architectures we considered. The experimental results show that our approach achieves on average 93% of the best-available performance without incurring runtime profiling overhead.