Windows コンテナーでの GPU アクセラレーション

コンテナー化された多くのワークロードでは、CPU コンピューティング リソースが十分なパフォーマンスを提供します。 しかし、特定のクラスのワークロードでは、GPU (グラフィックス処理装置) によって提供される超並列コンピューティング能力により、処理速度が大幅に向上し、コストの削減とスループットの大幅な向上も実現できます。

GPU は、従来のレンダリングやシミュレーションから機械学習のトレーニングや推論まで、多くの一般的なワークロードで幅広く使用されるツールになっています。 Windows コンテナーでは、DirectX 用の GPU アクセラレーションと、その上に構築されたすべてのフレームワークがサポートされています。

注意

この機能は、Docker Desktop バージョン 2.1、および Docker エンジン - Enterprise バージョン 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 コンテナーのサンプル」を参照してください。