GPU-S2S: A Compiler for Source-to-Source Translation on GPU - Dan Li; Haijun Cao; Xiaoshe Dong; Bao Zhang (2010 3rd International Symposium on Parallel Architectures, Algorithms and Programming, 2010)
CUDA facilitates the development of General Purpose computing on Graphics Processing Units (GPGPU), however, its complex memory system, thread-level structure, and data transmission control between memories have brought great challenges for programming on GPU. In order to facilitate the development of parallel programs on GPU and reuse existing sequential codes, in this paper we propose a novel directive based compiler guided approach. Through combining automatic mapping and static compilation, we have implemented a prototype of automatic source-to-source translation tool named GPU-S2S, capable of translating the C sequential code with directives into CUDA code. Experimental results show that CUDA code generated by GPU-S2S can achieve comparable performance with that of CUDA benchmark provided by NVIDIA CUDA SDK, and has significant performance improvements compared with its original C sequential code.