IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

NVIDIA passe entièrement aux modules de noyau GPU Linux open source
Avec une amélioration des performances des applications et les nouvelles capacités substantielles avec les noyau GPU open source

Le , par Jade Emy

61PARTAGES

5  1 
NVIDIA annonce la transition complète vers les modules GPU kernel open source, après avoir obtenu des performances applicatives équivalentes ou supérieures avec ses modules de noyau GPU open source. Elle effectuera ce changement dans la prochaine version du pilote R560.

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
    Pour effectuer une mise à niveau à l'aide du métapaquet cuda sur Ubuntu 20.04, passez d'abord aux modules ouverts du noyau :

    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
    Pour effectuer une mise à niveau à l'aide du métapackage cuda sur les distros basées sur dnf, les flux de modules doivent être désactivés :

    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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de phil995511
Membre éprouvé https://www.developpez.com
Le 19/07/2024 à 10:12
Sauf que ce ne sont pas les pilotes Nvidia qui deviennent open source. Cela ne concerne que les headers, soit des fichiers d'en-tête permettant de faciliter l'intégration dans le kernel des pilotes propriétaires de Nvidia.

Dans les faits les pilotes Nvidia GPU restent propriétaires et fermés.

Malheureusement Nvidia refuse toujours de fournir le code source de ses drivers et refuse donc qu'ils soient intégrés directement dans le kernel Linux tel que c'est le cas pour AMD, Intel, etc.
3  0 
Avatar de Metal3d
Membre habitué https://www.developpez.com
Le 19/07/2024 à 22:33
Tant que les pilotes sont fermés, ce genre d'initiative me pousse à aller voir ailleurs.
Je refuse CUDA pour utiliser l'IA en faveur de Vulkan, je me tâte à passer à d'autres GPU pour ne plus entendre parler de NVIDIA. Ils nous la jouent à l'envers depuis 15 ans.
Il faut que la concurrence avance et qu'ils comprennent l'importance de tout mettre en open source. NVIDIA inonde le gaming et le machine learning, se rendant incontournable pour tous les fournisseurs de machine de calcul. Et on les laisse faire...
3  0