Can ESXi pass video card to VM to do CUDA?
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?
Solution 1:
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;
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.
Solution 2:
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:
- NVIDIA blog entry - How VMware and NVIDIA Are Bringing GPU Sharing to the Masses
- NVIDIA TRUE VIRTUAL ACCELERATION WITH GPUs