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