Recherche de site Web

NVIDIA passe aux modules noyaux GPU open-source


NVIDIA fait un pas en avant significatif dans son engagement envers les logiciels open source. L'entreprise annonce une transition complète vers des modules noyau GPU open source avec sa prochaine version du pilote R560. Ce mouvement marque un changement majeur dans l'approche de NVIDIA en matière de développement et de distribution de pilotes.

Contexte

En mai 2022, NVIDIA a introduit des modules noyau GPU Linux open-source avec le pilote R515. Ces modules, publiés sous double licence GPL et MIT, visaient initialement les GPU de calcul pour centres de données. Le support des GPU GeForce et Workstation était à l'état alpha à ce moment-là.

Progrès et améliorations

Au cours des deux dernières années, NVIDIA a fait des progrès substantiels :

  • Performance : Les modules open-source correspondent désormais ou surpassent les performances des pilotes propriétaires.
  • Nouvelles capacités:

    • Support de la gestion de la mémoire hétérogène (HMM)
    • Fonctionnalités de calcul confidentiel,
    • Support pour les architectures mémoire cohérentes sur les plateformes Grace.

GPU pris en charge

La transition vers des modules open source affecte différemment les différentes générations de GPU :

  • Plateformes de pointe : Les plateformes Grace Hopper et Blackwell nécessitent des modules open-source.
  • GPU pris en charge : Les architectures plus récentes telles que Turing, Ampere, Ada Lovelace et Hopper sont entièrement prises en charge par les modules open-source.
  • GPU non pris en charge : Les anciens GPU des architectures Maxwell, Pascal et Volta nécessitent l'utilisation continue des pilotes propriétaires en raison de limitations de compatibilité.
  • Déploiements mixtes : Les systèmes avec un mélange de GPU anciens et nouveaux devraient continuer à utiliser le pilote propriétaire pour des performances et une stabilité optimales.

Si vous n'êtes pas sûr du pilote à installer, ne vous inquiétez pas ! NVIDIA fournit un script d'aide à la détection pour aider les utilisateurs à sélectionner le pilote approprié.

Modifications de l'installateur

NVIDIA modifie la méthode d'installation par défaut en passant des pilotes propriétaires aux pilotes open source pour toutes les méthodes d'installation.

1. Gestionnaires de paquets avec méta-paquet CUDA

Lors de l'utilisation d'un gestionnaire de paquets pour installer le CUDA Toolkit, un paquet de niveau supérieur cuda installe à la fois le CUDA Toolkit et la version du pilote associée. Par exemple, l'installation de cuda lors de la sortie de CUDA 12.5 a fourni le pilote propriétaire NVIDIA 555 et le CUDA Toolkit 12.5.

Auparavant, l'utilisation des modules noyau GPU open-source nécessitait l'installation du paquet ouvert du pilote NVIDIA spécifique à la distribution en plus du paquet cuda-toolkit-X-Y choisi.

À partir de CUDA 12.6, ce processus change. L'installation par défaut inclut désormais le pilote open source.

2. Installation du fichier exécutable

Le fichier d'installation .run pour CUDA ou les pilotes NVIDIA maintenant :

  1. Interroge votre matériel,
  2. Installe automatiquement le pilote le mieux adapté,
  3. Propose des options dans l'interface utilisateur pour choisir entre des pilotes propriétaires et open-source.

Pour les installations en ligne de commande ou automatisées (par exemple Ansible), utilisez ces remplacements :

# For CUDA installation
sh ./cuda_12.6.0_560.22_linux.run --override --kernel-module-type=proprietary

# For NVIDIA driver installation
sh ./NVIDIA-Linux-x86_64-560.run --kernel-module-type=proprietary

3. Script d'assistance à l'installation

NVIDIA fournit un script d'assistance pour guider la sélection du pilote. Pour l'utiliser, installez d'abord le paquet nvidia-driver-assistant, puis exécutez le script :

    $ nvidia-driver-assistant

    4. Détails du gestionnaire de paquets

    NVIDIA recommande d'utiliser des gestionnaires de paquets pour une installation cohérente du CUDA Toolkit et des pilotes. Voici des instructions spécifiques à chaque distribution :

    Systèmes basés sur Debian :

    Installez le pilote open-source :

    $ sudo apt-get install nvidia-open

    Pour Ubuntu 20.04, mettez à niveau les modules du noyau ouverts en premier, puis installez le pilote open source comme ci-dessous :

    $ sudo apt-get install -V nvidia-kernel-source-open
    $ sudo apt-get install nvidia-open

    Systèmes basés sur RHEL:

    Installez le pilote open-source :

    $ sudo dnf module install nvidia-driver:open-dkms

    Pour mettre à niveau en utilisant le méta-package CUDA, désactivez les flux de modules :

    $ echo "module_hotfixes=1" | tee -a /etc/yum.repos.d/cuda*.repo
    $ sudo dnf install --allowerasing nvidia-open
    $ sudo dnf module reset nvidia-driver

    SUSE ou OpenSUSE:

    Choisissez la commande appropriée en fonction de votre noyau :

    # Default kernel flavor
    $ sudo zypper install nvidia-open
    
    # Azure kernel flavor (sles15/x86_64)
    $ sudo zypper install nvidia-open-azure
    
    # 64kb kernel flavor (sles15/sbsa) for Grace-Hopper
    $ sudo zypper install nvidia-open-64k

    5. Sous-système Windows pour Linux

    Les utilisateurs de WSL n'ont pas besoin de prendre de mesures, car il utilise le pilote noyau NVIDIA du système Windows hôte.

    6. Installation du kit d'outils CUDA

    Le processus d'installation du CUDA Toolkit reste inchangé. Les utilisateurs peuvent l'installer via leur gestionnaire de paquets comme auparavant.

    $ sudo apt-get/dnf/zypper install cuda-toolkit

    Pour plus de détails sur l'installation des pilotes ou la configuration du CUDA Toolkit, les utilisateurs peuvent se référer au Guide d'installation de CUDA.

    Conclusion

    Le passage de NVIDIA aux modules noyau GPU open-source représente un changement significatif dans l'approche de l'entreprise en matière de développement de pilotes.

    J'espère vraiment que cela améliorera la compatibilité, les performances et le choix des utilisateurs à travers différentes générations de GPU et distributions Linux.

    Ressource:

    • NVIDIA passe entièrement aux modules noyau GPU en code source ouvert

    Image mise en avant par Mizter_X94 de Pixabay.