SpMV
SpMV, or sparse matrix–vector multiplication, is the operation of computing y = A x where A is a sparse (mostly zero) matrix and x and y are dense vectors. It is a fundamental kernel in scientific and engineering computations, used in iterative solvers, eigenvalue calculations, and graph algorithms, where large sparse matrices arise from discretizations of physical problems or from network representations.
Several storage formats are used to store sparse matrices efficiently. The compressed sparse row (CSR) format
Performance of SpMV is typically bounded by memory bandwidth rather than arithmetic throughput, since the number
Parallelism is achieved by assigning work across rows or nonzeros. CSR supports row-wise parallelism on CPUs,
SpMV is a building block for iterative solvers such as Conjugate Gradient, GMRES, and Jacobi methods, often