Windows 容器中的 GPU 加速

对于许多容器化的工作负荷,CPU 计算资源可提供足够的性能。 但是,对于某一类工作负载,GPU(图形处理单元)提供的大规模并行计算能力能够将操作速度提高几个数量级,从而大大降低成本并提高吞吐量。

GPU 已经成为许多常用工作负荷(从传统的渲染和模拟到机器学习训练和推理)的通用工具。 Windows 容器支持对 DirectX 和基于它构建的所有框架进行 GPU 加速。

注意

此功能在 Docker Desktop 版本 2.1 和 Docker 引擎 - 企业版 19.03 或更高版本中可用。

要求

要使此功能生效,你的环境必须满足以下要求:

  • 容器主机必须运行 Windows Server 2019 或 Windows 10 版本 1809 或更高版本。
  • 容器基础映像必须是 mcr.microsoft.com/windows:1809 或更高版本。 当前不支持 Windows Server Core 和 Nano Server 容器映像。
  • 容器主机必须运行 Docker 引擎 19.03 或更高版本。
  • 容器主机上必须有一个运行显示驱动程序版本 WDDM 2.5 或更高版本的 GPU。

若要检查显示驱动程序的 WDDM 版本,请在容器主机上运行 DirectX 诊断工具 (dxdiag.exe)。 在工具的“显示”选项卡中查看“驱动程序”部分,如下所示。

Screenshot of the Driver Model found in the Display tab.

运行支持 GPU 加速的容器

若要启动支持 GPU 加速的容器,请运行以下命令:

docker run --isolation process --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 mcr.microsoft.com/windows:1809

重要

DirectX(和基于它构建的所有框架)是目前仅有的可以通过 GPU 进行加速的 API。 不支持第三方框架。

Hyper-V 隔离 Windows 容器支持

目前不支持对 Hyper-V 隔离 Windows 容器中的工作负荷进行 GPU 加速。

Hyper-V 隔离 Linux 容器支持

目前不支持对 Hyper-V 隔离 Linux 容器中的工作负荷进行 GPU 加速。

详细信息

有关利用 GPU 加速的容器化 DirectX 应用的完整示例,请参阅 DirectX 容器示例