Change VMware vGPU settings with PowerShell

Within larger organizations, centralized desktop with graphical performance is becoming a common use case. When building these of environments performance testing is crucial to get optimal user experience. During testing, it can occur you have to change the vGPU settings. Within this blog post, I will share a script that helps you change GPU profiles for multiple machines.

Which vGPU settings need to be changed?

When using a vGPU you need to specify a virtual GPU profile. Depending on the type of card you have multiple profiles to choose from depending on the use case. Please see the following overview of available profiles:

NVIDIA GRID Graphics Board

Virtual GPU Profile

Graphics Memory

Max Displays Per User

Max Resolution Per Display

Max Users Per Graphics Board

Recommended Use Case

GRID K2 K280Q 4 GB 4 2560×1600 2 Designer
K260Q 2 GB 4 2560×1600 4 Designer/Power User
K240Q 1 GB 2 2560×1600 8 Designer/Power User
K220Q 512 MB 2 2560×1600 16 Designer/Power User
GRID K1 K180Q 4 GB 4 2560×1600 4 Entry Designer
K160Q 2 GB 4 2560×1600 8 Power User
K140Q 1 GB 2 2560×1600 16 Power User
K120Q 512 MB 2 2560×1600 32 Power User

Source: http://blogs.vmware.com/euc/2015/03/nvidia-grid-vgpu-vmware-horizon.html

These profiles can be specified in VMware vCenter in the properties of the VMs.

vmware-vgpu-profiles

When you have to change this setting for 16 or 32 VM’s it can be time-consuming.

Changing vGPU settings with PowerShell

The following script can changes this profile based on the available on the server.

Please note: Changing profiles may cause problems so use the script at your own risk.

Conclusion

This script can help you with quickly change the vGPU profiles within VMware so you can continue with testing these settings. I hope this is valuable for you to use and feel free to leave a comment or question.