Abstract
Sparse matrix is any matrix with enough zeros that it pays to take advantage of them. The computational efficiency of sparse matrix–vector multiplication (SpMV) is significantly influenced by the distribution of non-zero elements in sparse matrix, which is not fully exploited by traditional one-dimensional and two-dimensional partitioning approaches. In this paper, we present a novel two-dimensional partitioning method based on mathematical morphology theory. The matrix is partitioned into dense and sparse areas utilizing some basic morphological transformations, including dilatation, filling, opening, and skeletonization. These dense areas are classified as rectangle, triangle, and diagonal according to their morphological features. We also propose a new MMSparse (Mathematical Morphological Sparse) format that stores each type of shapes in the most efficient format instead of one format for an entire matrix. We select different types of matrices from the SuiteSparse Matrix Collection and conduct a series of experiments on NVIDIA GTX 1080Ti GPU. The experimental results show that our approach achieves average speedup 2.47x over the best performance of the cuSPARSE library kernel, 2.54x over BCSR, 1.48x over yaSpMV, 1.85x over CSR5, 1.35x over the one-dimensional partition.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.