Con el controlador Game Ready más reciente, NVIDIA ha habilitado la compatibilidad beta de GPU Passthrough para máquinas virtuales de Windows en GPU GeForce. Antes del controlador 465.89, solo las tarjetas Quadro NVIDIA admitían la transferencia de GPU. Para los usuarios de Linux, esta tecnología permitirá jugar juegos solo de Windows en su VM; o, si es un desarrollador, puede probar más fácilmente el código de Windows y Linux desde una sola máquina, acelerando el desarrollo.
Con el controlador Game Ready más reciente, NVIDIA ha habilitado la compatibilidad beta de GPU Passthrough para máquinas virtuales de Windows en GPU GeForce. Antes del controlador 465.89, solo las tarjetas Quadro NVIDIA admitían la transferencia de GPU. Para los usuarios de Linux, esta tecnología permitirá jugar juegos solo de Windows en su VM; o, si es un desarrollador, puede probar más fácilmente el código de Windows y Linux desde una sola máquina, acelerando el desarrollo.
El paso de GPU se ha utilizado durante mucho tiempo y había formas de habilitarlo en las tarjetas gráficas GeForce; sin embargo, nunca fue apoyado oficialmente. Técnicamente hablando, la tecnología siempre ha estado disponible en el chip de silicio para GeForce, pero no estaba habilitada en los controladores, provocando el popular “error 43” en las máquinas virtuales de Windows. El uso de un truco de software ha sido posible durante mucho tiempo para habilitar el paso de GPU en las tarjetas GeForce de consumo y las capacidades de vGPU. Más sobre vGPU, en este artículo.
Controlador NVIDIA Game Ready 465.89
El 30 de marzo de este año, NVIDIA lanzó un nuevo Game Ready Driver, 465.89. Este controlador admite videojuegos nuevos y ofrece una solución para los problemas abiertos que se presentan en muchos otros juegos y aplicaciones. Sin embargo, algo particularmente emocionante sobre esta nueva versión se encuentra en Gaming Technology. Aquí, se han anunciado tres funciones de importación: BAR redimensionable de la serie GeForce RTX 30, soporte para OpenCL 3.0 y soporte beta para virtualización en GPU GeForce.
BAR de tamaño variable
BAR redimensionable permite que la CPU acceda a toda la memoria de un dispositivo PCIe a la vez, en lugar de la limitación anterior de 256 MB por ciclo. Smart Access Memory, SAM (término de AMD para la tecnología) fue anunciado el año pasado por la empresa y ya se ha implementado.
OpenCL 3.0
Se agregó soporte para OpenCL 3.0, la última versión principal de OpenCL que mantiene la compatibilidad con versiones anteriores de OpenCL 1.2. NVIDIA OpenCL 3.0 continúa admitiendo la funcionalidad OpenCL 1.2 existente y las extensiones de Khronos y proveedores que ya son compatibles con los controladores NVIDIA OpenCL 1.2.
Soporte Beta para virtualización en GPU GeForce.
Además, a partir de este controlador, NVIDIA ha habilitado el paso de GPU (no vGPU, también conocido como SR-IOV para compartir GPU) en todas las tarjetas gráficas GeForce basadas en la arquitectura Kepler y más nuevas para máquinas virtuales Windows. Esta es la tecnología en la que nos estamos centrando en este artículo. Aunque la barra de tamaño variable era una de las funciones más esperadas por la nueva generación de RTX y los jugadores, la virtualización en las GPU GeForce era la adición más esperada por los usuarios de Linux y "HomeLabers".
Compatibilidad con la versión beta de la máquina virtual de Windows para GeForce
Si es principalmente un usuario de Linux, ahora puede habilitar el paso de GPU GeForce en una máquina virtual (VM) de Windows. La transferencia de GPU de NVIDIA solo estaba reservada para GPU empresariales o de clase de estación de trabajo. La empresa no permitía que los clientes de GeForce usaran esta tecnología en una VM de Windows que se ejecutaba en sus computadoras de consumo. Sin embargo, muchos clientes en realidad usaban tarjetas GeForce como GPU para estaciones de trabajo.
En las tarjetas de consumo, el silicio nunca fue un problema con el paso de GPU; fue el software (controlador) el que bloqueó a los usuarios. Anteriormente, para usar GPU passthrough, los usuarios tenían que gastar una cantidad considerable de dinero en una tarjeta NVIDIA Tesla o Quadro. La compatibilidad con GPU passthrough beta para GeForce es una victoria significativa para aquellos que desean ejecutar juegos de Windows desde una máquina virtual mientras mantienen su host Linux (físico) y usan una tarjeta gráfica GeForce.
El objetivo principal de esta tecnología son los usuarios de Linux que desean realizar múltiples tareas en aplicaciones exigentes de GPU. Hay algunos casos de uso de GeForce en los que esta funcionalidad es beneficiosa, como:
- Clientes de GeForce que desean ejecutar un host Linux y poder iniciar una máquina virtual (VM) de Windows para jugar
- Desarrolladores de juegos que desean probar código en Windows y Linux en una máquina
La virtualización GeForce (beta) es compatible con controladores R465 o superiores. Está habilitado en todas las GPU GeForce/TITAN compatibles con este controlador (Kepler y posteriores para computadoras de escritorio; Maxwell y posteriores para computadoras portátiles) en Windows. Windows 10 es el único sistema operativo invitado compatible con esta configuración de virtualización de GeForce.
Con GeForce GPU Passthrough, no puede aprovechar la misma GPU utilizada por el sistema operativo anfitrión para la virtualización. Se requiere una GPU para el sistema operativo host de Linux y una GPU para la máquina virtual de Windows. Además, es importante recordar que el paso de GPU solo admite una máquina virtual. vGPU (SR-IOV) o GPU Passthrough compartida para varias máquinas virtuales no son compatibles con GeForce. Suponga que desea permitir que varias máquinas virtuales tengan acceso directo a una sola GPU o desea que la GPU asigne funciones virtuales a varias máquinas virtuales. En ese caso, deberá usar una estación de trabajo o GPU empresariales.
Error de transferencia de GPU: Código 43
Si alguna vez intentó ejecutar una VM de Windows desde una máquina Linux, antes de Game Ready Driver 465.89, los controladores en el sistema operativo invitado devolverían el popular "Código 43". Este error solo apareció en el sistema operativo Windows (invitado) cuando el controlador GeForce detectó que el sistema operativo se estaba ejecutando en una máquina virtual. La compatibilidad con la virtualización en las GPU GeForce significa que ya no tendrá que ocultar su máquina virtual; los controladores se pueden instalar y este código de error debería desaparecer.
También está perfectamente bien mencionar que NVIDIA diseñó deliberadamente este código de error para las tarjetas gráficas GeForce. No se manifiesta en las GPU Tesla y Quadro, las tarjetas de nivel empresarial de la compañía. La razón es que NVIDIA ciertamente necesita separar a los consumidores del segmento de nivel empresarial. Algunas funciones empresariales no tienen mucho sentido para las tarjetas de video de consumo (de menor rendimiento), pero habilitar algunas de ellas resultaría en una pérdida de ventas significativa para las tarjetas empresariales (costosas) de NVIDIA.
Transferencia de GPU frente a vGPU
Muchos usuarios todavía están confundidos acerca de GPU Passthrough y las capacidades técnicas que ofrece NVIDIA. Es importante revisar qué es y qué no es la virtualización en GPU GeForce. El término GPU Passthrough puede sonar bastante obvio para muchos entusiastas de GPU; sin embargo, generalmente se confunde con NVIDIA virtual GPU (vGPU).
Tanto GPU Passthrough como vGPU son tecnologías utilizadas desde hace mucho tiempo para soluciones de virtualización empresarial como VMware ESXi y Servidor Citrix Xen. Y para las GPU Tesla y Quadro. En VMware ESXi, GPU Passthrough se denomina aceleración gráfica virtual dedicada (vDGA) y vGPU se denomina aceleración virtual de gráficos compartidos (vSGA). vGPU permite que las GPU de nivel empresarial se compartan en varios escritorios virtuales.
VMware ofrece una tercera opción llamada Aceleración de gráficos de transferencia virtual compartida. Esta tecnología permite compartir una GPU con varios usuarios en lugar de centrarse en un solo usuario. La diferencia con vGPU (vSGA en VMware) es que no se utiliza el controlador 3D patentado de VMware y se admiten la mayoría de las funciones de la tarjeta gráfica. Recuerde que con GPU Passthrough en tarjetas GeForce, no puede permitir que varias máquinas virtuales tengan acceso directo a una sola GPU, ni la GPU puede asignar funciones virtuales a varias máquinas virtuales.
La infraestructura de escritorio virtual (VDI) es el mejor ejemplo y escenario para usar estas tecnologías de GPU. Las soluciones de VDI aprovechan la virtualización al crear rápidamente cientos de clones de máquinas virtuales que se ejecutan en un único servidor o clúster potente. La mayoría de las veces, vGPU es la mejor opción para los usuarios que requieren todo el potencial de la GPU durante períodos breves. Sin embargo, vGPU puede crear cuellos de botella, según las aplicaciones que se utilicen y los recursos que estas aplicaciones necesiten de la GPU. vGPU generalmente se usa para trabajadores del conocimiento y, ocasionalmente, para usuarios avanzados. Hoy en día, planificar soluciones VDI sin reconocer vGPU se considera un acto negligente.
Nvidia vGPU pirateada para tarjetas GeForce
Incluso con GPU Passthrough habilitado en los controladores NVIDIA más recientes, los usuarios de GeForce aún no tienen (oficialmente) la capacidad de compartir GPU en múltiples escritorios virtuales. Para vGPU, deberá usar GPU empresariales NVIDIA Tesla, Quadro o RTX. Entonces, no puedes engañar a NVIDIA en este caso, ¿o sí?
Hace un par de meses, se reveló un desbloqueo de la funcionalidad vGPU para GPU de nivel de consumidor. Esta herramienta permite el uso de GPU GeForce y Quadro con el software NVIDIA vGPU. NVIDIA vGPU normalmente solo admite algunas GPU Tesla, pero dado que algunas GPU GeForce y Quadro comparten el mismo chip físico que Tesla, esto es solo una limitación de software para esas GPU. Esta herramienta tiene como objetivo eliminar esta limitación.
La herramienta y las instrucciones están disponibles en https://github.com/DualCoder/vgpu_unlock.
Reflexiones Finales:
NVIDIA finalmente ha decidido eliminar el bloqueo que tenían arbitrariamente en las tarjetas GeForce. Antes del lanzamiento del controlador 465.89 de NVIDIA, cuando el sistema operativo invitado detectaba una máquina virtual, el controlador se deshabilitaba dentro de Windows y Linux. Con la virtualización habilitada, los clientes de GeForce en una PC anfitriona con Linux ahora pueden habilitar el paso de GPU GeForce en un sistema operativo invitado virtual de Windows.
Técnicamente hablando, el soporte para virtualización en GeForce GPU no es una versión beta; pero más como NVIDIA simplemente marcando una casilla para desbloquear una función que existe desde hace mucho tiempo. Sin embargo, GPU Passthrough todavía está limitado a una sola instancia de GPU, lo que significa que solo una máquina virtual tendrá acceso a la tarjeta gráfica exclusivamente.
En cuanto a vGPU, desafortunadamente, a menos que se vuelva completamente empresarial, NVIDIA aún no admite compartir una GPU con varias máquinas virtuales, de la misma manera que lo hace un fabricante de CPU. Si el usuario necesita más máquinas virtuales para acceder a la misma GPU, se requerirán tarjetas gráficas Tesla o Quadro. Pero esto podría estar sujeto a cambios como transferencia de GPU. Actualmente, hay disponible un truco de software para probar las capacidades de vGPU, pero, por supuesto, su soporte no es oficial.
Interactuar con StorageReview
Boletín informativo | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed