noticias

NVIDIA anunció oficialmente un controlador integral de kernel de GPU de código abierto, que se actualizará a la versión más potente en dos años.La próxima generación de Blackwell es totalmente de código abierto

2024-07-18

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



  Nuevo informe de sabiduría

Editor: Yongyong
[Introducción a la Nueva Sabiduría]NVIDIA ha pasado por completo a los módulos de kernel de GPU de código abierto y la historia será testigo una vez más del poder del código abierto en la comunidad Linux.

¡NVIDIA anuncia su cambio completo a módulos de kernel GPU de código abierto!
Esta acción de código abierto es una continuación de la iniciativa de NVIDIA de hace dos años——Anuncio del módulo de controlador del kernel de GPU de Linux de código abierto en mayo de 2022
Este incidente provocó acaloradas discusiones en muchas comunidades e instituciones de código abierto en ese momento, y los internautas especularon que la razón detrás de la medida de Nvidia fue la presión de Linus Torwalds, el padre de Linux.
Dejando de lado las quejas del pasado, con el lanzamiento de la última serie de controladores NVIDIA 555 para Linux, el soporte para controladores de kernel de código abierto ha mejorado enormemente. NVIDIA publicó hoy una larga publicación en el blog para promocionarlo.
En esta publicación de blog, Nvidia explica sus módulos de kernel GPU de código abierto que han madurado durante los últimos dos años, así como sus características recientemente agregadas.
Vale la pena señalar que esta vez el código del controlador de código abierto todavía está fuera del núcleo principal.
Los internautas de Reddit compararon el enfoque "abierto, pero no completamente abierto" de Nvidia con una "cocina semiabierta". Resulta que el código abierto en realidad significa salsa abierta.
De todos modos, tener este soporte para el controlador del kernel de GPU de código abierto, incluso si su componente del controlador del espacio de usuario sigue siendo de código cerrado, es una victoria.

Cumplir la promesa hecha hace dos años

Hace 2 años, con el lanzamiento del controlador R515, NVIDIA lanzó un conjunto de módulos del kernel de GPU de Linux de código abierto, con licencias duales GPL y MIT.
El lanzamiento inicial está dirigido a GPU de computación de centros de datos, con GPU GeForce y de estaciones de trabajo en estado alfa.
En ese momento, Nvidia anunció que proporcionaría soporte más potente y completo para GeForce y estaciones de trabajo Linux en versiones posteriores, y que los módulos de kernel abiertos eventualmente reemplazarían a los controladores de código cerrado.
Ahora, la versión del controlador R560 está a punto de ser lanzada y NVIDIA ha decidido cumplir su promesa anterior en este momento: realizar una transición completa a los módulos del kernel GPU de código abierto.
El módulo del kernel de GPU de código abierto agrega una gran cantidad de características nuevas sin perder o incluso superar el rendimiento original:

- Soporte de gestión de memoria heterogénea (HMM)

- Computación confidencial

- Arquitectura de memoria consistente de la plataforma NVIDIA Grace

- Muchas otras características

GPU compatibles

Aunque se dice que hay un cambio integral hacia los módulos del kernel de GPU de código abierto, no todas las GPU son compatibles con los módulos del kernel de GPU de código abierto.
En términos generales, es compatible con productos nuevos y plataformas emblemáticas, pero no con GPU más antiguas.
Específicamente, para las dos plataformas insignia, Grace Hopper o Blackwell, solo se admiten módulos de kernel de GPU de código abierto y ya no se admiten controladores propietarios.
Para las GPU más antiguas con arquitectura Maxwell, Pascal o Volta, no son compatibles con los módulos del kernel de GPU de código abierto y deben seguir usando controladores propietarios.
Algunos internautas expresaron su pesar por esto——
Para las GPU más nuevas con arquitectura Turing, Ampere, Ada Lovelace o Hopper, NVIDIA recomienda cambiar al módulo de kernel de GPU de código abierto.
En el caso de una implementación mixta de GPU más antiguas y más nuevas en el mismo sistema, solo se admite el uso de controladores propietarios.

La comunidad de código abierto está esperando ansiosamente


¿Por qué los módulos del kernel GPU de código abierto de Nvidia resultan interesantes para los desarrolladores?
El controlador tiene dos partes, una parte se ejecuta en el espacio del usuario y la otra parte se ejecuta en el espacio del kernel. Los controladores de Nvidia solían ser completamente propietarios (a excepción de una capa de compensación que interactuaba directamente con el kernel).
Pero después de que Nvidia optó por el código abierto, los desarrolladores pueden leer, realizar ingeniería inversa, bifurcar, enviar solicitudes de extracción, etc., lo que les permite mejorar el controlador de código abierto y habilitar más funciones que antes.
Así nació NVK. Este es un controlador de código abierto desarrollado conjuntamente por Collabora, Red Hat y la comunidad para tarjetas gráficas NVIDIA. Su objetivo es convertirse en un controlador de tarjetas gráficas convencional.
NVK es la parte del espacio de usuario del controlador y se puede utilizar junto con Nouveau.
Nouveau es un antiguo controlador de código abierto que está en mal estado. Red Hat está desarrollando un nuevo controlador espacial del kernel, Nova, para reemplazar a Nouveau.
A medida que los esfuerzos de código abierto de NVIDIA se hacen cada vez más grandes y se realizan más contribuciones de la comunidad de código abierto, el potencial de NVK puede estimularse aún más y mejorarse continuamente agregando funciones adicionales y soporte de GPU.
Lo que pasa es que este proceso puede requerir suficiente “espera paciente”.
La pregunta es hasta dónde puede llegar Nvidia en su viaje de código abierto.
Después de analizar la motivación y la lógica del movimiento de Nvidia, algunos internautas llegaron a la conclusión de que el núcleo principal nunca será de código abierto. la razón es--
Los módulos de código abierto son necesarios porque el kernel de Linux se ha modificado para limitar los módulos que no son GPLv2, lo que causará muchos problemas a los controladores de Nvidia.
La solución es poner todo el código propietario en el firmware, mantenerlo propietario y hacer que el resto del controlador del kernel sea gratuito y de código abierto.
Ahora, Nvidia parece estar lista para abandonar los antiguos módulos de controladores propietarios y continuar usando módulos FOSS (software gratuito y de código abierto, software gratuito y de código abierto).
Pero eso no significa que estará en el kernel principal, en absoluto, ya que es una licencia compartida (MIT+GPLv2).
Algunos internautas expresaron dudas sobre el movimiento de NVIDIA, pensando que fue un movimiento forzado: los socios de la industria (como Red Hat) instan constantemente a NVIDIA y continúa recibiendo humillaciones por parte de la comunidad de código abierto. También puede deberse a la reducción de la cantidad de mantenimiento. para mantener las actualizaciones de la pila de controladores y las consideraciones para ejecutarlos en nuevos núcleos.
Un internauta que conoce bien el temperamento de Lao Huang sugirió que "NVIDIA siempre ha sido indiferente a las opiniones de sus socios". Esto debería estar relacionado con LLM, permitiendo que más códigos formen parte del conjunto de capacitación, permitiendo herramientas como ChatGPT/. Claude/Copilot para una mejor generación de código para las GPU NVIDIA.
De hecho, es difícil creer que a una de las empresas más valiosas del mundo realmente le importe la supuesta humillación y el sentimiento público. Debe estar ocupada utilizando el hardware de su centro de datos para imprimir dinero como loca.
Lo que realmente le importa a Nvidia es el crecimiento de mercados como Linux. Aunque el mercado de Linux aún es pequeño, está creciendo y adquiriendo más importancia en el espacio de las GPU no relacionadas con los juegos.
Referencias: