Entropy Maximization in Sparse Matrix by Vector Multiplication ($\max_E SpMV$)
Paolo D'Alberto, Abhishek Jain, Ismail Bustany, Henri Fraisse,, Mansimran Benipal

TL;DR
This paper introduces a matrix permutation pre-processing technique that maximizes entropy in sparse matrix non-zero element distribution, improving load balancing and performance in SpMV operations across various architectures.
Contribution
It proposes a novel entropy maximization permutation method for sparse matrices to enhance SpMV performance, applicable across different hardware architectures.
Findings
Achieved up to 15% performance improvement on AMD GPU-CPU systems.
Demonstrated effectiveness for matrices with no dense rows or columns.
Applicable to any architecture and easy for developers to implement.
Abstract
The peak performance of any SpMV depends primarily on the available memory bandwidth and its effective use. GPUs, ASICs, and new FPGAs have higher and higher bandwidth; however, for large scale and highly sparse matrices, SpMV is still a hard problem because of its random access pattern and workload imbalance. Here, we show how to turn randomness to our advantage. We propose a matrix permutation pre-processing step that aims to maximize the entropy of the distribution of the nonzero elements. We seek any permutation that uniformly distributes the non-zero elements' distribution, thereby generating a SpMV problem that is amenable to work load balancing or to speed up sort algorithms. We conjecture these permutations would be most effective for matrices with no dense rows or columns and, as in preconditioning, when the matrix is reused. We shall show that entropy maximization is an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsError Correcting Code Techniques · Parallel Computing and Optimization Techniques · Stochastic Gradient Optimization Techniques
