Preparing the Target Environment
Adding the GPU Application Scripts to Login Enterprise
Adding Session Metrics to measure the effect of GPUs
How to use the GPU Reference Workload
Download UWP Appx Installer for Windows Media Player and Microsoft 3D Viewer
Introduction
The GPU Reference Workload is a set of application scripts that are designed to use applications that are readily available and without licensing on Windows 10 and Windows 11 to drive a graphics-intensive workload on the system for the purpose of measuring the benefits of GPU-enabled workspaces. Windows Medial Player can stream video (either 1080 or 4K depending on the file you choose) for a predetermined or random period of time. Microsoft 3D Viewer will open a 3D model and animate it while changing views and presets. You can use one or both of them in the workload and it pairs well with the Knowledge Worker workload. Microsoft 3D Viewer is expected to drive the GPU and CPU somewhat aggressively.
Windows Media Player 11 |
Microsoft 3D Viewer |
Preparing the Target Environment
- Make sure the applications used in this workload are available to the virtual user. In some cases, these applications are not installed by default and may have to be installed on the target workspace or golden image (see notes below).
- Windows Media Player version 11 (you can test if it is installed by opening a CMD window and running mediaplayer.exe).
- Note 1: Make sure you are using the most current date version of Media Player (2022+). There is a version 12 that is the Legacy version of Windows Media Player based on Groove Music that will not work with this workload.
- The application script for Windows Media Player will look for the following file to use for streaming by default: "C:\temp\loginvsi\1080HDVideo.mp4" - If you prefer to use a 4K video you can change the name of the file and location in the application script.
- Any video can be used for testing via the media player test. You can use the video that comes with the downloaded workloads, which is a 1080 HD video. If you prefer 4K, others have used 'Big Buck Bunny' which is a well known video and free. This video can be found at the link https://peach.blender.org/, or for faster downloads try a mirror site (for example, https://4kmedia.org/big-buck-bunny-4k-demo/).
- Note 2: If you have the Citrix VDA installed on the target, mediaplayer.exe may be the Citrix Media player. If this happens try changing the Citrix mediaplayer.exe filename extension to .bak and try running mediaplayer.exe from the CMD window again.
- Microsoft 3D Viewer (you can test if it is installed by opening a CMD window and running @"cmd /c start com.microsoft.3dviewer:" ). Models used in this workload should already be available in the application.
- Per-machine vs Per-User installs: If you are using VDI cloned images for desktops please note that if the applications above are not installed on the image already you will need to make sure each is installed as a "per-machine" application versus a "per-user". See Download UWP Appx Installer for Windows Media Player and Microsoft 3D Viewer for a script that may help you install these apps as a per-machine instance so all users, especially those with non-persistent desktops, can use these apps (note: this script is not supported by Login VSI but is should help).
- Windows Media Player version 11 (you can test if it is installed by opening a CMD window and running mediaplayer.exe).
- High Performance Mode: Make sure the workspaces and apps you are testing are set to high-performance mode, otherwise the GPU may not be used as expected. See the following articles:
- Performance Data: Install additional performance tools if necessary. For example, for VMware Horizon to show framerate through PerfMon or WMI, you must first install Horizon Performance Tracker as a part of the Horizon Agent install. If you are using Citrix Virtual Apps and Desktops, this information may be available by default from the Citrix Virtual Delivery Agent.
Adding the GPU Application Scripts to Login Enterprise
- To download the Login Enterprise application scripts for Media Player and 3D Viewer, see the GPU Reference Workload Scripts on GitHub.
- Once the scripts are downloaded you can "Import" them to Login Enterprise. To learn how to how to import application scripts, see Importing Application Scripts to Login Enterprise.
- If you would like to create an application group for the GPU Reference Workload, name it, and add the applications above, see Creating an Application Group in Login Enterprise.
Adding Session Metrics to measure the effect of GPUs
The Login Enterprise virtual user can collect session metrics that can help to understand the behavior and performance of the desktops being tested. Some valuable metrics to consider for this workload are CPU Utilization %, Memory Utilization %, Logical Disk Sec/Transaction (latency), and GPU Engine Utilization. If you are installing VMware or Citrix performance tools you may also want to collect metrics like Framerate (FPS).
To learn more about Session Metrics, see the Session Metrics in Login Enterprise
For a library of Session Metrics that can be added to Login Enterprise, see the Session Metrics Library
Note: Because session metrics are averaged across all sessions, it is recommended to only collect metrics from one session, or to run a continuous test from a dedicated launcher for 1 user.
How to use the GPU Reference Workload
There are many ways to use this workload to discover the benefits and behaviors of GPUs in your VDI and Session Host environments.
- Intensive: Use only 3D Viewer or Windows Media Player in the workload to apply a continuously intensive workload on the CPU and GPU.
- Knowledge Worker with heavy media demand: Mix with Knowledge Worker to get a feel for how the Microsoft Office Suite uses GPU as well as adding the additional load from more visually intensive applications.
- Other video demand on GPU: Mix with another app like Zoom Client (and application script for the Zoom VDI Client is included in the GitHub download)
Best practices
- Always start with a baseline: You may want to test the environment without a GPU first, so you can compare later. Note that virtual GPUs are typically limited in number per server, so the number of sessions on the server you are testing could be equal to the total number of vGPUs configured (for example, 4 GPUs that can be carved up into 24 vGPUs each, will result in a total number of 96 desktops, even though the CPU and Memory configuration of the server may be able to handle more)
- Watch CPU Utilization: Even though you can offload graphics processing from the CPU with a GPU, this will typically result in a higher framerate for video processing, which in turn will also cause an increase in CPU utilization as well because there are more frames to process.
- Adjust Framerate limits: The more frames per second you process, the more work the CPU and GPU will have to do. Explore frame rates between 15, 30, and 60 FPS. You may have to dig into your configuration to go above 30 FPS as VDI solutions like VMware Horizon are limited to 30 FPS by default, and the configuration of the launchers (which need to also have GPUs), the registry on the desktop and the encoding format will need to be set just right.
- Try different resolutions: 4K desktop monitors are becoming quite popular. You may find that a resolution of 1920x1080 will not impact the GPU as heavily as a resolution of 3840x2160.