2 High Burst GPU Multi-Session Or Utilization App Remoting - - PowerPoint PPT Presentation
2 High Burst GPU Multi-Session Or Utilization App Remoting - - PowerPoint PPT Presentation
1 Full GPU Resource Utilization Cad/Cam/PLM GPU Requirements Per Application Gaming Client/Server VM Single Session Power HPC/Compute Users 2 High Burst GPU Multi-Session Or Utilization App Remoting Designer apps
- Full GPU Resource Utilization
- Cad/Cam/PLM
- Gaming
- HPC/Compute
1
Power Users
- High Burst GPU
Utilization
- Designer apps
- Data Visualization
2
Professional Users
- Minimal GPU
Utilization
- Data Entry/LOB
- Web Browser
3
Knowledge Worker
GPU Requirements Per Application User Scale Single Session Client/Server VM Multi-Session Or App Remoting
Virtualization Options with Hyper-V
HARDWARE PASS-THROUGH (Discrete Device Assignment) IHV Driver IHV Driver
GPU GPU 1 2 3
PARAVIRTUALIZATION (RemoteFX - vGPU)
MS vGPU Driver MS vGPU Driver
GPU 1 2 3
Azure’s Initial Offering
SOFTWARE GPU (WARP) WARP WARP
CPU 1 2 3
Configuration Powershell Commands VM Preparation
#Set automatic stop action to TurnOff Set-VM -Name $vm -AutomaticStopAction TurnOff #Enable Write-Combining on the CPU Set-VM -GuestControlledCacheTypes $true -VMName $vm #Configure 32 bit MMIO space Set-VM -LowMemoryMappedIoSpace 3Gb -VMName $vm #Configure Greater than 32 bit MMIO space Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName $vm
Host
#Dismount the device as a Display adapter from the Host Dismount-VMHostAssignableDevice -force -LocationPath $locationPath
Assignment to VM
#Assign the device to the guest VM. Add-VMAssignableDevice -LocationPath $locationPath -VMName $vm
Group Policy in VM for Remote Desktop
For Windows Server 2012 R2/Windows Server 2016 only:
- Open the Group Policy Editor: gpedit.msc
- Navigate the tree: Computer Configuration -> Administrator Templates -> Windows Components ->
Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment -> Use the hardware default graphics adapter for all Remote Desktop Services sessions
- Configure the Policy to be "Enabled"
Hyper-V Manager Powershell Commands Configure the Guest VM
- Get-VMRemoteFx3dVideoAdapter [-VM] <VirtualMachine[]>
[<CommonParameters>]
- Set-VMRemoteFx3dVideoAdapter [-VMName] <string[]> [[-MonitorCount]
<byte>] [[-MaximumResolution] <string> {1024x768 | 1280x1024 | 1600x1200 | 1920x1200 | 2560x1600}] [[-VRAMSizeBytes] <uint64> {67108864 | 134217728 | 268435456 | 536870912 | 1073741824}] [- Passthru] [-ComputerName <string[]>] [-WhatIf] [-Confirm] [<CommonParameters>] Example: Set-VMRemoteFX3dVideoAdapter mytestvm 2 1920x1200 1024MB Host Hyper-V
- Get-VMRemoteFXPhysicalVideoAdapter [[-Name] <string[]>] [-
ComputerName <string[]>] [-Credential <pscredential[]>] [<CommonParameters>]
- Set-VMRemoteFx3dVideoAdapter [-VM] <VirtualMachine[]> [[-
MonitorCount] <byte>] [[-MaximumResolution] <string>]
- [[-VRAMSizeBytes] <uint64>] [-Passthru] [-WhatIf] [-
Confirm][<CommonParameters>]
4:2:0 4:4:4
NV6 NV12 NV24 NC6 NC12 NC24 NC24r Cores
6 (E5-2690v3) 12 (E5-2690v3) 24 (E5-2690v3) 6 (E5-2690v3) 12 (E5-2690v3) 24 (E5-2690v3) 24 (E5-2690v3)
GPU
1 x M60 GPU (1/2 Physical Card) 2 x M60 GPU (1 Physical Card) 4 x M60 GPU (2 Physical Cards) 1 x K80 GPU (1/2 Physical Card) 2 x K80 GPU (1 Physical Card) 4 x K80 GPU (2 Physical Cards) 4 x K80 GPU (2 Physical Cards)
Memory
56 GB 112 GB 224 GB 56 GB 112 GB 224 GB 224 GB
Disk
~380 GB SSD ~680 GB SSD ~1.5 TB SSD ~380 GB SSD ~680 GB SSD ~1.5 TB SSD ~1.5 TB SSD
Network
Azure Network Azure Network Azure Network Azure Network Azure Network Azure Network Azure Network + (RoCE)
S6839 - Leveraging Microsoft Azure's GPU N-Series for Compute Workloads and Visualization
Feature RemoteFX vGPU DDA Scale 1 GPU to Many VMs 1 or more GPU’s to 1 VM App Compatibility DX 11.1, OpenGL 4.4, OpenCL 1.1 All GPU Capabilities provided by vendor (DX 12, OpenGL, CUDA, etc) AVC444 Enabled By Default (Win10/Srv2016) Available through Group Policy (Win10/Srv2016) GPU VRAM Up to 1 GB VRAM GPU GPU Driver in Guest RemoteFX 3D Adapter Display Driver (Microsoft) GPU Vendor Driver (Nvidia) Guest OS Support W7sp1, Win10, Server 2012r2, Server 2016 Linux, Windows 10, Server 2012r2*, Server 2012 Hypervisor Microsoft Hyper-V Host OS Availability Server 2012r2, Server 2016, Windows 10 Server 2016 GPU Hardware “Enterprise” GPUs (Quadro, GRID) Server Hardware No Special requirements Modern Server, exposes IOMMU to OS (usually SR-IOV compliant hardware)
https://blogs.msdn.microsoft.com/rds/2014/11/05/remotefx-vgpu-updates-in- windows-server-next/ http://social.technet.microsoft.com/wiki/contents/articles/31771.experience- guide-for-enabling-opengl-support-for-vgpu-in-server-2016.aspx https://blogs.msdn.microsoft.com/rds/2016/01/11/remote-desktop-protocol-rdp-10-avch-264- improvements-in-windows-10-and-windows-server-2016-technical-preview/ https://technet.microsoft.com/en-us/library/mt608570.aspx http://blogs.technet.com/b/virtualization/archive/2015/11/19/discrete-device- assignment.aspx http://blogs.technet.com/b/virtualization/archive/2015/11/20/discrete-device- assignment-machines-and-devices.aspx http://blogs.technet.com/b/virtualization/archive/2015/11/23/discrete-device-assignment- gpus.aspx https://github.com/Microsoft/Virtualization-Documentation/tree/master/hyperv- samples/benarm-powershell/DDA