Server Fault is a question and answer site for system and network administrators. 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

I have an ESXi 4.1 running on hardware that can run 4 16-lane PCI-e cards. I would like to have access to the underlying hardware from a Linux VM, to run some CUDA programs.

So far all I can see from inside of Linux VM is the generic VMware video card. I installed VMware tools, and lspci still gives me the same VGA compatible controller: VMware SVGA II Adapter.

Is it at all possible to access CUDA devices from a VM guest?

share|improve this question
What does the manual say? – SpacemanSpiff Feb 28 '11 at 12:55
up vote 2 down vote accepted

If your system is fully AMD-Vi or VT-d compliant then you should be able to go into the host's advance settings and 'pass through' the device/s to a given VM. This isn't certain to work or be stable but does work for quite a lot of kit, though it stops things like vMotion/FT/HA working properly if that matters to you. I'd say give it a go but if it doesn't work, well it doesn't work ok.

edit - here's grab of where to look;

enter image description here

So it's host/Configuration, Advanced Settings then choose 'Configure Passthrough' - you're on your own from there though as I haven't done this with a GPU.

share|improve this answer
BIOS is updated, all the VT-x/VT-d are enabled. How do you pass-through a video card in ESXi? I thought that's what vmware-tools do. – Marcin Feb 25 '11 at 22:21
Like I said it's under the advanced settings for the host when using the VSClient. I'll try to post some images on Monday. – Chopper3 Feb 26 '11 at 11:35
I configured the video cards to do passthrough, however I still do not see them inside of the VM, or cannot add them to the VM in VM guest settings as a video card or as a PCI device (they're grayed out). Are there any other tricks I should be aware of? – Marcin Feb 28 '11 at 14:51
No, sorry, there's very limited support for this function to be honest, pretty much just NICs really, sorry dude, at least your tried. – Chopper3 Feb 28 '11 at 16:34

We are running several ESXi servers at university. I was not able to pass through a GPU to a VM (Windows, Linux) to run a CUDA program. If you want to share / use a GPU in one or many VMs, please have a look at NVIDIA Grid. For more information please review:

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.