Sparse matrix-vector multiplication

Sparse matrix-vector multiplication (SpMV) of the form is a widely used computational kernel existing in many scientific applications.
The input matrix is sparse. The input vector and the output vector are dense.
In the case of a repeated operation involving the same input matrix but possibly changing numerical values of its elements, can be preprocessed to reduce both the parallel and sequential run time of the SpMV kernel.