TY - JOUR
T1 - TaiChi
T2 - A Hybrid Compression Format for Binary Sparse Matrix-Vector Multiplication on GPU
AU - Gao, Jianhua
AU - Ji, Weixing
AU - Tan, Zhaonian
AU - Wang, Yizhuo
AU - Shi, Feng
N1 - Publisher Copyright:
© 1990-2012 IEEE.
PY - 2022/12/1
Y1 - 2022/12/1
N2 - Binary Sparse Matrix-Vector Multiplication (SpMV) is a heavy computational kernel in weblink analysis, integer factorization, compressed sensing, spectral graph theory, and other domains. Testing several popular GPU-based SpMV implementations on 400 sparse matrices, we observed that data transfer to GPU memory accounts for a large part of the total computation time. The transfer of constant value '1's can be easily eliminated for binary sparse matrices. However, compressing index arrays has always been a great challenge. This article proposes a new compression format TaiChi to further reduce index data copies and improve the performance of SpMV, especially for diagonally dominant binary sparse matrices. Input matrices are first partitioned into relatively dense and ultra-sparse areas. Then the dense areas are encoded inversely by marking '0's, while the ultra-sparse area is encoded by marking '1's. We also designed a new SpMV algorithm only using addition and subtraction for binary matrices based on our partition and encoding format. Evaluation results on real-world binary sparse matrices show that our hybrid encoding for binary matrix significantly reduces the data transfer and speeds up the kernel execution. It achieves the highest transfer and kernel execution speedups of 5.63x and 3.84x on GTX 1080 Ti, 3.39x and 3.91x on Tesla V100.
AB - Binary Sparse Matrix-Vector Multiplication (SpMV) is a heavy computational kernel in weblink analysis, integer factorization, compressed sensing, spectral graph theory, and other domains. Testing several popular GPU-based SpMV implementations on 400 sparse matrices, we observed that data transfer to GPU memory accounts for a large part of the total computation time. The transfer of constant value '1's can be easily eliminated for binary sparse matrices. However, compressing index arrays has always been a great challenge. This article proposes a new compression format TaiChi to further reduce index data copies and improve the performance of SpMV, especially for diagonally dominant binary sparse matrices. Input matrices are first partitioned into relatively dense and ultra-sparse areas. Then the dense areas are encoded inversely by marking '0's, while the ultra-sparse area is encoded by marking '1's. We also designed a new SpMV algorithm only using addition and subtraction for binary matrices based on our partition and encoding format. Evaluation results on real-world binary sparse matrices show that our hybrid encoding for binary matrix significantly reduces the data transfer and speeds up the kernel execution. It achieves the highest transfer and kernel execution speedups of 5.63x and 3.84x on GTX 1080 Ti, 3.39x and 3.91x on Tesla V100.
KW - Binary sparse matrix
KW - GPU
KW - SpMV
KW - mathematical morphology
KW - parallel computing
UR - http://www.scopus.com/inward/record.url?scp=85129381787&partnerID=8YFLogxK
U2 - 10.1109/TPDS.2022.3170501
DO - 10.1109/TPDS.2022.3170501
M3 - Article
AN - SCOPUS:85129381787
SN - 1045-9219
VL - 33
SP - 3732
EP - 3745
JO - IEEE Transactions on Parallel and Distributed Systems
JF - IEEE Transactions on Parallel and Distributed Systems
IS - 12
ER -