Aceleración de GPU para sistemas operativos de servidor Windows

HDX 3D Pro permite que las aplicaciones con muchos gráficos que se ejecutan en sesiones de sistema operativo de servidor Windows se representen en la unidad de procesamiento de gráficos (GPU) del servidor. Al trasladar la representación de los gráficos de OpenGL, DirectX, Direct3D y Windows Presentation Foundation (WPF) a la unidad de procesamiento de gráficos (GPU) del servidor, la CPU del servidor no se ve ralentizada. Además, el servidor es capaz de procesar más gráficos, dado que la carga de trabajo se divide entre la CPU y la GPU.

Como Windows Server es un sistema operativo multiusuario, una GPU a la que se accede mediante XenApp se puede compartir entre varios usuarios sin necesidad de virtualización de GPU (vGPU).

Para las instrucciones que impliquen modificar el Registro, tenga cuidado: si lo modifica de forma incorrecta, pueden producirse problemas graves que pueden requerir la reinstalación del sistema operativo. Citrix no puede garantizar que los problemas derivados de la utilización inadecuada del Editor del Registro puedan resolverse. Si utiliza el Editor del Registro, será bajo su propia responsabilidad. Haga una copia de seguridad del Registro antes de modificarlo.

Compartir GPU

El uso compartido de GPU permite la generación por hardware de GPU de aplicaciones OpenGL y DirectX en las sesiones de escritorio remoto, y tiene las características siguientes:

  • Se puede usar en máquinas físicas o virtuales para aumentar el rendimiento y la escalabilidad de las aplicaciones.
  • Permite que varias sesiones simultáneas compartan los recursos de la GPU (la mayoría de los usuarios no necesitan el rendimiento de generación de gráficos que da una GPU dedicada).
  • No necesita ninguna configuración especial.

Se pueden instalar varias GPU en un hipervisor y asignar VM a cada una de estas GPU individualmente, ya sea mediante la instalación de una tarjeta gráfica con más de una GPU, o bien, mediante la instalación de varias tarjetas gráficas con una o más GPU cada una. No se recomienda combinar tarjetas gráficas heterogéneas en un servidor.

Las máquinas virtuales requieren acceso de PassThrough directo a una GPU, que está disponible con Citrix XenServer, VMware vSphere vDGA e Intel GVT-d. Cuando se usa HDX 3D Pro junto con la función GPU Passthrough, cada GPU en el servidor da respaldo a una máquina virtual con varios usuarios.

El uso compartido de GPU no depende de ninguna tarjeta gráfica específica.

  • Al ejecutar en un hipervisor, seleccione una plataforma de hardware y tarjetas gráficas que sean compatibles con la implementación de la función GPU Passthrough del hipervisor. La lista de hardware que ha aprobado la certificación con XenServer GPU PassThrough se encuentra disponible en Dispositivos de GPU PassThrough.
  • Cuando se ejecuta directamente sobre el hardware (“bare metal”) se recomienda contar con un único adaptador de pantalla habilitado por el sistema operativo. Si hay varias GPU instaladas en el hardware, inhabilite todas menos una usando el Administrador de dispositivos.

La escalabilidad mediante el uso compartido de GPU depende de varios factores:

  • Las aplicaciones que se ejecuten
  • La cantidad de memoria RAM de vídeo que consuman
  • La capacidad de procesamiento de la tarjeta gráfica

Algunas aplicaciones administran la falta de memoria RAM de vídeo mejor que otras. Si el hardware se vuelve extremadamente sobrecargado, esto puede provocar inestabilidad o incluso el bloqueo del controlador de la tarjeta gráfica. Limite el número de usuarios simultáneos para evitar esos problemas.

Para confirmar que está teniendo lugar la aceleración por GPU, use una herramienta de terceros, como GPU-Z. GPU-Z está disponible en https://www.techpowerup.com/gpuz/.

Presentación de DirectX, Direct3D y WPF

La presentación de DirectX, Direct3D y WPF está solo disponible en servidores con una GPU que admita una interfaz de control de presentación (DDI), versión 9ex, 10 u 11.

  • En Windows Server 2008 R2, DirectX y Direct3D no requieren ninguna configuración especial para usar una única GPU.
  • En Windows Server 2016 y Windows Server 2012, las sesiones de Servicios de Escritorio remoto (RDS) en el servidor host de sesión de Escritorio remoto usan el Controlador de representación básica de Microsoft como el adaptador predeterminado. Para usar la GPU en sesiones de RDS en Windows Server 2012, habilite la configuración Usar el adaptador de gráficos de hardware predeterminado para todas las sesiones de Servicios de Escritorio remoto en la directiva de grupo Directiva de equipo local > Configuración del equipo > Plantillas administrativas > Componentes de Windows > Servicios de Escritorio remoto > Host de sesión de Escritorio remoto > Entorno de sesión remota.
  • Para habilitar las aplicaciones WPF para que representen gráficos mediante la GPU del servidor, cree los siguientes parámetros en el Registro de Windows del servidor que ejecuta sesiones de SO de servidor Windows:
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Multiple Monitor Hook] “EnableWPFHook”=dword:00000001
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\ Multiple Monitor Hook] “EnableWPFHook”=dword:00000001

Aceleración de GPU para aplicaciones OpenCL o CUDA

La aceleración de GPU para aplicaciones OpenCL y CUDA que se ejecutan en una sesión de usuario está inhabilitada de forma predeterminada.

Para usar las funcionalidades POC de aceleración de CUDA, habilite los siguientes parámetros de Registro:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] “CUDA”=dword:00000001
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] “CUDA”=dword:00000001

Para usar las funcionalidades POC de aceleración de OpenCL, habilite los siguientes parámetros de Registro:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] “OpenCL”=dword:00000001
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] “OpenCL”=dword:00000001

Aceleración de GPU para sistemas operativos de servidor Windows