Litcius/Paper detail

Memory-aware Optimization for Sequences of Sparse Matrix-Vector Multiplications

Yichen Zhang, Shengguo Li, Y. X. Fan, Dezun Dong, Xiaojian Yang, Tiejun Li, Zheng Wang

202313 citationsDOI

Abstract

This paper presents a novel approach to optimize multiple invocations of a sparse matrix-vector multiplication (SpMV) kernel performed on the same sparse matrix A and dense vector x, like Ax, A <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">2</sup> x, ⋯, A <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">k</sup> x, and their linear combinations such as Ax + A <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">2</sup> x. Such computations are frequently used in scientific applications for solving linear equations and in multi-grid methods. Existing SpMV optimization techniques typically focus on a single SpMV invocation and do not consider opportunities for optimization across a sequence of SpMV operations (SSpMV), leaving much room for performance improvement. Our work aims to bridge this performance gap. It achieve this by partitioning the sparse matrix into submatrices and devising a new computation pipeline that reduces memory access to the sparse matrix and exploits the data locality of the dense vector of SpMV. Additionally, we demonstrate how our approach can be integrated with parallelization schemes to further improve performance. We evaluate our approach on four distinct multi-core systems, including three ARM and one Intel platform. Experimental results show that our techniques improve the standard implementation and the highly-optimized Intel math kernel library (MKL) by a large margin.

Topics & Concepts

Computer scienceKernel (algebra)Sparse matrixParallel computingPipeline (software)Matrix (chemical analysis)AlgorithmMathematicsDiscrete mathematicsComposite materialQuantum mechanicsMaterials sciencePhysicsGaussianProgramming languageParallel Computing and Optimization TechniquesAdvanced Data Storage TechnologiesDistributed and Parallel Computing Systems
Memory-aware Optimization for Sequences of Sparse Matrix-Vector Multiplications | Litcius