Compartir a través de


Aceleración de GPU en contenedores de Windows

Para muchas cargas de trabajo en contenedor, los recursos de proceso de CPU proporcionan un rendimiento suficiente. Sin embargo, para una determinada clase de carga de trabajo, la potencia de proceso paralela masiva que ofrecen las GPU (unidades de procesamiento de gráficos) puede acelerar las operaciones por órdenes de magnitud, lo que reduce el costo y mejora enormemente el rendimiento.

Las GPU ya son una herramienta común para muchas cargas de trabajo populares, desde la representación tradicional y la simulación hasta el entrenamiento e inferencia del aprendizaje automático. Los contenedores de Windows admiten la aceleración de GPU para DirectX y todos los marcos basados en él.

Nota

Esta característica está disponible en Docker Desktop, versión 2.1 y Motor de Docker: Enterprise, versión 19.03 o posterior.

Prerrequisitos

Para que esta característica funcione, el entorno debe cumplir los siguientes requisitos:

  • El host de contenedor debe ejecutar Windows Server 2019 o Windows 10, versión 1809 o posterior.
  • La imagen base del contenedor debe ser mcr.microsoft.com/windows:1809 o posterior. Actualmente no se admiten imágenes de contenedor de Windows Server Core y Nano Server.
  • El host de contenedor debe ejecutar Docker Engine 19.03 o posterior.
  • El host de contenedor debe tener una GPU que ejecute controladores de pantalla versión WDDM 2.5 o posterior.

Para comprobar la versión de WDDM de los controladores de pantalla, ejecute directX Diagnostic Tool (dxdiag.exe) en el host del contenedor. En la pestaña "Pantalla" de la herramienta, busque en la sección "Controladores" como se indica a continuación.

Captura de pantalla del modelo de controlador que se encuentra en la pestaña Mostrar.

Ejecución de un contenedor con aceleración de GPU

Para iniciar un contenedor con aceleración de GPU, ejecute el siguiente comando:

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

Importante

DirectX (y todos los marcos basados en él) son las únicas API que se pueden acelerar con una GPU en la actualidad. No se admiten marcos de terceros.

Compatibilidad con contenedores de Windows con aislamiento de Hyper-V

Actualmente no se admite la aceleración de GPU para cargas de trabajo en contenedores de Windows aislados de Hyper-V.

Compatibilidad con contenedores de Linux con aislamiento de Hyper-V

Actualmente no se admite la aceleración de GPU para cargas de trabajo en contenedores de Linux aislados de Hyper-V.

Más información

Para obtener un ejemplo completo de una aplicación DirectX en contenedor que aprovecha la aceleración de GPU, consulte ejemplo de contenedor de DirectX.