Nvidia est une société multinationale et technologique américaine qui conçoit et fournit des processeurs graphiques (GPU). La gamme professionnelle de GPU de Nvidia est utilisée pour l'informatique de bout en bout et dans les superordinateurs et les stations de travail pour des applications dans différents domaines. Outre la conception et la fabrication de GPU, Nvidia fournit la plateforme logicielle et l'API CUDA qui permettent la création de programmes massivement parallèles utilisant les GPU.
Jusqu'à 2013, Nvidia n'avait publié aucune documentation sur son matériel avancé, ce qui signifie que les programmeurs ne pouvaient pas écrire de pilote de périphérique open source et gratuit pour ses produits. Cette nature propriétaire des pilotes de Nvidia a suscité le mécontentement des communautés de logiciels open source.
Avec le pilote R515, NVIDIA a publié en mai 2022 un ensemble de modules de noyau GPU Linux en open source sous double licence GPL et MIT. La version initiale ciblait les GPU de calcul des centres de données, avec les GPU GeForce et les stations de travail dans un état alpha. À l'époque, NVIDIA avait annoncé qu'un support Linux plus robuste et plus complet pour les GeForce et les stations de travail suivrait dans les versions suivantes et que les modules NVIDIA Open Kernel finiraient par supplanter le pilote à code source fermé.
Les GPU NVIDIA partagent une architecture de pilotes et un ensemble de capacités communs. Le même pilote pour votre ordinateur de bureau ou portable fait tourner les charges de travail d'IA les plus avancées du monde dans le cloud. Il était important de parvenir à un résultat parfait.
Deux ans plus tard, NVIDIA annonce avoir obtenu des performances applicatives équivalentes ou supérieures avec ses modules de noyau GPU open source et ajouté de nouvelles capacités substantielles :
- Prise en charge de la gestion de la mémoire hétérogène (HMM)
- Calcul confidentiel
- Les architectures de mémoire cohérentes des plateformes Grace
- Et bien plus encore
Ainsi, NVIDIA annonce être arrivé à un point où la transition complète vers les modules GPU kernel open source est la bonne décision, et elle effectue ce changement dans la prochaine version du pilote R560.
GPU pris en charge
Tous les GPU ne sont pas compatibles avec les modules open source du noyau GPU. Pour les plates-formes de pointe telles que NVIDIA Grace Hopper ou NVIDIA Blackwell, vous devez utiliser les modules de noyau GPU open source. Les pilotes propriétaires ne sont pas pris en charge sur ces plateformes. Pour les GPU plus récents des architectures Turing, Ampere, Ada Lovelace ou Hopper, NVIDIA recommande de passer aux modules GPU kernel open source.
Pour les GPU plus anciens des architectures Maxwell, Pascal ou Volta, les modules GPU kernel open source ne sont pas compatibles avec votre plateforme. Continuez à utiliser le pilote propriétaire de NVIDIA. Pour les déploiements mixtes avec des GPU plus anciens et plus récents dans le même système, continuez à utiliser le pilote propriétaire.
En cas de doute, NVIDIA fournit un nouveau script d'aide à la détection pour vous guider dans le choix du pilote.
Changements dans l'installateur
En général, la version par défaut du pilote installé par toutes les méthodes d'installation passe du pilote propriétaire au pilote open source. Quelques scénarios spécifiques méritent une attention particulière :
- Les gestionnaires de paquets avec le métapackage CUDA
- Fichier d'exécution
- Script d'aide à l'installation
- Détails du gestionnaire de paquets
- Sous-système Windows pour Linux
- Boîte à outils CUDA
Utilisation des gestionnaires de paquets avec le métapackage CUDA
Lorsque vous installez CUDA Toolkit à l'aide d'un gestionnaire de paquets (et non du fichier .run), des métapaquets d'installation existent et sont couramment utilisés. En installant un paquetage cuda de premier niveau, vous installez une combinaison de CUDA Toolkit et de la version du pilote associé. Par exemple, en installant cuda pendant la période de publication de CUDA 12.5, vous obtenez le pilote propriétaire NVIDIA 555 ainsi que CUDA Toolkit 12.5.
La figure suivante illustre la structure de ce paquet.
Auparavant, l'utilisation des modules open source du noyau GPU signifiait que vous pouviez utiliser le métapackage de haut niveau. Vous deviez installer le paquetage ouvert du pilote NVIDIA spécifique à votre distro ainsi que le paquetage cuda-toolkit-X-Y de votre choix.
À partir de la version 12.6 de CUDA, le flux s'inverse.
Utilisation du fichier run
Si vous installez CUDA ou les pilotes NVIDIA à l'aide du fichier .run, le programme d'installation interroge votre matériel et installe automatiquement le pilote le mieux adapté à votre système. Des boutons de l'interface utilisateur sont également disponibles pour choisir entre le pilote propriétaire et le pilote open source, selon votre choix.
Si vous effectuez l'installation à l'aide du fichier .run CUDA et que vous utilisez l'interface utilisateur ncurses, un menu similaire à celui-ci s'affiche :
Si vous procédez à l'installation à l'aide du fichier .run du pilote, un choix similaire s'offre à vous.
Vous pouvez également passer des dérogations en utilisant la ligne de commande pour installer sans l'interface utilisateur ou si vous utilisez des outils d'automatisation tels qu'Ansible.
Code : | Sélectionner tout |
1 2 3 | # sh ./cuda_12.6.0_560.22_linux.run --override --kernel-module-type=proprietary # sh ./NVIDIA-Linux-x86_64-560.run --kernel-module-type=proprietary |
Utilisation du script d'aide à l'installation
Comme indiqué précédemment, si vous ne savez pas quel pilote choisir pour les GPU de votre système, NVIDIA a créé un script d'aide pour vous guider dans le processus de sélection.
Pour l'utiliser, installez d'abord le paquet nvidia-driver-assistant avec votre gestionnaire de paquets, puis exécutez le script :
Code : | Sélectionner tout |
$ nvidia-driver-assistant
Détails du gestionnaire de paquets
Pour une expérience cohérente, NVIDIA recommande d'utiliser les gestionnaires de paquets pour installer CUDA Toolkit et les pilotes. Cependant, les détails spécifiques des systèmes de gestion de paquets utilisés par les différentes distributions ou la façon dont les paquets sont structurés peuvent varier en fonction de votre distribution.
Voici les détails spécifiques, les mises en garde ou les étapes de migration nécessaires pour les différentes plates-formes.
- apt : Distributions basées sur Ubuntu et Debian
Exécutez la commande suivante :Code : Sélectionner tout $ sudo apt-get install nvidia-open
Code : Sélectionner tout 1
2
3$ sudo apt-get install -V nvidia-kernel-source-open $ sudo apt-get install nvidia-open
- dnf : Red Hat Enterprise Linux, Fedora, Kylin, Amazon Linux ou Rocky Linux
Exécutez la commande suivante :Code : Sélectionner tout $ sudo dnf module install nvidia-driver:open-dkms
Code : Sélectionner tout 1
2
3$ echo "module_hotfixes=1" | tee -a /etc/yum.repos.d/cuda*.repo $ sudo dnf install --allowerasing nvidia-open $ sudo dnf module reset nvidia-driver
- zypper : SUSE Linux Enterprise Server ou OpenSUSE
Exécutez l'une des commandes suivantes :Code : Sélectionner tout 1
2# default kernel flavor $ sudo zypper install nvidia-open
Code : Sélectionner tout 1
2# azure kernel flavor (sles15/x86_64) $ sudo zypper install nvidia-open-azure
Code : Sélectionner tout 1
2# 64kb kernel flavor (sles15/sbsa) required for Grace-Hopper $ sudo zypper install nvidia-open-64k
Résumé du gestionnaire de paquets
Pour simplifier, voici les recommandations du gestionnaire de paquets condensées sous forme de tableau. Toutes les versions au-delà de la version 560 du pilote et de CUDA Toolkit 12.6 utiliseront ces conventions d'empaquetage.
Sous-système Windows pour Linux
Le sous-système Windows pour Linux (WSL) utilise le pilote de noyau NVIDIA du système d'exploitation Windows hôte. Vous ne devez pas installer de pilote sur cette plate-forme en particulier. Si vous utilisez WSL, aucune modification ou action n'est nécessaire.
CUDA Toolkit
L'installation de CUDA Toolkit reste inchangée via les gestionnaires de paquets. Exécutez la commande suivante :
Code : | Sélectionner tout |
$ sudo apt-get/dnf/zypper install cuda-toolkit
Pour plus d'informations sur l'installation des pilotes NVIDIA ou du kit d'outils CUDA, y compris sur l'installation des pilotes propriétaires si vous ne pouvez pas migrer vers les modules GPU kernel open source pour le moment, voir Installation des pilotes dans le Guide d'installation CUDA.
Source : NVIDIA
Et vous ?
Pensez-vous que cette transition à l'open source de NVIDIA est crédible ou pertinente ?
Pensez-vous qu'il s'agisse vraiment d'open source comme l'annonce NVIDIA ou pas ?
Quel est votre avis sur le sujet ?
Voir aussi :
Le passage de Nvidia à l'open source est officiel, la société publie des modules du noyau GPU de Linux en open source avec une double licence GPL/MIT, pour améliorer le support des GPU sous Linux
Google, Samsung, Intel, ARM et Fujitsu s'allient pour tenter de vaincre la domination de Nvidia sur le marché des puces d'IA, en créant une alternative open source à la plateforme CUDA de Nvidia
Red Hat travaille à la mise sur pied d'un nouveau pilote Linux pour les GPU Nvidia en Rust. L'initiative ravive le débat sur la pertinence de l'abandon des langages C et C++ pour le Rust