Abstract
Sparse matrix-vector multiplication or SpMxV is an important kernel in scientific computing. For example, in the conjugate gradient method, where SpMxV is the main computational step. Though the total number of arithmetic operations in SpMxV is fixed, reducing the probability of cache misses per operation is still a challenging area of research. In this work, we present a new column ordering algorithm for sparse matrices. We analyze the cache complexity of SpMxV when A is ordered by our technique. The numerical experiments, with very large test matrices, clearly demonstrate the performance gains rendered by our proposed technique.
- T. Davis, Uni. of Florida sparse matrix collection. http://www.cise.ufl.edu/research/sparse/Google Scholar
- M. Frigo, C. E. Leiserson, Prokop, Harald, Ramachandran, and Sridhar, Cache-Oblivious algorithms. FOCS '99: Proc. of the 40th Annual Symp. on Foundations of Comp. Sc., 1999. Google ScholarDigital Library
- A. Pinar and M. Heath, Improving performance of sparse matrix-vector multiplication. In Supercomputing '99: Proc. of the 1999 ACM/IEEE, New York, USA, 1999. Google ScholarDigital Library
- S. Toledo, Improving the memory-system performance of sparse-matrix vector multiplication, In IBM J. Res. Dev., vol. 41, num. 6, 1997. Google ScholarDigital Library
Index Terms
Cache friendly sparse matrix-vector multiplication
Recommendations
Cache friendly sparse matrix-vector multiplication
PASCO '10: Proceedings of the 4th International Workshop on Parallel and Symbolic ComputationSparse matrix-vector multiplication or SpMXV is an important kernel in scientific computing. For example, the conjugate gradient method (CG) is an iterative linear system solving process where multiplication of the coefficient matrix A with a dense ...
Cache-Oblivious Sparse Matrix-Vector Multiplication by Using Sparse Matrix Partitioning Methods
In this article, we introduce a cache-oblivious method for sparse matrix-vector multiplication. Our method attempts to permute the rows and columns of the input matrix using a recursive hypergraph-based sparse matrix partitioning scheme so that the ...
Processor-efficient sparse matrix-vector multiplication
The matrix-vector multiplication operation is the kernel of most numerical algorithms.Typically, matrix-vector multiplication algorithms exploit the sparsity of a matrix, either to reduce the time taken or the memory used. In the case of parallel ...
Comments