Quantifying the Effect of Matrix Structure on Multithreaded Performance of the SpMV Kernel
For researchers and engineers optimizing sparse linear algebra on modern architectures, this work provides a detailed analysis of structure-induced performance bottlenecks and suggests hardware-level solutions.
This work quantifies how matrix structure affects SpMV performance, showing that unstructured R-MAT matrices cause far worse performance than structured finite difference matrices due to cache and prefetcher behavior. It proposes novel architecture improvements to address these issues.
Sparse matrix-vector multiplication (SpMV) is the core operation in many common network and graph analytics, but poor performance of the SpMV kernel handicaps these applications. This work quantifies the effect of matrix structure on SpMV performance, using Intel's VTune tool for the Sandy Bridge architecture. Two types of sparse matrices are considered: finite difference (FD) matrices, which are structured, and R-MAT matrices, which are unstructured. Analysis of cache behavior and prefetcher activity reveals that the SpMV kernel performs far worse with R-MAT matrices than with FD matrices, due to the difference in matrix structure. To address the problems caused by unstructured matrices, novel architecture improvements are proposed.