Automatic CUDA Code Synthesis Framework for Multicore CPU and GPU architectures
School of EECS, Seoul National University, Seoul, Korea
Parallel Processing and Applied Mathematics, 2011
@article{jung2011automatic,
title={Automatic CUDA Code Synthesis Framework for Multicore CPU and GPU architectures},
author={Jung, H. and Yi, Y. and Ha, S.},
year={2011}
}
Recently, general purpose GPU (GPGPU) programming has spread rapidly after CUDA was first introduced to write parallel programs in high-level languages for NVIDIA GPUs. While a GPU exploits data parallelism very effectively, task-level parallelism is exploited as a multi-threaded program on a multicore CPU. For such a heterogeneous platform that consists of a multicore CPU and GPU, in this paper, we propose an automatic code synthesis framework that takes a process network model specification as input and generates a multithreaded CUDA code. With the model based specification, one can explicitly specify both function-level and loop-level parallelism in an application and explore wide design space in mapping of function blocks and selecting the communication methods between CPU and GPU. The proposed technique is complementary to other high-level methods of CUDA programming. We have confirmed viability of our approach with several examples.
October 30, 2011 by hgpu