Planeamiento de la aceleración de GPU en Windows Server

Se aplica a: Windows Server 2022, Windows Server 2016, Microsoft Hyper-V Server 2016, Windows Server 2019, Microsoft Hyper-V Server 2019

En este artículo se presentan las funcionalidades de virtualización de gráficos disponibles en Windows Server.

Cuándo se usa la aceleración de GPU

Si la carga de trabajo es elevada, es posible que convenga usar la aceleración de GPU. Esto es lo que debe tener en cuenta antes de elegir la aceleración de GPU:

  • Cargas de trabajo de comunicación remota de escritorios y de aplicaciones (VDI/DaaS): si va a compilar un comunicación remota de escritorios y de aplicaciones con Windows Server, tenga en cuenta el catálogo de aplicaciones que espera que los usuarios ejecuten. Varios tipos de aplicaciones, como las aplicaciones CAD/CAM, las aplicaciones de simulación, los juegos y las aplicaciones de representación y visualización, dependen en gran medida de la representación 3D para ofrecer una interactividad fluida y una buena respuesta. La mayoría de los clientes consideran que las GPU son una necesidad para tener una experiencia de usuario razonable con estos tipos de aplicaciones.
  • Cargas de trabajo de representación remota, codificación y visualización: estas cargas de trabajo orientadas a gráficos suelen depender considerablemente de las funcionalidades especializadas de una GPU, como una representación 3D eficaz y la codificación y descodificación de fotogramas, para lograr los objetivos de rendimiento y rentabilidad. En el caso de este tipo de carga de trabajo, el rendimiento de una sola máquina virtual habilitada para GPU puede equivaler al de muchas máquinas solo con CPU.
  • Cargas de trabajo de HPC y ML: para cargas de trabajo computacionales con gran paralelismo de datos, como el entrenamiento o la inferencia de modelos de aprendizaje automático y de procesos de alto rendimiento, las GPU pueden reducir considerablemente el tiempo necesario para obtener resultados, el tiempo de inferencia y el tiempo de entrenamiento. Como alternativa, pueden ofrecer una mayor rentabilidad que las arquitecturas solo con CPU en un nivel de rendimiento comparable. Muchos marcos de aprendizaje automático y HPC tienen una opción para habilitar la aceleración de GPU; piense si esto podría beneficiar a una carga de trabajo específica.

Virtualización de GPU en Windows Server

Las tecnologías de virtualización de GPU permiten la aceleración de GPU en un entorno virtualizado y normalmente se produce dentro de las máquinas virtuales. Si la carga de trabajo está virtualizada con Hyper-V, será preciso emplear la virtualización de gráficos para proporcionar aceleración de GPU desde la GPU física a las aplicaciones o servicios virtualizados. Sin embargo, si la carga de trabajo se ejecuta directamente en hosts físicos de Windows Server, no es preciso realizar la virtualización de gráficos, ya que tanto las aplicaciones como los servicios ya tienen acceso a las funcionalidades de GPU y a las API compatibles de forma nativa en Windows Server.

Las siguientes tecnologías de virtualización de gráficos están disponibles para las máquinas virtuales de Hyper-V en Windows Server:

Además de las cargas de trabajo de máquina virtual, Windows Server también admite la aceleración de GPU de las cargas de trabajo en contenedores en Windows. Para más información, consulte Aceleración de GPU en contenedores de Windows.

Asignación de dispositivos discreta (DDA)

La asignación de dispositivos discreta (DDA), también conocida como paso a través de GPU, permite dedicar una o varias GPU físicas a una máquina virtual. En las implementaciones de DDA, las cargas de trabajo virtualizadas se ejecutan en el controlador nativo y normalmente tienen acceso total a la funcionalidad de la GPU. DDA ofrece el mayor nivel de compatibilidad de aplicaciones y rendimiento potencial. DDA también puede proporcionar aceleración de GPU a máquinas virtuales Linux, siempre que haya compatibilidad.

Una implementación de DDA solo puede acelerar un número limitado de máquinas virtuales, ya que cada GPU física no puede proporcionar aceleración a más de una máquina virtual. Si va a desarrollar un servicio cuya arquitectura admita máquinas virtuales compartidas, considere la posibilidad de hospedar varias cargas de trabajo aceleradas por máquina virtual. Por ejemplo, si va a crear un servicio de comunicación remota de escritorio con RDS, puede mejorar la escala de usuarios si aprovecha las funcionalidades de sesión múltiple de Windows Server para hospedar varios escritorios de usuario en cada máquina virtual. Estos usuarios compartirán las ventajas de la aceleración de GPU.

Para más información, consulte los temas siguientes:

RemoteFX vGPU

Nota

Debido a los problemas de seguridad, vGPU de RemoteFX está deshabilitado de manera predeterminada en todas las versiones de Windows a partir de la actualización de seguridad del 14 de julio de 2020, y se quitó a partir de la actualización de seguridad del 13 de abril de 2021. Para obtener más información, consulte KB 4570006.

RemoteFX vGPU es una tecnología de virtualización de gráficos que permite compartir una GPU física entre varias máquinas virtuales. En las implementaciones de RemoteFX vGPU, las cargas de trabajo virtualizadas se ejecutan en el adaptador RemoteFX 3D de Microsoft, que coordina las solicitudes de procesamiento de GPU entre el host y los invitados. RemoteFX vGPU es muy adecuado para trabajadores de conocimiento y cargas de trabajo de ráfagas elevadas en las que no se requieren recursos de GPU dedicados. RemoteFX vGPU solo puede proporcionar aceleración de GPU a máquinas virtuales Windows.

Para más información, consulte los temas siguientes:

Comparación de DDA y RemoteFX vGPU

Tenga en cuenta las siguientes diferencias de funcionalidades y soporte técnico entre las tecnologías de virtualización de gráficos al planear la implementación:

Descripción RemoteFX vGPU Asignación discreta de dispositivos
Modelo de recurso de GPU Dedicado o compartido Solo dedicado
Densidad de máquinas virtuales Alta (una o varias GPU para muchas máquinas virtuales) Baja (una o varias GPU para un máquina virtual)
Compatibilidad de aplicaciones DX 11.1, OpenGL 4.4, OpenCL 1.1 Todas las funcionalidades de GPU proporcionadas por el proveedor (DX 12, OpenGL, CUDA)
AVC444 Habilitado de forma predeterminada Disponible a través de directiva de grupo
VRAM de GPU Hasta 1 GB de VRAM dedicada Hasta la VRAM que admita la GPU
Velocidad de fotogramas Hasta 30 fps Hasta 60 fps
Controlador de GPU en invitado Controlador de pantalla de adaptador 3D de RemoteFX (Microsoft) Controlador del proveedor de GPU (Nvidia, AMD o Intel)
Compatibilidad con sistema operativo de invitado Windows Server 2016 Windows Server 2016 y Windows Server 2019
Compatibilidad con sistema operativo de invitado Windows Server 2012 R2; Windows Server 2016; Windows 7 SP1; Windows 8.1 y Windows 10 Windows Server 2012 R2; Windows Server 2016; Windows Server 2019 R2; Windows 10 y Linux
Hipervisor Microsoft Hyper-V Microsoft Hyper-V
Hardware de GPU GPU de la empresa (como Nvidia Quadro/GRID o AMD FirePro) GPU de la empresa (como Nvidia Quadro/GRID o AMD FirePro)
Hardware del servidor No hay requisitos especiales Servidor moderno, expone IOMMU al sistema operativo (normalmente hardware compatible con SR-IOV)