GPU-Beschleunigung in Windows-Containern

Für viele containerisierte Workloads bieten die CPU-Computeressourcen eine ausreichende Leistung. Bei einer bestimmten Klasse von Workloads kann jedoch die enorme parallele Computeleistung von GPUs (Graphics Processing Units) Operationen um ein Vielfaches beschleunigen, die Kosten senken und den Durchsatz immens steigern.

GPUs sind bereits ein gängiges Tool für viele beliebte Workloads, vom herkömmlichen Rendern und Simulieren bis hin zum Trainieren des maschinellen Lernens. Windows-Container unterstützen die GPU-Beschleunigung für DirectX und alle darauf aufsetzenden Frameworks.

Hinweis

Dieses Feature steht in Docker Desktop, Version 2.1 und dem Docker-Modul – Enterprise, Version 19.03 oder höher, zur Verfügung.

Anforderungen

Damit dieses Feature funktioniert, muss Ihre Umgebung die folgenden Anforderungen erfüllen:

  • Auf dem Containerhost muss Windows Server 2019 oder Windows 10, Version 1809 oder höher, ausgeführt werden.
  • Das Containerbasisimage muss mcr.microsoft.com/windows:1809 oder höher sein. Windows Server Core- und Nano Server-Containerimages werden derzeit nicht unterstützt.
  • Auf dem Containerhost muss das Docker-Modul 19.03 oder höher ausgeführt werden.
  • Der Containerhost muss über eine GPU mit Anzeigetreibern der Version WDDM 2.5 oder höher verfügen.

Führen Sie das DirectX-Diagnosetool (dxdiag.exe) auf Ihrem Containerhost aus, um die WDDM-Version Ihrer Anzeigetreiber zu überprüfen. Schauen Sie auf der Registerkarte „Anzeige“ des Tools im Abschnitt „Treiber“ nach, wie unten angegeben.

Screenshot of the Driver Model found in the Display tab.

Ausführen eines Containers mit GPU-Beschleunigung

Führen Sie den folgenden Befehl aus, um einen Container mit GPU-Beschleunigung zu starten:

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

Wichtig

DirectX (und alle darauf aufsetzenden Frameworks) umfasst die einzigen APIs, die heute mit einer GPU beschleunigt werden können. Frameworks von Drittanbietern werden nicht unterstützt.

Unterstützung für Windows-Container mit Hyper-V-Isolation

Die GPU-Beschleunigung für Workloads in Windows-Containern mit Hyper-V-Isolation wird derzeit nicht unterstützt.

Unterstützung von Linux-Containern mit Hyper-V-Isolation

Die GPU-Beschleunigung für Workloads in Linux-Containern mit Hyper-V-Isolation wird derzeit nicht unterstützt.

Weitere Informationen

Ein vollständiges Beispiel für eine DirectX-Container-App, die die GPU-Beschleunigung nutzt, finden Sie unter DirectX-Containerbeispiel.