J Supercomput
DOI 10.1007/s11227-015-1571-0
Adaptive sparse matrix representation for efficient
matrix–vector multiplication
Pantea Zardoshti
1,2
· Farshad Khunjush
2
·
Hamid Sarbazi-Azad
1,3
© Springer Science+Business Media New York 2015
Abstract A wide range of applications in engineering and scientific computing are
based on the sparse matrix computation. There exist a variety of data representations
to keep the non-zero elements in sparse matrices, and each representation favors some
matrices while not working well for some others. The existing studies tend to process
all types of applications, e.g., the most popular application which is matrix–vector mul-
tiplication, with different sparse matrix structures using a fixed representation. While
Graphics Processing Units (GPUs) have evolved into a very attractive platform for
general purpose computations, most of the existing works on sparse matrix–vector mul-
tiplication (SpMV, for short) consider CPUs. In this work, we design and implement
an adaptive GPU-based SpMV scheme that selects the best format for the input matrix
having the configuration and characteristics of GPUs in mind. We study the effect of
various parameters and different settings on the performance of SpMV applications
when employing different data representations. We then employ an adaptive scheme
to execute different sparse matrix applications using proper sparse matrix represen-
Electronic supplementary material The online version of this article (doi:10.1007/s11227-015-1571-0)
contains supplementary material, which is available to authorized users.
B Pantea Zardoshti
zardoshti@ipm.ir
Farshad Khunjush
khunjush@shirazu.ac.ir
Hamid Sarbazi-Azad
azad@sharif.edu; azad@ipm.ir
1
School of Computer Science, Institute for Research in Fundamental Sciences (IPM), Tehran, Iran
2
Department of Computer Science and Engineering, School of Electrical and Computer
Engineering, Shiraz University, Shiraz, Iran
3
Department of Computer Engineering, Sharif University of Technology, Tehran, Iran
123