Research on Accelerating the Performance of SpMV Based on AVX2 Instruction Set.

Haodong Bian,Gangsheng Li,Linbing Liu,Dongqiang Huang,Runting Dong,Jianqiang Huang
DOI: https://doi.org/10.1145/3409501.3409504
2020-01-01
Abstract:SpMV (Sparse Matrix-Vector Multiplication) has been widely used in various computing fields. Of course, the requirements for its performance also increase with the increase in the amount of data. Under the CPU processor, we can bring SpMV computing high-performance speed increase through multi-threaded programming. Besides, for CPU processors with SIMD (Single Instruction Multiple Data) vectorizations, you can still get additional performance improvements by using the SIMD instruction set. In this article, we used CSR (Compressed Sparse Row) to compress the sparse matrix and compared the performance of using the AVX2 (Advanced Vector Extension 2) instruction set and the serial calculation of SpMV in a single thread. By testing 16 sets of test data, we found that the average using the AVX2 instruction set can bring 6.67% performance improvement (up to 29.97%).
What problem does this paper attempt to address?