NVIDIA passe entièrement aux modules de noyau GPU Linux open source
(developer.nvidia.com)- NVIDIA a publié en open source ses modules de noyau GPU Linux en mai 2022 avec le pilote R515, sous double licence GPL et MIT
- À l’époque, cela visait les GPU de calcul pour datacenter, tandis que les GPU GeForce et Workstation étaient encore au stade alpha
- NVIDIA avait alors annoncé que les versions suivantes apporteraient une prise en charge Linux plus robuste et plus complète pour GeForce et Workstation, et que les modules de noyau ouverts finiraient par remplacer le pilote propriétaire
- Deux ans plus tard, les modules de noyau GPU open source atteignent des performances applicatives équivalentes ou supérieures, tout en ajoutant d’importantes nouvelles fonctionnalités telles que :
- prise en charge de la gestion de mémoire hétérogène (HMM)
- confidential computing
- architecture mémoire cohérente de la plateforme Grace
- entre autres
- Le moment est désormais venu de passer entièrement aux modules de noyau GPU open source, et NVIDIA appliquera ce changement avec la prochaine version du pilote R560
GPU pris en charge
- Tous les GPU ne sont pas compatibles avec les modules de noyau GPU open source
- Les plateformes récentes comme NVIDIA Grace Hopper ou NVIDIA Blackwell doivent impérativement utiliser les modules de noyau GPU open source, les pilotes propriétaires n’y étant pas pris en charge
- Pour les GPU récents basés sur les architectures Turing, Ampere, Ada Lovelace et Hopper, il est recommandé de passer aux modules de noyau GPU open source
- Les GPU plus anciens basés sur les architectures Maxwell, Pascal et Volta ne sont pas compatibles avec les modules de noyau GPU open source et doivent donc continuer à utiliser le pilote propriétaire NVIDIA
- Dans les déploiements où anciens et nouveaux GPU coexistent sur un même système, il faut continuer à utiliser le pilote propriétaire
- NVIDIA fournit un nouveau script assistant de détection pour aider à choisir le bon pilote. Pour plus de détails, voir la section « Utilisation du script assistant d’installation » plus bas dans ce billet
Changements dans le programme d’installation
- De manière générale, la version de pilote installée par défaut par toutes les méthodes d’installation passe du pilote propriétaire au pilote open source. Quelques scénarios particuliers demandent toutefois une attention spécifique :
- gestionnaire de paquets avec métapaquet CUDA
- fichier exécutable
- script assistant d’installation
- détails du gestionnaire de paquets
- Windows Subsystem for Linux
- toolkit CUDA
Utilisation d’un gestionnaire de paquets avec métapaquet CUDA
- Lorsqu’on installe le toolkit CUDA avec un gestionnaire de paquets (et non via un fichier run), un métapaquet d’installation est généralement présent et utilisé. L’installation du paquet racine
cudainstalle à la fois le toolkit CUDA et la version de pilote associée
Utilisation d’un fichier exécutable
- Si CUDA ou le pilote NVIDIA est installé via un fichier
.run, l’installateur interroge le matériel et installe automatiquement le pilote le plus adapté au système. Il est aussi possible de choisir entre pilote propriétaire et pilote open source via un sélecteur dans l’interface
Utilisation du script assistant d’installation
- Comme indiqué plus haut, si vous ne savez pas quel pilote choisir pour les GPU de votre système, NVIDIA a créé un script assistant pour guider ce choix
- Pour l’utiliser, il suffit d’installer d’abord le paquet
nvidia-driver-assistantvia le gestionnaire de paquets, puis d’exécuter le script
Détails du gestionnaire de paquets
- Pour une expérience cohérente, NVIDIA recommande d’utiliser un gestionnaire de paquets pour installer le toolkit CUDA et les pilotes. Toutefois, les systèmes de gestion de paquets ou les structures de paquets propres aux différentes distributions peuvent varier selon la distribution
- Cette section présente les détails concrets, précautions ou étapes de migration nécessaires selon les différentes plateformes
Windows Subsystem for Linux
- Windows Subsystem for Linux (WSL) utilise le pilote de noyau NVIDIA du système hôte Windows. Aucun pilote spécifique ne doit être installé sur cette plateforme. Si vous utilisez WSL, aucun changement ni aucune action n’est nécessaire
Toolkit CUDA
- L’installation du toolkit CUDA ne change pas via le gestionnaire de paquets. Il suffit d’exécuter la commande suivante :
$ sudo apt-get/dnf/zypper install cuda-toolkit
Plus d’informations
- Pour plus de détails sur l’installation du pilote NVIDIA ou du toolkit CUDA, voir la section « Driver Installation » du guide d’installation CUDA
L’avis de GN⁺
-
Le passage de NVIDIA à des modules de noyau GPU open source constitue une évolution très positive pour l’écosystème du calcul GPU. Cela permettra aux utilisateurs et aux développeurs de déboguer et de résoudre plus facilement les problèmes liés aux pilotes GPU NVIDIA
-
Cette transition vers l’open source offrira davantage de flexibilité et de transparence aux utilisateurs qui exploitent les GPU NVIDIA dans des domaines comme le HPC, l’IA et le machine learning. Dans les environnements d’entreprise, cela devrait notamment aider à atténuer les inquiétudes liées à la sécurité et à la stabilité lors de l’adoption de solutions GPU NVIDIA
-
Cela dit, des problèmes de compatibilité peuvent apparaître pendant la transition avec les applications existantes basées sur les pilotes propriétaires. NVIDIA devra fournir des lignes directrices claires et un parcours de migration explicite
-
La comparaison avec des plateformes concurrentes de calcul GPU open source comme ROCm d’AMD pourrait aussi être un sujet intéressant. La transition open source de NVIDIA devrait intensifier la concurrence dans le domaine du calcul GPU
-
On peut espérer que NVIDIA accueillera activement les contributions de la communauté et continuera à améliorer les performances et la stabilité de ses modules de noyau GPU open source. Cela contribuera à accélérer la démocratisation et l’innovation dans le calcul GPU
4 commentaires
Linus Torvalds : NVIDIA ! Pan ! Cue !
Une formule choc.. F*ck.. !
Ça pourrait arriver, haha
Avis sur Hacker News
Je me souviens que Nvidia avait subi un piratage majeur il y a quelques années
Les modules du noyau de Nvidia sont divisés en deux composants
.run, le composant OS-agnostic est fourni sous forme binaireJ’ai basculé vers AMD parce qu’utiliser Sway et Wayland avec Nvidia était trop compliqué
Je me demande quelle est la situation actuelle des pilotes Nvidia sous Linux
Nvidia passe complètement aux modules GPU du noyau en open source
J’espère que ce changement facilitera l’installation et la mise à jour des pilotes Nvidia sous Linux
Balancer une tarball en disant « va la chercher ! » n’a aucun sens
En tant que sceptique qui lit attentivement les détails, je pense que c’est une bonne décision
Je me souviens de Linus regardant la caméra en adressant un doigt d’honneur à Nvidia
Le simple fait d’avoir fourni au moins les modules du noyau a du sens