UPDF AI

pSpMv: precision-based sparse matrix partition and SpMV optimization

Jie Liu,Yizhuo Wang,Jianhua Gao,Weixing Ji

2024 · DOI: 10.1007/s42514-024-00195-x
CCF Transactions on High Performance Computing · 1 Citations

TLDR

A new sparse matrix partition approach based on IEEE 754 standard floating-point format that reduces the memory access overhead, but also reduces the computing strength of floating-point numbers and presents a new SpMV algorithm pSpMV for GPU devices.

Abstract

The new generation of computing devices tends to support multiple floating-point formats and different computing precision. Besides single and double precision, half precision is embraced and widely supported by new computing devices. Low-precision representations have compact memory size and lightweight computing strength, and they also bring opportunities to the optimization of BLAS routines. This paper proposes a new sparse matrix partition approach based on IEEE 754 standard floating-point format. An input sparse matrix in double precision is partitioned and transformed into several sub-matrices in different precision without loss of accuracy. Most non-zero elements can be stored in half or single precision, if the most significant bits of exponent and the least significant bits of mantissa are zeros in double-precision representation. Based on this mixed-precision representation of sparse matrix, we also present a new SpMV algorithm pSpMV for GPU devices. pSpMV not only reduces the memory access overhead, but also reduces the computing strength of floating-point numbers. Experimental results on two GPU devices show that pSpMV achieves a geometric mean speedup of 1.39x on Tesla V100 and 1.45x on Tesla P100 over double-precision SpMV for 2,554 sparse matrices.