你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Azure 虚拟桌面配置 GPU 加速

重要

本内容适用于包含 Azure 资源管理器对象的 Azure 虚拟桌面。 如果你使用的是不包含 Azure 资源管理器对象的 Azure 虚拟桌面(经典),请参阅本文

Azure 虚拟桌面支持用于渲染和编码的图形处理单元 (GPU) 加速,以提高应用性能和可伸缩性。 GPU 加速对于图形密集型应用至关重要,可用于 Azure 虚拟桌面支持的所有操作系统

该列表未专门包含 Windows 的多会话版本。 但是,NV 系列 Azure 虚拟机 (VM) 中的每个 GPU 都附带了支持 25 个并发用户的 GRID 许可证。 有关详细信息,请参阅 NV 系列

本文展示如何创建 GPU 优化的 Azure VM,将其添加到你的主机池,并将其配置为使用 GPU 加速进行渲染和编码。

先决条件

本文默认你已经创建了主机池和应用程序组。

选择适当的 GPU 优化 Azure VM 大小

从 Azure 的 NV 系列NVv3 系列NVv4 系列NVadsA10 v5 系列NCasT4_v3 系列 VM 大小中选择其一来用作会话主机。 这些 VM 的大小是为应用和桌面虚拟化定制的。 上述 VM 使大多数应用和 Windows 用户界面都能够应用 GPU 加速。

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

注意

NV 系列 VM 已计划停用。 有关详细信息,请参阅 NV 停用

Azure 的 NC、NCv2、NCv3、ND 和 NDv2 系列 VM 通常不适用于 Azure 虚拟桌面会话主机。 这些 VM 是为专用的高性能计算或机器学习工具而量身定制,如用 NVIDIA CUDA 构建的工具。 对于大多数应用或 Windows 用户界面,上述 VM 不支持 GPU 加速,

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

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

请记住以下关于特定大小的信息:

  • 对于 Azure NV 系列、NVv3 系列或 NCasT4_v3 系列 VM,只有 NVIDIA GRID 驱动程序支持大多数应用和 Windows 用户界面的 GPU 加速。 NVIDIA CUDA 驱动程序不支持这些 VM 大小的 GPU 加速。

    如果选择手动安装驱动程序,请务必安装 GRID 驱动程序。 如果选择使用 Azure VM 扩展安装驱动程序,则系统会自动为这些 VM 大小安装 GRID 驱动程序。

  • 对于 Azure NVv4 系列 VM,请安装 Azure 提供的 AMD 驱动程序。 可以使用 Azure VM 扩展自动安装驱动程序,也可以手动安装。

安装驱动程序后,需要重启 VM。 请使用前述说明中的验证步骤,确认图形驱动程序已成功安装。

配置 GPU 加速的应用渲染

默认情况下,在 Windows 服务器上运行的应用和桌面是使用 CPU 渲染的,不会使用可用 GPU 进行渲染。 为会话主机配置组策略以启用 GPU 加速的渲染:

  1. 使用具有本地管理员权限的帐户连接到 VM 的桌面。
  2. 打开“开始”菜单,输入“gpedit.msc”以打开组策略编辑器。
  3. 转到“计算机配置”>“管理模板”>“Windows 组件”>“远程桌面服务”>“远程桌面会话主机”>“远程会话环境”。
  4. 为所有远程桌面服务会话选择“使用硬件图形适配器”策略。 将此策略设置为“已启用”,以在远程会话中启用 GPU 渲染。

配置 GPU 加速的帧编码

远程桌面对应用和桌面呈现的所有图形进行编码,以便将其传输到远程桌面客户端。 当屏幕的一部分频繁更新时,则这部分屏幕将使用视频编解码器 (H.264/AVC) 进行编码。 默认情况下,远程桌面不会将可用 GPU 用于此编码。

为会话主机配置组策略以启用 GPU 加速的帧编码。 以下过程继续执行前面的步骤。

注意

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

  1. 为远程桌面连接选择“配置 H.264/AVC 硬件编码”策略。 将此策略设置为“已启用”,以便在远程会话中为 AVC/H.264 启用硬件编码。

    如果使用 Windows Server 2016,请将“首选 AVC 硬件编码”选项设置为“始终尝试”。

  2. 编辑策略后,强制更新组策略。 以管理员身份打开命令提示符并运行以下命令:

    gpupdate.exe /force
    
  3. 从远程桌面会话注销。

配置全屏视频编码

注意

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

如果经常使用生成高帧速率内容的应用程序,可以选择为远程会话启用全屏视频编码。 此类应用程序可能包括 3D 建模、CAD/CAM 或视频应用程序。

全屏视频配置文件为此类应用提供了更高的帧率和更好的用户体验,但需要更大的网络带宽、更高性能的会话主机和更多的客户端资源。 因此,我们推荐您为全屏视频编码使用 GPU 加速帧编码。

为会话主机配置组策略以启用全屏视频编码。 继续执行前面的步骤:

  1. 为远程桌面连接选择“优先 H.264/AVC 444 图形模式”策略。 将此策略设置为“已启用”,以强制远程会话中应用 H.264/AVC 444 编解码器。

  2. 编辑策略后,强制更新组策略。 以管理员身份打开命令提示符并运行以下命令:

    gpupdate.exe /force
    
  3. 从远程桌面会话注销。

配置 GPU 加速的应用渲染

若要验证应用是否正在使用 GPU 进行渲染,请尝试以下任一方法:

  • 对于具有 NVIDIA GPU 的 Azure VM,请使用nvidia-smi实用工具在运行应用时检查 GPU 利用率。 有关详细信息,请参阅“验证驱动程序安装”。
  • 在受支持的操作系统版本上,可以使用任务管理器来检查 GPU 利用率。 在“性能”选项卡中选择 GPU,查看应用是否正在使用 GPU。

验证 GPU 加速的帧编码

若要验证远程桌面是否正在使用 GPU 加速的编码,请执行以下操作:

  1. 使用 Azure 虚拟桌面客户端连接到 VM 的桌面。
  2. 打开“事件查看器”并转到以下节点:应用程序和服务日志>Microsoft>Windows>RemoteDesktopServices-RdpCoreCDV>Operational
  3. 查找事件 ID 170。 如果看到已启用 AVC 硬件编码器:1,则表示远程桌面正在使用 GPU 加速编码。

提示

如果要连接到 Azure 虚拟桌面外部的会话主机以测试 GPU 加速,日志将改为存储在事件查看器的应用程序和服务日志> Microsoft>Windows>RemoteDesktopServices-RdpCoreTs>Operational 中。

验证全屏视频编码

若要验证远程桌面是否正在使用全屏视频编码,请执行以下操作:

  1. 使用 Azure 虚拟桌面客户端连接到 VM 的桌面。
  2. 打开“事件查看器”并转到以下节点:应用程序和服务日志>Microsoft>Windows>RemoteDesktopServices-RdpCoreCDV>Operational
  3. 查找事件 ID 162。 如果看到“AVC 可用:1 初始配置文件:2048”,则表示远程桌面正在使用全屏视频编码 (AVC 444)。

提示

如果要连接到 Azure 虚拟桌面外部的会话主机以测试 GPU 加速,日志将改为存储在事件查看器的应用程序和服务日志> Microsoft>Windows>RemoteDesktopServices-RdpCoreTs>Operational 中。

后续步骤

按照这些说明操作,应当可以让 GPU 加速在一个会话主机(一个 VM)上运行。 下面是在较大的主机池中启用 GPU 加速的其他注意事项: