为 Azure 虚拟桌面启用 GPU 加速

Azure 虚拟桌面在呈现和编码中支持图形处理单元 (GPU) 加速,可以使用远程桌面协议 (RDP) 提高应用性能和可伸缩性。 GPU 加速对于图形密集型应用程序至关重要,可用于 Azure 虚拟桌面支持的所有操作系统

Azure 虚拟桌面中有三个用于 GPU 加速的组件,它们协同工作来改善用户体验:

  • GPU 加速的应用程序呈现:使用 GPU 在远程会话中呈现图形。

  • GPU 加速的帧编码:远程桌面协议对呈现的所有图形进行编码,以便传输到本地设备。 当屏幕的一部分频繁更新时,它会使用 H.264/AVC 视频编解码器进行编码。

  • 全屏视频编码:全屏视频配置文件可提供更高的帧速率和更好的用户体验,但会使用更多的网络带宽以及会话主机和客户端资源。 它有利于 3D 建模、CAD/CAM 或视频播放和编辑等应用程序。

提示

  • 即使没有 GPU 加速,也可以启用全屏视频编码。

  • 你还可以增加默认色度值以提高图像质量。

本文介绍哪些 Azure VM 大小可用作具有 GPU 加速的会话主机,以及如何启用 GPU 加速进行呈现和编码。 可以使用组策略配置会话主机。

支持的 GPU 优化 Azure VM 大小

以下 Azure VM 大小针对 GPU 加速进行了优化,并支持用作 Azure 虚拟桌面中的会话主机:

VM 大小的正确选择取决于许多因素,包括特定的应用程序工作负载、所需的用户体验质量以及成本。 通常,在给定的用户密度下,GPU 的大小越大、功能越强,提供的用户体验就越好。 较小和分数级的 GPU 大小可以更精细地控制成本和质量。

具有 NVIDIA GPU 的 VM 大小附带了支持 25 个并发用户的 GRID 许可证。

重要

Azure NCv3 系列 VM 通常不适合用作会话主机。 这些 VM 大小是为专用的高性能计算或机器学习工具而量身定制,例如使用 NVIDIA CUDA 构建的工具。 对于大多数应用程序或 Windows 用户界面,它们不支持 GPU 加速。

先决条件

在启用 GPU 加速之前,需要:

  • 一个现有的主机池,其中会话主机使用支持的 GPU 优化 Azure VM 大小

  • 若要配置组策略,需要:

    • 属于“域管理员”安全组成员的域帐户。

    • 一个包含要配置的设备的安全组或组织单位 (OU)。

在虚拟机中安装受支持的图形驱动程序

若要在 Azure 虚拟桌面中利用 Azure N 系列 VM 的 GPU 功能,必须安装相应的图形驱动程序。 按照支持的操作系统和驱动程序中的说明来安装驱动程序。

重要

仅支持 Azure 分布式驱动程序。

安装驱动程序时,以下是一些重要准则:

启用 GPU 加速的应用程序呈现、帧编码和全屏视频编码

默认情况下,远程会话使用 CPU 进行呈现,并且不使用可用的 GPU。 可以使用组策略来启用 GPU 加速的应用程序呈现、帧编码和全屏视频编码。

注意

GPU 加速的帧编码在 NVv4 系列 VM 中不可用。

选择方案的相关选项卡。

若要使用组策略启用 GPU 加速的应用程序呈现,请执行以下操作:

  1. 在你用于管理 Active Directory 域的设备上打开“组策略管理”控制台。

  2. 创建或编辑面向提供你要配置的远程会话的计算机的策略。

  3. 导航到“计算机配置”>“策略”>“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“远程会话环境”

    显示组策略编辑器中重定向选项的屏幕截图。

  4. 配置下列设置:

    1. 对于 GPU 加速的应用程序呈现,请双击策略设置“对所有远程桌面服务会话使用硬件图形适配器”以打开它。 选择“已启用”,然后选择“确定”。

    2. 对于 GPU 加速的帧编码,请双击策略设置“为远程桌面连接配置 H.264/AVC 硬件编码”以打开它。 选择“已启用”,然后选择“确定”。 如果你使用的是 Windows Server 2016,则会在设置中看到一个额外的下拉菜单;请将“首选 AVC 硬件编码”设置为“始终尝试”。

    3. 对于全屏视频编码,请双击策略设置“为远程桌面连接优先使用 H.264/AVC 444 图形模式”以打开它。 选择“已启用”,然后选择“确定”。

  5. 确保将该策略应用于会话主机,然后重启这些主机以使设置生效。

验证 GPU 加速

若要验证远程会话是否正在使用 GPU 加速、GPU 加速的应用程序呈现、帧编码和全屏视频编码,请执行以下操作:

  1. 通过 Azure 虚拟桌面或直接 RDP 连接来连接到配置的会话主机之一。

  2. 打开一个使用 GPU 加速的应用程序,并为 GPU 生成一些负载。

  3. 打开任务管理器,转到“性能”选项卡。选择 GPU 以查看应用程序是否正在使用 GPU。

    显示远程桌面会话中任务管理器中的 GPU 使用情况的屏幕截图。

    提示

    对于 NVIDIA GPU,请使用 nvidia-smi 实用工具在运行应用程序时检查 GPU 利用率。 有关详细信息,请参阅“验证驱动程序安装”。

  4. 从“开始”菜单打开事件查看器,或者从命令行运行 eventvwr.msc

  5. 导航至下列任一位置:

    1. 对于通过 Azure 虚拟桌面进行的连接,请转到“应用程序和服务日志”>“Microsoft”>“Windows”>“RemoteDesktopServices-RdpCoreCDV”>“Operational”。

    2. 对于通过直接 RDP 连接进行的连接,请转到“应用程序和服务日志”>“Microsoft”>“Windows”>“RemoteDesktopServices-RdpCoreTs”>“Operational”。

  6. 查找以下事件 ID:

    • 事件 ID 170:如果在事件文本中看到“AVC 硬件编码器已启用: 1”,则表示 RDP 正在使用 GPU 加速的帧编码。

    • 事件 ID 162:如果在事件文本中看到“AVC 可用: 1,初始配置文件: 2048”,则表示远程桌面正在使用全屏视频编码 (H.264/AVC 444)。

增加默认色度值以提高图像质量。