View a markdown version of this page

Führen Sie Docker-Container mit NVIDIA-GPUs auf Deadline Cloud-Workern aus - Deadline Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Führen Sie Docker-Container mit NVIDIA-GPUs auf Deadline Cloud-Workern aus

Das Host-Konfigurationsskript docker_nvidia_container_toolkit auf der GitHub Website installiert Docker und das NVIDIA Container Toolkit auf vom Linux-Service verwalteten Flottenarbeitern, wodurch Jobs GPU-Container direkt ausführen können. docker run Viele GPU-Workloads, wie ComfyUI- und Stable Diffusion-Inferenzserver, werden als Container-Images ausgeliefert und erfordern Docker mit GPU-Passthrough. Container bieten auch eine saubere Möglichkeit, komplexe Abhängigkeitsstapel (CUDA, Python, anwendungsspezifische Bibliotheken) zu verpacken, ohne den Host zu belasten oder mit anderen Jobs in der Flotte in Konflikt zu geraten.

Das -Skript führt folgende Aktionen aus:

  1. Installiert Docker und startet den Dienst. dnf

  2. Fügt der docker Gruppe job-user hinzu, sodass Jobs Container ohne Sudo ausführen können.

  3. Installiert das NVIDIA Container Toolkit aus dem offiziellen Repository.

  4. Konfiguriert den Docker-Daemon für die Verwendung der NVIDIA-Laufzeit.

  5. Generiert die CDI-Spezifikation (Container Device Interface) für den GPU-Zugriff.

  6. Startet Docker neu und überprüft das Setup.

Auf dem Flotten-AMI müssen bereits NVIDIA-GPU-Treiber installiert sein, die Deadline Cloud-GPU-AMIs bereitstellen, und die Flotte muss einen GPU-Instance-Typ wieg6.xlarge, g6e.xlarge oder verwenden. p4d.24xlarge

Sobald die Host-Konfiguration ausgeführt wurde, können Jobs GPU-Container starten. Im folgenden Beispiel wird ein Container mit GPU-Zugriff, Host-Netzwerk und den standardmäßigen nutzungsabhängigen Lizenzumgebungsvariablen von Deadline Cloud ausgeführt:

docker run --rm \ --runtime=nvidia \ --gpus all \ --network host \ -e ADSKFLEX_LICENSE_FILE \ -e FLEXLM_TIMEOUT \ -e foundry_LICENSE \ -e PIXAR_LICENSE_FILE \ -e g_licenseServerRLM \ -e redshift_LICENSE \ -e SESI_LMHOST \ -e VRAY_AUTH_CLIENT_FILE_PATH \ -e VRAY_AUTH_CLIENT_SETTINGS \ your-image:latest