NVIDIA lance des modules de noyau GPU open source


NVIDIA publie maintenant des modules de noyau Linux GPU en open source avec une double licence GPL/MIT, à partir de la version du pilote R515. Vous pouvez trouver le code source de ces modules de noyau dans le référentiel NVIDIA Open GPU Kernel Modules sur GitHub. Cette version est une étape importante vers l'amélioration de l'expérience d'utilisation des GPU NVIDIA sous Linux, pour une intégration plus étroite avec le système d'exploitation et pour les développeurs à déboguer, intégrer, et contribuer en retour. Pour les fournisseurs de distribution Linux, les modules open-source augmentent la facilité d'utilisation.

Ils améliorent également l'expérience utilisateur prête à l'emploi pour signer et distribuer le pilote NVIDIA GPU. Canonical et SUSE sont en mesure de conditionner immédiatement les modules du noyau ouvert avec les distributions Ubuntu et SUSE Linux Enterprise. Les développeurs peuvent suivre les chemins de code et voir comment la planification des événements du noyau interagit avec leur charge de travail pour un débogage plus rapide des causes premières. En plus, les développeurs de logiciels d'entreprise peuvent désormais intégrer le pilote de manière transparente dans le noyau Linux personnalisé configuré pour leur projet.

Cela contribuera à améliorer davantage la qualité et la sécurité du pilote GPU NVIDIA grâce aux commentaires et aux avis de la communauté des utilisateurs finaux Linux.. À chaque nouvelle version de pilote, NVIDIA publie un instantané du code source sur GitHub. Les correctifs soumis par la communauté sont examinés et s'ils sont approuvés, intégré dans une future version du pilote.

Fonctionnalité prise en charge

La première version des modules de noyau GPU ouverts est R515. Avec le code source, des versions entièrement construites et packagées des pilotes sont fournies.

Pour les GPU de centre de données dans les familles d'architecture NVIDIA Turing et NVIDIA Ampere, ce code est prêt pour la production. Cela a été rendu possible par le déploiement progressif de l'architecture du pilote GSP au cours de l'année écoulée, conçu pour faciliter la transition pour les clients NVIDIA. Nous nous sommes concentrés sur les tests sur une grande variété de charges de travail pour garantir la parité des fonctionnalités et des performances avec le pilote propriétaire en mode noyau..

Dans l'avenir, des fonctionnalités telles que HMM seront un composant fondamental pour l'informatique confidentielle sur l'architecture NVIDIA Hopper.

Dans cette version open source, la prise en charge des GPU GeForce et Workstation est de qualité alpha. Les utilisateurs de GeForce et Workstation peuvent utiliser ce pilote sur les GPU d'architecture Turing et NVIDIA Ampere pour exécuter des ordinateurs de bureau Linux et utiliser des fonctionnalités telles que plusieurs écrans, Warhammer III., and NVIDIA RTX ray tracing in Vulkan and NVIDIA OptiX. Users can opt in using the kernel module parameter NVreg_EnableUnsupportedGpus as highlighted in the documentation. More robust and fully featured GeForce and Workstation support will follow in subsequent releases and the NVIDIA Open Kernel Modules will eventually supplant the closed-source driver.

Customers with Turing and Ampere GPUs can choose which modules to install. Pre-Turing customers will continue to run the closed source modules.

The open-source kernel-mode driver works with the same firmware and the same user-mode stacks such as CUDA, OpenGL, et Vulcain. Cependant, all components of the driver stack must match versions within a release. Par exemple, you cannot take a release of the source code, build, and run it with the user-mode stack from a previous or future release.

Reportez-vous au document README du pilote pour obtenir des instructions sur l'installation des bonnes versions et des étapes de dépannage supplémentaires.

Activation de l'installation

La version R515 contient des versions précompilées du pilote à code source fermé et des modules du noyau open source. Ces versions s'excluent mutuellement, et l'utilisateur peut faire le choix au moment de l'installation. L'option par défaut garantit que les installations silencieuses choisiront le chemin optimal pour NVIDIA Volta et les anciens GPU par rapport aux GPU Turing+..

Les utilisateurs peuvent créer des modules de noyau à partir du code source et les installer avec les pilotes en mode utilisateur appropriés.

Écosystème de partenaires

NVIDIA travaille avec Canonical, chapeau rouge, et SUSE pour un meilleur emballage, déploiement, et des modèles de soutien pour nos clients communs.

Canonique

“Les nouveaux modules de noyau GPU open source NVIDIA simplifieront les installations et augmenteront la sécurité pour les utilisateurs d'Ubuntu, s'il s'agit de développeurs IA/ML, joueurs, ou utilisateurs du cloud,” commente Cindy Goldberg, Vice-président des alliances silicium chez Canonical. “En tant que créateurs d'Ubuntu, le système d'exploitation basé sur Linux le plus populaire pour les développeurs, nous pouvons désormais fournir un support encore meilleur aux développeurs travaillant à la pointe de l'IA et du ML en permettant une intégration encore plus étroite avec les GPU NVIDIA sur Ubuntu.”

In the coming months, les modules du noyau NVIDIA Open GPU feront leur chemin dans le Canonical Ubuntu récemment lancé 22.04 C'EST.

SUSE

“Chez SUSE, nous sommes ravis que NVIDIA publie son pilote en mode noyau GPU en open source. Il s'agit d'une véritable étape importante pour la communauté open source et l'informatique accélérée. SUSE is proud to be the first major Linux distribution to deliver this breakthrough with SUSE Linux Enterprise 15 SP4 in June. Together, NVIDIA and SUSE power your GPU-accelerated computing needs across cloud, centre de données, and edge with a secure software supply chain and excellence in support.— Markus Noga, Directeur général, Business Critical Linux at SUSE

chapeau rouge

Enterprise open source can spur innovation and improve customers’ experience, something that Red Hat has always championed. We applaud NVIDIA’s decision to open source its GPU kernel driver. Red Hat has collaborated with NVIDIA for many years, and we are excited to see them take this next step. We look forward to bringing these capabilities to our customers and to improve interoperability with NVIDIA hardware.— Mike McGrath, Vice président, Linux Engineering at Red Hat

Upstream approach

NVIDIA GPU drivers have been designed over the years to share code across operating systems, GPUs and Jetson SOCs so that we can provide a consistent experience across all our supported platforms. The current codebase does not conform to the Linux kernel design conventions and is not a candidate for Linux upstream.

There are plans to work on an upstream approach with the Linux kernel community and partners such as Canonical, chapeau rouge, and SUSE.

En attendant,, published source code serves as a reference to help improve the Nouveau driver. Nouveau can leverage the same firmware used by the NVIDIA driver, exposing many GPU functionalities, such as clock management and thermal management, bringing new features to the in-tree Nouveau driver.

Frequently asked questions

Where can I download the R515 driver?

Vous pouvez télécharger le pilote de développement R515 dans le cadre de CUDA Toolkit 11.7, ou à partir de la page de téléchargement des pilotes sous “Beta” drivers. Le pilote de centre de données R515 suivra dans les versions ultérieures selon notre cadence habituelle.

Les modules de noyau GPU ouverts peuvent-ils être distribués?

Oui, les modules du noyau ouvert NVIDIA sont concédés sous une double licence GPL/MIT; et les termes des licences régissent les subventions de distribution et de reconditionnement.

La source des pilotes en mode utilisateur tels que CUDA sera-t-elle publiée?

Ces modifications concernent les modules du noyau; alors que les composants en mode utilisateur sont intacts. Ainsi, le mode utilisateur restera fermé et publié avec des binaires pré-construits dans le pilote et la boîte à outils CUDA.

Quels GPU sont pris en charge par les modules Open GPU Kernel?

Les modules de noyau ouverts prennent en charge tous les GPU Ampere et Turing. Les GPU de centre de données sont pris en charge pour la production, and support for GeForce and Workstation GPUs is alpha quality. Please refer to the Datacenter, NVIDIA RTX, and GeForce product tables for more details (Turing and above have compute capability of 7.5 ou plus grand).

How to report bugs

Problems can be reported through the GitHub repository issue tracker or through our existing end-user support forum. Please report security issues through the channels listed on the GitHub repository security policy.

What is the process for patch submission and SLA/CLA for patches?

We encourage community submissions through pull requests on the GitHub page. The submitted patches will be reviewed and if approved, integrated with possible modifications into a future driver release. Please refer to the NVIDIA driver lifecycle document.

The published source code is a snapshot generated from a shared codebase, so contributions may not be reflected as separate Git commits in the GitHub repo. We are working on a process for acknowledging community contributions. We also advise against making significant reformatting of the code for the same reasons.

The process for submitting pull requests is described on our GitHub page and such contributions are covered under the Contributor License Agreement.