Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We would like to enable direct access to CUDA-enabled GPUs within either KVM or Xen (or Citrix Xenserver). Specifically, we want to use PCI passthrough to access an NVIDIA Tesla S2050 unit, which is composed of 4 Tesla C2050 devices. I'm aware that Xenserver 5.6 supports SLI Multi-OS-enabled GPUs, but my understanding is that the C2050s are not SLI Multi-OS devices. I would prefer to avoid RPC-like solutions due to performance and maintenance issues that I've experienced.

Amazon EC2 offers Xen VMs with Tesla M2050 GPUs, which I believe are quite similar to our C2050s, so it seems like what I would like to do should be possible. Has anyone successfully passed a non-SLI Multi-OS GPU to Linux VM from either KVM or Xen and successfully run a CUDA application? If so, what virtualization solution did you use and what GPU was used?

share|improve this question
I know it's not direct answer, but I've tried using a 200 series Nvidia with ESXi 4.1 and got nowhere. Even with the passthrough set up to the correct PCI addresses, the guests were not able to access the devices with the access CUDA programs want. – Marcin May 13 '11 at 22:09

Does XenServer Boston solve this issue?


With the Boston release, a physical GPU can be assigned to a VM so the applications running in the guest can leverage GPU instructions (“GPU pass-thru”). This provides significant TCO benefits for the XenDesktop HDX 3D Pro technology used for delivery of CAD and other graphical applications via virtual desktops

share|improve this answer

It looks like you need nVidia VGX boards (Kepler) and Xen/Citrix.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.