NVIDIA hace la transición completa a módulos del kernel de GPU Linux de código abierto
(developer.nvidia.com)- NVIDIA publicó como código abierto los módulos del kernel de GPU para Linux en mayo de 2022 con el driver R515, bajo licencia dual GPL y MIT
- En ese momento estaban dirigidos a las GPU de cómputo para centros de datos, y las GPU GeForce y Workstation estaban en estado alfa
- NVIDIA anunció que en lanzamientos posteriores ofrecería soporte para Linux más sólido y completo para GeForce y Workstation, y que sus módulos abiertos del kernel eventualmente reemplazarían al driver cerrado
- Dos años después, ya se alcanzó un rendimiento de aplicaciones igual o mejor con los módulos del kernel de GPU de código abierto, además de sumar importantes funciones nuevas como:
- Soporte para Heterogeneous Memory Management (HMM)
- Computación confidencial
- Arquitectura de memoria coherente en la plataforma Grace
- Y más
- Ahora es el momento adecuado para hacer la transición completa a los módulos del kernel de GPU de código abierto, y NVIDIA planea aplicar este cambio en el próximo lanzamiento del driver R560
GPU compatibles
- No todas las GPU son compatibles con los módulos del kernel de GPU de código abierto
- Las plataformas más recientes, como NVIDIA Grace Hopper o NVIDIA Blackwell, deben usar obligatoriamente los módulos del kernel de GPU de código abierto, y el driver propietario no está soportado en esas plataformas
- Para las GPU nuevas con arquitecturas Turing, Ampere, Ada Lovelace y Hopper, se recomienda migrar a los módulos del kernel de GPU de código abierto
- Las GPU más antiguas con arquitecturas Maxwell, Pascal y Volta no son compatibles con los módulos del kernel de GPU de código abierto, por lo que deben seguir usando el driver propietario de NVIDIA
- En despliegues donde conviven GPU antiguas y nuevas en el mismo sistema, se debe seguir usando el driver propietario
- NVIDIA ofrece un nuevo script asistente de detección para orientar sobre qué driver elegir. Para más información, consulta la sección "Uso del script asistente de instalación" más adelante en esta publicación
Cambios en el instalador
- En general, la versión predeterminada del driver instalada por todos los métodos de instalación está cambiando del driver propietario al driver de código abierto. Hay algunos escenarios específicos que requieren atención especial:
- Administradores de paquetes con metapaquete de CUDA
- Archivo ejecutable
- Script asistente de instalación
- Detalles del administrador de paquetes
- Windows Subsystem for Linux
- CUDA Toolkit
Uso de administradores de paquetes con metapaquete de CUDA
- Al instalar CUDA Toolkit con un administrador de paquetes (no con un archivo run), existe un metapaquete de instalación que se usa normalmente. Al instalar el paquete superior
cuda, se instala una combinación del CUDA Toolkit y la versión del driver asociada
Uso de archivo ejecutable
- Si instalas CUDA o el driver de NVIDIA usando un archivo
.run, el instalador consultará el hardware e instalará automáticamente el driver más adecuado para el sistema. También es posible elegir entre el driver propietario y el de código abierto mediante una opción en la interfaz
Uso del script asistente de instalación
- Como se mencionó antes, si no estás seguro de qué driver elegir para las GPU de tu sistema, NVIDIA creó un script asistente que guía el proceso de selección
- Para usarlo, primero instala el paquete
nvidia-driver-assistantcon tu administrador de paquetes y luego ejecuta el script
Detalles del administrador de paquetes
- Para una experiencia consistente, NVIDIA recomienda usar un administrador de paquetes para instalar tanto CUDA Toolkit como el driver. Sin embargo, el sistema de gestión de paquetes o la estructura de paquetes específicos usados por distintas distribuciones pueden variar según cada una
- Esta sección explica los detalles concretos, precauciones o pasos de migración necesarios para distintas plataformas
Windows Subsystem for Linux
- Windows Subsystem for Linux (WSL) usa el driver del kernel de NVIDIA del sistema operativo Windows anfitrión. No se debe instalar un driver específico en esta plataforma. Si usas WSL, no necesitas hacer ningún cambio ni tomar ninguna acción
CUDA Toolkit
- La instalación de CUDA Toolkit no cambia cuando se hace mediante un administrador de paquetes. Basta con ejecutar el siguiente comando:
$ sudo apt-get/dnf/zypper install cuda-toolkit
Más información
- Para más detalles sobre cómo instalar el driver de NVIDIA o CUDA Toolkit, consulta la sección "Instalación del driver" de la guía de instalación de CUDA
Opinión de GN⁺
-
Que NVIDIA ofrezca como código abierto los módulos del kernel de GPU es un cambio muy positivo para el ecosistema de cómputo con GPU. Esto permitirá que usuarios y desarrolladores puedan depurar y resolver con mayor facilidad problemas relacionados con los drivers de GPU de NVIDIA
-
La transición al código abierto dará más flexibilidad y transparencia a quienes usan GPU de NVIDIA en áreas como HPC, IA y aprendizaje automático. En particular, puede ayudar a aliviar preocupaciones sobre seguridad y estabilidad al adoptar soluciones con GPU de NVIDIA en entornos empresariales
-
Aun así, durante la transición al código abierto pueden surgir problemas de compatibilidad con aplicaciones existentes basadas en el driver propietario. NVIDIA deberá presentar lineamientos claros y una ruta de migración definida para ello
-
También puede ser interesante compararlo con plataformas competidoras de cómputo con GPU de código abierto como ROCm de AMD. Se espera que la transición de NVIDIA al código abierto intensifique la competencia en el campo del cómputo con GPU
-
Hacia adelante, sería deseable que NVIDIA adopte activamente las contribuciones de la comunidad y siga mejorando el rendimiento y la estabilidad de los módulos del kernel de GPU de código abierto. Eso contribuirá a acelerar la masificación y la innovación en el cómputo con GPU
4 comentarios
Linus Torvalds: ¡NVIDIA! ¡Tac! ¡Cue!
Una sola palabra contundente... ¡M*erda..!
Podría ser jajaja
Opiniones de Hacker News
Recuerdo que hace unos años Nvidia sufrió un hackeo grave
El módulo de kernel de Nvidia está dividido en dos componentes
.runde Nvidia, el componente OS-agnostic se entrega como binarioCambié a AMD porque usar Sway y Wayland con Nvidia era demasiado difícil
Me pregunto cómo está actualmente la situación de los drivers de Nvidia en Linux
Nvidia hizo la transición completa a módulos de kernel GPU open source
Ojalá que este cambio haga más fácil instalar y actualizar los drivers de Nvidia en Linux
No tiene sentido que te avienten un tarball y te digan "¡ve por él!"
Como alguien escéptico que lee los detalles con cuidado, creo que este es un buen movimiento
Recuerdo cuando Linus miró a la cámara y mandó al diablo a Nvidia con el dedo medio
Que hayan aportado aunque sea el módulo del kernel sí tiene valor