vCUDA Framework Development for GPU Virtualization

Aashish Chauhan, Aditya T S, Bakul Mittal, Padmaraj R, Sridutt Nayak
International Institute of Information Technology, Bangalore
International Institute of Information Technology, Bangalore, Technical Report IIITB-OS-2012-9E, 2012


   title={vCUDA Framework Development for GPU Virtualization},

   author={Mittal, B. and Nayak, S.},



Download Download (PDF)   View View   Source Source   Source codes Source codes




vCUDA is a middleware that allows an application to use a CUDA-compatible graphics processing unit (GPU) installed in a remote computer as if it were installed in the computer where the application is being executed. vCUDA is designed following the client-server distributed architecture. On one side, the client employs a library of wrappers to the high-level CUDA Runtime Application Programming Interface (API). On the other side, there is a GPU network service listening for requests on a TCP port. vCUDA allows an instanced virtual machine to access GPUs in a transparent way, with an overhead slightly greater than a real machine/native GPU setup. In our vCUDA implementation, we have used XML-RPC as a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism. We have successfully virtualized a basic set of functions and enabled an application like the CUDA vector addition to run over the server. The feasibility was tested by carrying out the CUDA vector addition son varying data sizes and comparing the performance on the native GPU, a virtual machine, and a remote machine on the network.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: