A CUDA programming toolkit on grids. (1st January 2012) - Liang, Tyng-Yeu; Chang, Yu-Wei; Li, Hung-Fu
In this paper, we propose a grid-enabled programming toolkit called GridCuda. Using this programming toolkit, users are allowed to develop their grid applications with the Compute Unified Device Architecture (CUDA) runtime API, and exploit GPGPU resources available in computational grids to execute their CUDA programs. Whenever the CUDA functions in user programs are invoked, these functions will be transparently redirected to remote allocated GPGPUs for execution by means of remote procedure calls. In addition, this programming toolkit supports multithreaded programming. In other words, users can create working threads as many as they need in a CUDA program, and the work of these threads can be dispatched onto multiple remote GPGPUs for parallel execution. We have integrated this programming toolkit with a computational grid called Teamster-G. Our experimental results show that the users can obtain a significant speedup for their CUDA applications when they simultaneously exploit multiple remote GPUs for the program execution.