GPU 分区

适用于:Azure Stack HCI 版本 23H2 和 22H2

使用 GPU 分区,你可以与多个虚拟机 (VM) 共享一个物理 GPU 设备。 使用 GPU 分区或 GPU 虚拟化,每个 VM 将获得 GPU 的专用部分,而不是整个 GPU。

GPU 分区功能使用单根 IO 虚拟化 (SR-IOV) 接口,该接口为每个 VM 提供硬件支持的安全边界,且性能是可预测的。 每个 VM 只能访问专用于它们的 GPU 资源,安全硬件分区可防止其他 VM 未经授权进行访问。

Windows Server 引入了 GPU 分区的实时迁移。 使用 GPU 分区实时迁移有特定要求。 除了建议的实时迁移最佳做法之外,群集主机还需要具有支持输入/输出内存管理单元 (IOMMU) DMA 位跟踪功能的处理器。 例如,支持 Intel VT-D 或 AMD-Vi 的处理器。 如果在未启用 IOMMU 的处理器的情况下使用 Windows Server 和实时迁移,VM 则会在提供 GPU 资源的情况下自动重启。

GPU 分区专为独立服务器而设计。 可以在计划内停机时间期间在独立节点之间实时迁移 VM;但是,对于需要群集以应对计划外停机时间的客户,必须使用 Windows Server 2025 Datacenter。

何时使用 GPU 分区

某些工作负载(例如,虚拟桌面基础架构 (VDI)、人工智能 (AI) 和机器学习 (ML))推理需要 GPU 加速,GPU 分区有助于降低整个基础架构的总拥有成本。

例如:

  • VDI 应用程序:分布式边缘客户在其 VDI 环境中运行基本的生产力应用,例如 Microsoft Office 和图形密集型可视化工作负荷,这需要 GPU 加速。 对于此类工作负荷,可以通过 DDA 或 GPU 分区实现所需的 GPU 加速。 使用 GPU 分区,可以创建多个分区并将每个分区分配给托管 VDI 环境的 VM。 GPU 分区可帮助你实现所需的密度并将支持的用户数按数量级缩放。

  • 使用 ML 进行推理:零售店和制造工厂的客户可以在边缘运行推理,这需要针对其服务器的 GPU 支持。 在服务器上使用 GPU,可以运行 ML 模型以获得可在数据发送到云之前处理的快速结果。 可以选择传输完整的数据集以继续重新训练并改进 ML 模型。 与将整个物理 GPU 分配给 VM 的 DDA 一起使用时,GPU 分区可以让你在同一 GPU 上(但在单独的物理分区中)并行运行多个推理应用程序,从而最大限度地利用 GPU。

支持的来宾操作系统

Windows Server 2025 及更高版本上的 GPU 分区功能支持以下来宾操作系统:

Azure Stack HCI 上的 GPU 分区支持以下来宾操作系统:

  • Windows 10 或更高版本
  • Windows 10 企业版多会话或更高版本
  • Windows Server 2019 或更高版本
  • Linux Ubuntu 18.04 LTS、Linux Ubuntu 20.04 LTS、Linux Ubuntu 22.04 LTS

支持的 GPU

以下 GPU 支持 GPU 分区:

  • NVIDIA A2
  • NVIDIA A10
  • NVIDIA A16
  • NVIDIA A40
  • NVIDIA L2
  • NVIDIA L4
  • NVIDIA L40
  • NVIDIA L40S

注意

NVIDIA 驱动程序目前不支持实时迁移的 GPU 分区。

我们建议与原始设备制造商 (OEM) 合作伙伴和 GPU 独立硬件供应商 (IHV) 合作,通过适当的配置和必要的软件为所需的工作负载规划、订购和设置系统。 但是,如果你想要通过离散设备分配 (DDA) 直通使用 GPU 加速,我们支持使用更多的 GPU。 请联系 OEM 合作伙伴和 IHV 获取支持 DDA 的 GPU 列表。 有关通过 DDA 使用 GPU 加速的详细信息,请参阅离散设备分配 (DDA)

为获得最佳性能,我们建议为群集中所有服务器的 GPU 创建同构配置。 同构配置包括安装相同品牌和型号的 GPU,并在群集中所有服务器的 GPU 中配置相同的分区计数。 例如,在由安装了一个或多个 GPU 的两台服务器所组成的群集中,所有 GPU 的品牌、型号和大小必须相同。 每个 GPU 上的分区计数也必须匹配。

限制

使用 GPU 分区功能时,请考虑以下限制:

  • 如果配置不是同构的,则不支持 GPU 分区。 下面是一些不受支持的配置示例:

    • 在同一群集中混合使用不同供应商的 GPU。

    • 在同一群集中使用同一供应商的不同产品系列的不同 GPU 型号。

  • 不能将一个物理 GPU 同时分配为离散设备分配 (DDA) 或可分区 GPU。 可将其分配为 DDA 或可分区 GPU,但不能同时分配为两者。

  • 只能将单个 GPU 分区分配到 VM。

  • 系统会自动为 VM 分配分区。 无法为特定 VM 选择特定分区。

  • 目前,Azure Stack HCI 上的 GPU 分区不支持 VM 实时迁移。 但是如果出现故障,VM 可以自动重启并放置在 GPU 资源可用的位置。
  • 可以使用 Windows Admin Center 或使用 PowerShell 对 GPU 进行分区。 建议使用 Windows Admin Center 配置和分配 GPU 分区。 Windows Admin Center 会自动验证群集中所有服务器的 GPU 的同构配置。 它会提供相应的警告和错误以采取任何所需的纠正措施。

  • 如果使用 PowerShell 预配 GPU 分区,则必须在群集中的每台服务器上执行预配步骤。 必须手动确保为群集中所有服务器的 GPU 维护同构配置。

  • 当使用分配了 GPU 分区的虚拟机进行实时迁移时,Hyper-V 实时迁移会自动回退为使用带压缩的 TCP/IP。 迁移虚拟机可能会提高主机的 CPU 使用率。 此外,实时迁移所需的时间可能比未附加 GPU 分区的虚拟机更长。