11 puntos por GN⁺ 2024-07-18 | 4 comentarios | Compartir por WhatsApp
  • 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-assistant con 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

 
bbulbum 2024-07-18

Linus Torvalds: ¡NVIDIA! ¡Tac! ¡Cue!

 
halfenif 2024-07-19

Una sola palabra contundente... ¡M*erda..!

 
bbulbum 2024-07-18

Podría ser jajaja

 
GN⁺ 2024-07-18
Opiniones de Hacker News
  • Recuerdo que hace unos años Nvidia sufrió un hackeo grave

    • Los hackers amenazaron con publicar todos los datos si no abrían el código de los drivers
    • Es posible que al final los hackers hayan conseguido lo que querían
  • El módulo de kernel de Nvidia está dividido en dos componentes

    • Un componente "OS-agnostic" independiente del sistema operativo
    • Un componente "kernel interface layer" específico de la versión y configuración del kernel de Linux
    • Cuando viene incluido en el paquete de instalación .run de Nvidia, el componente OS-agnostic se entrega como binario
  • Cambié a AMD porque usar Sway y Wayland con Nvidia era demasiado difícil

    • El problema principal era un issue en gitlab.freedesktop.org que ahora ya está resuelto
  • Me pregunto cómo está actualmente la situación de los drivers de Nvidia en Linux

    • Armé una nueva desktop con una GPU de AMD
    • Quería evitar los problemas de los drivers de código cerrado o de los drivers open source insuficientes o desactualizados
  • Nvidia hizo la transición completa a módulos de kernel GPU open source

    • O Nvidia está en proceso de hacer 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

    • Resolver los desajustes de versión entre drivers, utilidades y el runtime de contenedores era una pesadilla
  • No tiene sentido que te avienten un tarball y te digan "¡ve por él!"

    • Seguiré comprando AMD hasta que realmente aporten el driver al kernel upstream
  • Como alguien escéptico que lee los detalles con cuidado, creo que este es un buen movimiento

    • No le veo desventajas, salvo la posibilidad de que refuerce la cultura propietaria de Nvidia
  • Recuerdo cuando Linus miró a la cámara y mandó al diablo a Nvidia con el dedo medio

    • Me pregunto si ese tiempo ya pasó, si ya es momento de reconciliarse o si todavía siguen existiendo problemas
  • Que hayan aportado aunque sea el módulo del kernel sí tiene valor

    • Pero probablemente no lo van a contribuir a upstream