An Improved Sparse Matrix-Vector Multiply Based on Recursive Sparse Blocks Layout [chapter]

Michele Martone, Marcin Paprzycki, Salvatore Filippone
2012 Lecture Notes in Computer Science  
The Recursive Sparse Blocks (RSB ) is a sparse matrix layout designed for coarse grained parallelism and reduced cache misses when operating with matrices, which are larger than a computer's cache. By laying out the matrix in sparse, non overlapping blocks, we allow for the shared memory parallel execution of transposed SParse Matrix-Vector multiply (SpMV ), with higher efficiency than the traditional Compressed Sparse Rows (CSR) format. In this note we cover two issues. First, we propose two
more » ... provements to our original approach. Second, we look at the performance of standard and transposed shared memory parallel SpMV for unsymmetric matrices, using the proposed approach. We find that our implementation's performance is competitive with that of both the highly optimized, proprietary Intel MKL Sparse BLAS library's CSR routines, and the Compressed Sparse Blocks (CSB) research prototype.
doi:10.1007/978-3-642-29843-1_69 fatcat:ie7qvvhvqzfihfova57qejzxdq