View a markdown version of this page

Ejecute contenedores Docker con GPU de NVIDIA en trabajadores de Deadline Cloud - Deadline Cloud

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecute contenedores Docker con GPU de NVIDIA en trabajadores de Deadline Cloud

El script de configuración del host docker_nvidia_container_toolkit del GitHub sitio web instala Docker y el NVIDIA Container Toolkit en los trabajadores de flotas gestionadas por servicios de Linux, lo que permite a Jobs ejecutar contenedores de GPU directamente con ellos. docker run Muchas cargas de trabajo de GPU, como los servidores de inferencia ComfyUI y Stable Diffusion, se envían como imágenes de contenedor y requieren Docker con acceso directo a la GPU. Los contenedores también proporcionan una forma limpia de empaquetar pilas de dependencias complejas (CUDA, Python, bibliotecas específicas de aplicaciones) sin contaminar el host ni entrar en conflicto con otras tareas de la flota.

El script hace lo siguiente:

  1. Instala Docker directamente e inicia el servicio. dnf

  2. Se suma job-user al docker grupo para que Jobs pueda ejecutar contenedores sin problemas.

  3. Instala el NVIDIA Container Toolkit desde el repositorio oficial.

  4. Configura el daemon de Docker para que utilice el motor de ejecución de NVIDIA.

  5. Genera la especificación CDI (interfaz de dispositivo de contenedor) para el acceso a la GPU.

  6. Reinicia Docker y verifica la configuración.

La AMI de la flota debe tener ya instalados los controladores de GPU de NVIDIA, que son los que proporcionan las AMI de GPU de Deadline Cloud, y la flota debe usar un tipo de instancia de GPUg6.xlarge, como, g6e.xlarge o. p4d.24xlarge

Una vez ejecutada la configuración del host, los trabajos pueden lanzar contenedores de GPU. En el siguiente ejemplo, se ejecuta un contenedor al que se han pasado las variables de entorno de licencias estándar basadas en el uso de Deadline Cloud, el acceso a la GPU, la red del host y las variables de entorno de licencias estándar basadas en el uso:

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