-
Notifications
You must be signed in to change notification settings - Fork 0
Home
⚠️ This tool is still under review (Phase 1/3), and not ready for production environment.
Hyper-V Discrete Device Assignment and GPU Paravirtualization provides a graphical user interface for deploying Discrete Device Assignment and GPU-P on a Hyper-V server.
It also handles WMI remote connections, allowing administrators to deploy and manage without complex PowerShell scripts remotely.
| Contributor | Description |
|---|---|
| shiroinekotfs | Original developer of Hyper-V DPD |
| anhvlt-2k6 | Original developer of Hyper-V DPD |
This procedure is the same as on Microsoft Docs of planning and preparation. Make sure you follow these steps in order.
- Your target virtual machine is Stopped
- Configure Automatic Stop Action turn off (in Hyper-V Manager or in PowerShell)
- Enable Guest Control Cache Type
- Configure High MMIO and Low MMIO. Recommended setting for Low MMIO is 3072 MB and High MMIO is 33280 MB
- Check if the target device is ready and MMIO Gap is in range of your configuration
- Add device
- Your target virtual machine is Stopped
- Remove a device from a virtual machine
- All virtual machines must be stopped
- Remove all assigned devices

The main window of Hyper-V DPD gives basic operations:
- The navigation bar includes all tools that administrators need to assign/unassign devices from the host to the VM.
- The list of Virtual Machines present on the host, and devices that are assigned to each of them.
- Quick action buttons and a status bar
⚠️ By default, Hyper-V DPD will automatically connect locally, if Hyper-V is enabled on the system. If Hyper-V is not present, you can still manage other computers.

To connect and manage the licenses of external computers (such as Windows Server Core), go to File > Connect to Another Computer.
A small dialog will display to prompt for the target computer. You can go to the computer name, specify the user name, and password.

To check which devices are ready for assignment, go to Hyper-V Global Settings > Check for Assignable Devices or the button right on the main menu Check for Assignable Devices.
When the dialog appears, click Check for Devices to start scanning for assignable devices.
⚠️
- Make sure the selected VM is stopped and that 'Automatic Stop Action' is turned off.
- The target device should be idle, but not disabled.
- Please check if the device is on the list of Assignable devices

The dialog will freeze briefly while the app scans for PCI devices; then a list of PCI devices will appear.
⚠️ Make sure the selected VM is stopped and the device is idle

If a device is already assigned to a virtual machine and you want to return it to the host, click Remove Device (or select Discrete Device Assignment > Remove Device).
If you have a device that is already mounted into a virtual machine, and want to copy its instance path (or device address), click the button Copy Device Address or Discrete Device Assignment > Copy Device Address
⚠️
- Low MMIO is "size, in megabytes, of the first MMIO gap for a virtual machine", while High MMIO is "size of the High (above 4GB) Memory-Mapped IO Gap in MB"
- Low MMIO must be in range from 128 to 3584 (MB) and High MMIO must larger than 4096 (MB)
- Make sure selected VM is Stopped

To change the MMIO space, select a VM, and go to Discrete Device Assignment > Change Memory Space. A dialog will appear for you to enter values.
⚠️
- Make sure selected VM is Stopped
To enable or disable the guest-controlled cache type, select a device and choose Discrete Device Assignment > Change VM Cache Types. A dialog will ask whether you want to enable this feature for the virtual machine.

⚠️
- All virtual machines should be stopped.
- Once confirmed, both unassigned devices (in the pool with no VM attached) and assigned devices are removed from the Hyper-V PCI pool and remounted to the host.
In case you have a device that is assigned but does not appear anywhere in the system, you can try Remove All Assigned Devices in the main menu or in Discrete Device Assignment > Remove All Assigned Devices
In Hyper-V Global Settings > Check Hyper-V Status, you can view which Hyper-V services are running and which are not.
Discrete Device Assignment requires a Hyper-V host running Windows Server 2016 or later, and is not supported on Windows 10/11. The VM also must run Windows 10 and later. (Other operating systems are not supported).
More information, view on Microsoft Learn