A new AXT format for an efficient SpMV product using AVX-512 instructions and CUDA. (June 2021) - Coronado-Barrientos, E.; Antonioletti, M.; Garcia-Loureiro, A.
Highlights: New AXT format improves SpMV performance on vector capable devices. Four AXT variants implementations using Intel AVX-512 instructions. Four different AXT parallel implementations using CUDA. AXT outperforms competitors by up to a factor of 7 on Intel platforms. AXT outperforms competitors by up to a factor of 378 on NVIDIA platforms Abstract: The Sparse Matrix-Vector (SpMV) product is a key operation used in many scientific applications. This work proposes a new sparse matrix storage scheme, the AXT format, that improves the SpMV performance on vector capability platforms. AXT can be adapted to different platforms, improving the storage efficiency for matrices with different sparsity patterns. Intel AVX-512 instructions and CUDA are used to optimise the performances of the four different AXT subvariants. Performance comparisons are made with the Compressed Sparse Row (CSR) and AXC formats on an Intel Xeon Gold 6148 processor and an NVIDIA Tesla V100 Graphics Processing Units using 26 matrices. On the Intel platform the overall AXT performance is 18% and 44.3% higher than the AXC and CSR respectively, reaching speed-up factors of up to x7.33. On the NVIDIA platform the AXT performance is 44% and 8% higher than the AXC and CSR performances respectively, reaching speed-up factors of up to x378.5.