An Automated Approach for SIMD Kernel Generation for GPU based Software Acceleration
Department of ECE, Texas A&M University, College Station TX 77843
Symposium on Application Accelerators in High Performance Computing, 2009 (SAAHPC’09)
@article{gulati2009automated,
title={An Automated Approach for SIMD Kernel Generation for GPU based Software Acceleration},
author={Gulati, K. and Khatri, S.P.},
booktitle={Application Accelerators in High Performance Computing, 2009 Symposium, Papers},
year={2009}
}
Graphics Processing Units (GPUs) are highly parallel Single Instruction Multiple Data (SIMD) engines, with extremely high degrees of available hardware parallelism. The task of implementing a software routine on a GPU currently requires significant manual design, iteration and experimentation. This paper presents an automated approach to partition a software application into kernels (which are executed in parallel) that can be run on the GPU. Experimental results demonstrate that our approach correctly and efficiently produces fast GPU code, with high quality. We show that with our partitioning approach, we can speedup certain routines by as high as 71% (on avg. 25%) when compared to a monolithic (unpartitioned) implementation. Our entire technique (from reading a C subroutine to generating the partitioned GPU code) is completely automated, and has been verified for correctness.
February 21, 2011 by hgpu