z-logo
Premium
A new diagonal storage for efficient implementation of sparse matrix–vector multiplication on graphics processing unit
Author(s) -
He Guixia,
Chen Qi,
Gao Jiaquan
Publication year - 2021
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.6230
Subject(s) - diagonal , kernel (algebra) , computer science , sparse matrix , multiplication (music) , parallel computing , matrix (chemical analysis) , graphics processing unit , cuda , algorithm , computational science , mathematics , combinatorics , gaussian , physics , geometry , materials science , quantum mechanics , composite material
Summary The sparse matrix–vector multiplication (SpMV) is of great importance in computational science. For multidiagonal sparse matrices that have many long zero sections or scatter points, a great number of zeros are filled to maintain the diagonal structure when using the popular DIA format to store them. This leads to the performance degradation of the DIA kernel. To alleviate the drawback of DIA, we present a novel diagonal storage format, called RBDCS (diagonal compressed storage based on row‐blocks), for multidiagonal sparse matrices, and thus propose an efficient SpMV kernel that corresponds to RBDCS. Given that the RBDCS kernel codes must be manually rewritten for different multidiagonal sparse matrices, a code generator is presented to automatically generate RBDCS kernel codes. Experimental results show that the proposed RBDCS kernel is effective, and outperforms HYBMV in the CUSPARSE library, and three popular diagonal SpMV kernels: DIA, HDI, and CRSD.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here