Implementing a performance forecasting system for metacomputing: the Network Weather Service
SC '97 Proceedings of the 1997 ACM/IEEE conference on Supercomputing
The Open Grid Services Architecture: Where the Grid Meets the Web
IEEE Internet Computing
Grids and grid technologies for wide-area distributed computing
Software—Practice & Experience
Fast Lossless Compression of Scientific Floating-Point Data
DCC '06 Proceedings of the Data Compression Conference
A grid-enabled software distributed shared memory system on a wide area network
Future Generation Computer Systems
EXOCHI: architecture and programming environment for a heterogeneous multi-core multithreaded system
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Using Frequent Workload Patterns in Resource Selection for Grid Jobs
APSCC '08 Proceedings of the 2008 IEEE Asia-Pacific Services Computing Conference
FlexRPC: A flexible Remote Procedure Call facility for modern cluster file systems
CLUSTER '07 Proceedings of the 2007 IEEE International Conference on Cluster Computing
Power Consumption of GPUs from a Software Perspective
ICCS '09 Proceedings of the 9th International Conference on Computational Science: Part I
vCUDA: GPU accelerated high performance computing in virtual machines
IPDPS '09 Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing
hiCUDA: High-Level GPGPU Programming
IEEE Transactions on Parallel and Distributed Systems
A grid resource broker supporting advance reservations and benchmark-based resource selection
PARA'04 Proceedings of the 7th international conference on Applied Parallel Computing: state of the Art in Scientific Computing
A compound OpenMP/MPI program development toolkit for hybrid CPU/GPU clusters
The Journal of Supercomputing
Hi-index | 0.00 |
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.