A GPU Framework for Sparse Matrix Vector Multiplication
Dept. of Information Technology, National Institute of Technology Karnataka, Surathkal Mangalore, India
National Institute of Technology Karnataka, 2014
@article{neelima2014gpu,
title={A GPU Framework for Sparse Matrix Vector Multiplication},
author={Neelima, B and Reddy, G Ram Mohana and Raghavendra, Prakash S},
year={2014}
}
The hardware and software evolutions related to Graphics Processing Units (GPUs), for general purpose computations, have changed the way the parallel programming issues are addressed. Many applications are being ported onto GPU for achieving performance gain. The GPU execution time is continuously optimized by the GPU programmers while optimizing pre-GPU computation overheads attracted the research community in the recent past. As GPU executes the programs given by a CPU, pre-GPU computation overheads, does exists and should be optimized for better usage of GPUs. Motivated by these issues, this paper presents a GPU framework for optimizing Sparse Matrix Vector Multiplication (SpMV) to be executed on a GPU. The GPU framework proposed in this paper optimizes the overall performance of the application by optimizing pre-GPU computation overheads along with GPU execution time. The SpMV computation on GPU is divided into the following steps: the first is to transform a given sparse matrix into a required sparse matrix format, the second is to send the transformed matrix onto the GPU memory and the third is SpMV computation on GPU. Sparse matrix format used has an impact on all these aforementioned steps. Any single sparse matrix format is not suitable to all kinds of sparse matrices. A wrongly chosen sparse matrix format for a given sparse matrix may increase format transformation time and/or communication time and/or GPU execution time. Hence, there is a need to select a right sparse matrix format that in turn reduces pre-GPU computation overheads and improves GPU execution time. This paper proposes a sparse matrix format prediction tool to predict an optimal sparse matrix format to be used for a given input matrix by analyzing the input sparse matrix and considering pre-GPU computation overheads. The sparse matrix format predicted by the proposed method is compared against the best performing sparse matrix formats posted in the literature. The proposed model is based on the static data that is available from the input directly and hence the prediction overhead is very small. Compared to GPU specific sparse format prediction, the proposed model is more inclusive and precious in terms of increasing overall application’s performance.
April 24, 2014 by hgpu