This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Performance Modeling and Optimization Analysis Tool for Sparse Matrix-Vector Multiplication on GPUs
May 2014 (vol. 25 no. 5)
pp. 1112-1123
Ping Guo, Dept. of Comput. Sci., Univ. of Wyoming, Laramie, WY, USA
Liqiang Wang, Dept. of Comput. Sci., Univ. of Wyoming, Laramie, WY, USA
Po Chen, Dept. of Geol. & Geophys., Univ. of Wyoming, Laramie, WY, USA
This paper presents a performance modeling and optimization analysis tool to predict and optimize the performance of sparse matrix-vector multiplication (SpMV) on GPUs. We make the following contributions: 1) We present an integrated analytical and profile-based performance modeling to accurately predict the kernel execution times of CSR, ELL, COO, and HYB SpMV kernels. Our proposed approach is general, and neither limited by GPU programming languages nor restricted to specific GPU architectures. In this paper, we use CUDA-based SpMV kernels and NVIDIA Tesla C2050 for our performance modeling and experiments. According to our experiments, for 77 out of 82 test cases, the performance differences between the predicted and measured execution times are less than 9 percent; for the rest five test cases, the differences are between 9 and 10 percent. For CSR, ELL, COO, and HYB SpMV CUDA kernels, the average differences are 6.3, 4.4, 2.2, and 4.7 percent, respectively. 2) Based on the performance modeling, we design a dynamic-programming based SpMV optimal solution auto-selection algorithm to automatically report an optimal solution (i.e., optimal storage strategy, storage format(s), and execution time) for a target sparse matrix. In our experiments, the average performance improvements of the optimal solutions are 41.1, 49.8, and 37.9 percent, compared to NVIDIA's CSR, COO, and HYB CUDA kernels, respectively.
Index Terms:
Benchmark testing,Kernel,Strips,Graphics processing units,Computational modeling,Sparse matrices,Analytical models,CUDA,Performance modeling,sparse matrix-vector multiplication,GPU
Citation:
Ping Guo, Liqiang Wang, Po Chen, "A Performance Modeling and Optimization Analysis Tool for Sparse Matrix-Vector Multiplication on GPUs," IEEE Transactions on Parallel and Distributed Systems, vol. 25, no. 5, pp. 1112-1123, May 2014, doi:10.1109/TPDS.2013.123
Usage of this product signifies your acceptance of the Terms of Use.