Improving the user experience of the rCUDA remote GPU virtualization framework

Carlos Reaño, Federico Silla, Adrian Castello, Antonio Peña, Rafael Mayo, Enrique Quintana Orti, J. Duato

Research output: Contribution to journalArticlepeer-review

12 Citations (Scopus)
277 Downloads (Pure)


Graphics processing units (GPUs) are being increasingly embraced by the high‐performance computing community as an effective way to reduce execution time by accelerating parts of their applications. remote CUDA (rCUDA) was recently introduced as a software solution to address the high acquisition costs and energy consumption of GPUs that constrain further adoption of this technology. Specifically, rCUDA is a middleware that allows a reduced number of GPUs to be transparently shared among the nodes in a cluster. Although the initial prototype versions of rCUDA demonstrated its functionality, they also revealed concerns with respect to usability, performance, and support for new CUDA features. In response, in this paper, we present a new rCUDA version that (1) improves usability by including a new component that allows an automatic transformation of any CUDA source code so that it conforms to the needs of the rCUDA framework, (2) consistently features low overhead when using remote GPUs thanks to an improved new communication architecture, and (3) supports multithreaded applications and CUDA libraries. As a result, for any CUDA‐compatible program, rCUDA now allows the use of remote GPUs within a cluster with low overhead, so that a single application running in one node can use all GPUs available across the cluster, thereby extending the single‐node capability of CUDA. Copyright © 2014 John Wiley & Sons, Ltd.
Original languageEnglish
Pages (from-to)3746-3770
JournalConcurrency and Computation: Practice and Experience
Issue number14
Publication statusPublished - 10 Oct 2015


Dive into the research topics of 'Improving the user experience of the rCUDA remote GPU virtualization framework'. Together they form a unique fingerprint.

Cite this