full gpu resource utilization - gtc on-demand featured...
TRANSCRIPT
• Full GPU Resource Utilization
• Cad/Cam/PLM
• Gaming
• HPC/Compute
1Power
Users
• High Burst GPU
Utilization
• Designer apps
• Data Visualization
2Professional Users
• Minimal GPU
Utilization
• Data Entry/LOB
• Web Browser
3Knowledge WorkerG
PU
Req
uir
em
en
ts P
er
Ap
plica
tio
n
User Scale
Sin
gle
Sess
ion
Clien
t/Serv
er
VM
Mu
lti-
Sess
ion
Or
Ap
p R
em
oti
ng
Virtualization Options with Hyper-V
HARDWARE PASS-THROUGH (Discrete Device Assignment)
IHV Driver
IHV Driver
GPU GPU 1
2
3
PARAVIRTUALIZATION (RemoteFX - vGPU)
MS vGPUDriver
MS vGPUDriver
GPU1
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>]
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