次の方法で共有


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

多くのコンテナー化されたワークロードでは、CPU コンピューティング リソースによって十分なパフォーマンスが提供されます。 ただし、特定のクラスのワークロードでは、GPU (グラフィックス処理ユニット) によって提供される超並列コンピューティング能力により、操作が桁違いに高速化され、コストが削減され、スループットが大幅に向上します。

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

手記

この機能は、Docker Desktop バージョン 2.1 および Docker Engine - Enterprise バージョン 19.03 以降で使用できます。

前提 条件

この機能を機能させるには、環境が次の要件を満たしている必要があります。

  • コンテナー ホストは、Windows Server 2019 または Windows 10 バージョン 1809 以降を実行している必要があります。
  • コンテナーの基本イメージは mcr.microsoft.com/windows:1809 以降である必要があります。 Windows Server Core および Nano Server コンテナー イメージは現在サポートされていません。
  • コンテナー ホストで Docker Engine 19.03 以降が実行されている必要があります。
  • コンテナー ホストには、ディスプレイ ドライバー バージョン WDDM 2.5 以降を実行している GPU が必要です。

ディスプレイ ドライバーの WDDM バージョンを確認するには、コンテナー ホストで DirectX 診断ツール (dxdiag.exe) を実行します。 ツールの [表示] タブで、次に示すように [ドライバー] セクションを確認します。

[表示] タブにあるドライバー モデルのスクリーンショット。

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 コンテナーのサンプル 参照してください。