Skip to content
shiroinekotfs edited this page Sep 4, 2025 · 6 revisions

⚠️

This tool is still under review (Phase 1/3), and not ready for production environment.

Hyper-V DPD

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.

Original Contributors

Contributor Description
shiroinekotfs Original developer of Hyper-V DPD
anhvlt-2k6 Original developer of Hyper-V DPD

Proceeding actions in Discrete Device Assignment

This procedure is the same as on Microsoft Docs of planning and preparation. Make sure you follow these steps in order.

Add a device to a new virtual machine

  1. Your target virtual machine is Stopped
  2. Configure Automatic Stop Action turn off (in Hyper-V Manager or in PowerShell)
  3. Enable Guest Control Cache Type
  4. Configure High MMIO and Low MMIO. Recommended setting for Low MMIO is 3072 MB and High MMIO is 33280 MB
  5. Check if the target device is ready and MMIO Gap is in range of your configuration
  6. Add device

Remove a device from a virtual machine

  1. Your target virtual machine is Stopped
  2. Remove a device from a virtual machine

Remove all assigned devices (for advanced users)

  1. All virtual machines must be stopped
  2. Remove all assigned devices

Usage

Main Window

Hyper-V DPD Main Window

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

Managing external computers

⚠️

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.

Managing external 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.

Check for Assignable Devices (important)

Check for Assignable Device

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.

Add a device

⚠️

  • 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

Add a device

The dialog will freeze briefly while the app scans for PCI devices; then a list of PCI devices will appear.

Remove a device

⚠️

Make sure the selected VM is stopped and the device is idle

Remove a device

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).

Copy device address or device instance path (for advanced users)

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

Change MMIO Space

⚠️

Change MMIO Space

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.

Change Guest Control Cache Type

⚠️

  • 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.

Change Guest Control Cache Type

Remove All Assigned Devices (For advanced users)

⚠️

  • 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

Check for Hyper-V service status

In Hyper-V Global Settings > Check Hyper-V Status, you can view which Hyper-V services are running and which are not.

Limitations

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