Usage Examples - cihantuncer/HyperPoint GitHub Wiki

Creating Checkpoint

  • PS> \Path\To\hyperpoint.ps1 -VM "my vm"

Removes assigned GPUs, creates a checkpoint and reassigns GPUs.

Note: If you have assigned a GPU using the Add-VMGpuPartitionAdapter command without specifying the instance ID (which is common), it won't have an instance ID and cannot be reassigned automatically. Use HyperPoint to add GPU adapters, as it assigns every GPU with instance ID.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -GPU "Nvidia GeForce RTX 4060"

Removes assigned GPUs, creates a checkpoint, assigns all GPUs named 'NVIDIA GeForce RTX 4060' instead of the previous assigned GPUs.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -GPU "deviceid:PCI\VEN_10DE&DEV_2206&SUBSYS_38971462&REV_A1\4&17F0F7D2&0&0008"

Removes assigned GPUs, creates a checkpoint, assigns GPU with the given device ID instead of the previous assigned GPUs.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -GPU "instanceid:\\?\PCI#VEN_10DE&DEV_2206&SUBSYS_38971462&REV_A1#4&17f0f7d2&0&0008#{064092b3-625e-43bf-9eb5-dc845897dd59}\GPUPARAV"

Removes assigned GPUs, creates a checkpoint, assigns user-defined GPU with the given instance ID instead of the previous assigned GPUs.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -GPU "radeon rx 6800 xt","order:5"

Removes assigned GPUs, creates a checkpoint, assigns all GPUs named 'Radeon RX 6800 XT' and the fifth GPU in the PGPU list the instead of previous assigned GPUs.




Listing GPUs

  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "list-gpus"

Shows the partitionable GPUs and assigned GPUs lists.


  • PS> \Path\To\hyperpoint.ps1 -DO "list-gpus-partitionable"

Shows the partitionable GPUs list.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "list-gpus-assigned"

Shows the assigned GPUs list.




Adding GPUs

  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "add" -GPU "radeon RX 6800 XT"

Assigns all GPUs named 'Radeon RX 6800 XT' to VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "add-auto"

Automatically assigns the first suitable GPU to the VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "add-all"

Assigns all GPUs in the PGPUs list to VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "add-auto" -GPU "nvidia geforce rtx 4060"

If the device(s) exists, assigns all GPUs named 'NVIDIA GeForce RTX 4060'; if not, automatically assigns the first suitable GPU to the VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "add" -GPU "nvidia geforce rtx 4060","radeon rx 6800 xt"

Assigns 'NVIDIA GeForce RTX 4060' and 'Radeon RX 6800 XT' to VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "add" -GPU "Radeon RX 6800 XT","order:4","deviceid:PCI\VEN_10DE&DEV_2206&SUBSYS_38971462&REV_A1\4&17F0F7D2&0&0008"

Assigns 'Radeon RX 6800 XT', the fourth GPU in the PGPU list, and the GPU with the given device ID to VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "add" -GPU "instanceid:\\?\PCI#VEN_10DE&DEV_2206&SUBSYS_38971462&REV_A1#4&17f0f7d2&0&0008#{064092b3-625e-43bf-9eb5-dc845897dd59}\GPUPARAV"

Assigns the GPU with the given instance ID to VM.




Removing Assigned GPUs

  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "remove" -GPU "Radeon RX 6800 XT"

Removes all GPUs named "Radeon RX 6800 XT" from the VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "remove" -GPU "NVIDIA GeForce RTX 4060","order:2"

Removes all GPUs named "NVIDIA GeForce RTX 4060" and the second GPU in the PGPU list from VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "remove" -GPU "adapterid:Microsoft:F65D0775-1CA1-4804-9305-71F4A38BDD83\EDF7D457-23FC-4358-902A-57B31399ED19"

Removes the GPU with the given adapter ID from VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "remove" -GPU "NVIDIA GeForce RTX 4060","deviceid:PCI\VEN_10DE&DEV_2206&SUBSYS_38971462&REV_A1\4&17F0F7D2&0&0008"

Removes all GPUs named "NVIDIA GeForce RTX 4060" and the GPU with the given device ID from VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "remove-all"

Removes all GPUs from VM.


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "reset"

Performs "remove-all" and "add-auto" processes in order.



Installing/Updating Drivers

  1. Gather driver files from the host machine. By default, hyperpoint.ps1 places the driver packages in the 'hostdrivers' folder within the script directory.

  2. Remove All Assigned GPUs from target VM (See "Removing Assigned GPUs" section) and start VM with no GPU assigned.

  3. Copy the installdrivers.ps1 script and the GPU packages created by HyperPoint (as a folder or zip) to a shared folder accessible by the VM, or place them directly on the VM's storage. By default, installdrivers.ps1 retrieves driver packages from the 'hostdrivers' folder in the script directory for automatic installation.

  4. Run script to install driver packages in the VM

  5. When installation succeed, shutdown VM.

  6. (Re)assign GPU(s) to VM (See "Adding GPUs" section).

  7. Run VM. GPU(s) should work in the VM without any problems



Gathering Drivers

  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "get-drivers"

Copy all driver files used by assigned GPUs from the system to the default "Path\To\Script\hostdrivers\PROVIDER_RELEASEDATE" directory (e.g., NVIDIA_20240814, AMD_20240312).


  • PS> \Path\To\hyperpoint.ps1 -VM "my vm" -DO "get-drivers" -DEST "\\192.168.1.10\driver-repo" -ZIP

Copy all driver files used by assigned GPUs from the system to the network directory as separate "PROVIDER_RELEASEDATE.zip" packages (e.g., NVIDIA_20240814.zip, AMD_20240312.zip).


  • PS> \Path\To\hyperpoint.ps1 -DO "get-drivers" -GPU "Nvidia Geforce RTX 3080"

Copy Nvidia driver files used by RTX 3080 from the system to the "Path\To\Script\hostdrivers\NVIDIA_20240814" directory.

Note: All -GPU parameter options available.



Running Installer Script in The VM

  • PS> C:\Path\To\Script\installdrivers.ps1

Install all driver packages in the "C:\Path\To\Script\hostdrivers" to the system.

Note: If there is a zip and folder package with the same name, the script selects the zip and ignores the folder.


  • PS> C:\Path\To\Script\installdrivers.ps1 -DRV "NVIDIA_20240814.zip"

Install only NVIDIA_20240814.zip driver package in the "C:\Path\To\Script\hostdrivers" to the system.


  • PS> C:\Path\To\Script\installdrivers.ps1 -SRC "C:\MyDriverRepo"

Install all driver packages in the "C:\MyDriverRepo" to the system.


  • PS> C:\Path\To\Script\installdrivers.ps1 -DRVSRC "C:\MyDriverRepo\AMD_202406224"

Install AMD_202406224 driver package to the system.


  • PS> C:\Path\To\Script\installdrivers.ps1 -DRVSRC "C:\MyDriverRepo\NVIDIA_20240814.zip"

Install NVIDIA_20240814.zip driver package to the system.


  • PS> C:\Path\To\Script\installdrivers.ps1 -FORCE

By default, If there are any locked target driver files during overwrite operation, script lists locking processes and exits. With -FORCE parameter, script tries to stop locking processes and services; continues to install new driver files.

⚠️ **GitHub.com Fallback** ⚠️