Starting with vSphere 7.0, virtual machines can specify PCI passthrough devices by their vendor and model names. vSphere Distributed Resource Scheduler (DRS) uses these names to identify the hosts containing all specified devices available for passthrough. vSphere DRS can also recognize whether a PCI device is used by another virtual machine, and assign only the available devices to the virtual machine when it powers on.
You can connect to the guest operating system of a virtual machine all PCI devices that are configured on an ESXi host and made available for passthrough.
- PCI vSphere DirectPath I/O devices
vSphere DirectPath I/O allows a virtual machine to specify and access directly the physical PCI and PCIe devices connected to a specific host. This way you can directly access devices, such as high-performance graphics or sound cards. You can connect each virtual machine to up to six PCI devices.
You configure PCI devices on an ESXi host to make them available for passthrough to a virtual machine. See the vSphere Networking documentation. However, you must not enable PCI passthrough for ESXi hosts that are configured to boot from USB devices.
When PCI vSphere DirectPath I/O devices are made available to a virtual machine, you cannot perform certain operations on the virtual machine. These operations include suspending, migration with vMotion, and taking or restoring snapshots of the virtual machine.
- PCI vSphere Dynamic DirectPath I/O devices
vSphere Dynamic DirectPath I/O provides you with the ability to assign multiple PCI passthrough devices to a virtual machine. vSphere Dynamic DirectPath I/O allows vSphere DRS to identify a host within the cluster that has an available device with the same vendor and model name.Note: When you add a PCI device to a virtual machine, the full memory size of the virtual machine is automatically reserved.
- NVIDIA GRID GPU devices
If an ESXi host has an NVIDIA GRID GPU graphics device, you can configure a virtual machine to use the NVIDIA GRID virtual GPU (vGPU) technology.
NVIDIA GRID vGPU devices optimize complex graphics operations and make them run at high performance without overloading the CPU. NVIDIA GRID vGPU provides unparalleled graphics performance and scalability by sharing a single physical GPU among multiple virtual machines as separate vGPU-enabled passthrough devices.
- If you plan to add a PCI device when you edit a virtual machine, verify that you have the privilege.
- If you plan to increase the memory reservation when you edit a virtual machine, verify that you have the privilege.
- If you plan to reduce the virtual machine memory when you edit a virtual machine, verify that you have the privilege.
- Power off the virtual machine.
- To use Dynamic DirectPath I/O, verify that the virtual machine is compatible with ESXi 7.0 or later.
- To use DirectPath, verify that Intel Virtualization Technology for Directed I/O (VT-d) or AMD I/O Virtualization Technology (IOMMU) is enabled in the host BIOS.
- Verify that the PCI devices are connected to the host and marked as available for passthrough. If your ESXi host is configured to boot from a USB device, or if the active coredump partition is configured to be on a USB device or SD cards connected through USB channels, disable the USB controller for passthrough. VMware does not support USB controller passthrough for ESXi hosts that boot from USB devices or SD cards connected through USB channels. A configuration in which the active coredump partition is configured to be on a USB device or SD card connected through USB channels is also not supported. For information, see http://kb.vmware.com/kb/1021345.
- To use NVIDIA GRID vGPU graphic devices:
- Verify that an NVIDIA GRID vGPU graphic device with an appropriate driver is installed on the host. See the VMware ESXi Upgrade documentation.
- Verify that the virtual machine is compatible with ESXi 6.0 and later.
- To add multiple NVIDIA GRID vGPUs to a virtual machine:
- Verify that the virtual machine is compatible with ESXi 6.7 Update 2 and later.
- Use only NVIDIA vGPU profiles with a maximum frame buffer.
- Only Q-series and C-series vGPU types are supported.
- Add a PCI device to a virtual machine when you deploy a virtual machine or edit an existing virtual machine.
Option Action Create a new virtual machine
- Right-click any inventory object that is a valid parent object of a virtual machine and select New Virtual Machine.
- On the Select a creation type page, select Create a new virtual machine, and click Next.
- Navigate through the pages of the wizard.
- On the Customize hardware page, click the Virtual Hardware tab.
Edit a virtual machine
- Right-click a virtual machine in the inventory and select Edit Settings.
- Click the Virtual Hardware tab.
- On the Virtual Hardware tab, click the Add New Device button.
- From the drop-down menu, under Other Devices, select PCI Device.
- Expand the New PCI device section and select the access type.
Option Action DirectPath IO From the PCI Device drop-down menu, select the PCI device to connect to the virtual machine. Dynamic DirectPath IO From the PCI Device drop-down menu, expand Select Hardware and select the PCI passthrough devices by their vendor, model name, and hardware label in brackets, if present.Note: The hardware label allows you to restrict the virtual machine placement to specific hardware instances. When the first PCI device that you select is with a specific hardware label, all other PCI devices that you want to add must have the same hardware label. If the first PCI device is with an empty hardware label, you can add only devices with an empty label. NVIDIA GRID vGPU From the NVIDIA GRID vGPU Profil drop-down menu, select the NVIDIA GRID vGPU passthrough device to connect to the virtual machine.
- Click OK.
- Power on the virtual machine.
The connected PCI devices type appears:
- On the Hardware tab of Edit Settings wizard.
- On the Summary tab in the VM Hardware panel.