DocumentCode :
29414
Title :
A Performance Modeling and Optimization Analysis Tool for Sparse Matrix-Vector Multiplication on GPUs
Author :
Ping Guo ; Liqiang Wang ; Po Chen
Author_Institution :
Dept. of Comput. Sci., Univ. of Wyoming, Laramie, WY, USA
Volume :
25
Issue :
5
fYear :
2014
fDate :
May-14
Firstpage :
1112
Lastpage :
1123
Abstract :
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.
Keywords :
graphics processing units; parallel architectures; performance evaluation; sparse matrices; COO; CSR; CUDA-based SpMV kernels; ELL; GPU architectures; GPU programming languages; HYB SpMV kernels; NVIDIA Tesla C2050; kernel execution times; optimization analysis tool; performance modeling; sparse matrix-vector multiplication; Analytical models; Benchmark testing; Computational modeling; Graphics processing units; Kernel; Sparse matrices; Strips; CUDA; GPU; Performance modeling; sparse matrix-vector multiplication;
fLanguage :
English
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
1045-9219
Type :
jour
DOI :
10.1109/TPDS.2013.123
Filename :
6506074
Link To Document :
بازگشت