Vmware has supported the use of physical GPUs in virtual machines for a long time. If memory serves well from version 5.3 by allowing a GPU to either be dedicated to a single VM with Virtual Dedicated Graphics Acceleration (vDGA) or shared amongst many VMs with Virtual Shared Graphics Acceleration (vSGA). Today as Machine Learning and A.I. are storming the IT industry, GPU technology has become the way to run queries on massive datasets.
In this article, we will have a look at two options we can adopt with vSphere 7:
- OPTION 1 – vGPU/MIG using NVAIE (requires Nvidia license)
- OPTION 2: passthrough on ESXi config (no driver installation required) – use for VMware Bitfusion (requires Bitfusion license on top of Nvidia license)

Requirements
- Minimum vSphere 7.0 update 2.
- Enable SR-IOV Global State via iDRAC (bios settings).
- ESXi config -> host graphics for shared direct:

What is vGPU?
In vGPU mode, the memory on the GPU is statically partitioned, but the compute capability is time-shared among the VMs that share the GPU. In this mode, when a VM is running on the GPU, it “owns” all the compute capability of the GPU but only has access to its share of GPU memory.
What is MIG?
In MIG mode, the memory and computational capability are statically partitioned. When a VM uses a GPU in MIG mode, it can only access the memory assigned to it and only use the computational cores assigned to it. So, even if the remaining computational cores (that is, the cores not assigned to this VM) in the GPU are idle, the VM cannot use those idle cores.
What is Bitfusion?
vSphere Bitfusion has a client-server architecture. The product allows multiple client virtual machines (VMs) running artificial intelligence (AI) and machine learning (ML) applications to share access to remote GPUs on virtual machines running vSphere Bitfusion server software. You run the applications on the vSphere Bitfusion client machines, while the GPUs that provide acceleration are installed on the vSphere Bitfusion server machines across a network. The applications can open files, allocate memory, and call CUDA as if operating on a machine with local GPUs.
Please like and share to spread the knowledge in the community.
Subscribe to my channel: https://bit.ly/3vY16CT
If you want to chat with me please use Twitter: @AngrySysOps
Join my VMware Knowledge Base Group: https://bit.ly/3w54tbc
Visit my FB page: https://www.facebook.com/AngrySysOps
Read my blog: https://angrysysops.com
Subscribe to my channel: https://bit.ly/3vY16CT