11 points par GN⁺ 2024-07-18 | 4 commentaires | Partager sur WhatsApp
  • 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 cuda installe à 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-assistant via 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

 
bbulbum 2024-07-18

Linus Torvalds : NVIDIA ! Pan ! Cue !

 
halfenif 2024-07-19

Une formule choc.. F*ck.. !

 
bbulbum 2024-07-18

Ça pourrait arriver, haha

 
GN⁺ 2024-07-18
Avis sur Hacker News
  • Je me souviens que Nvidia avait subi un piratage majeur il y a quelques années

    • Les hackers avaient menacé de divulguer toutes les données si les pilotes n’étaient pas passés en open source
    • Il est possible que les hackers aient finalement obtenu ce qu’ils voulaient
  • Les modules du noyau de Nvidia sont divisés en deux composants

    • un composant « OS-agnostic » indépendant du système d’exploitation
    • un composant « kernel interface layer » spécifique à la version et à la configuration du noyau Linux
    • Lorsqu’il est inclus dans le paquet d’installation Nvidia .run, le composant OS-agnostic est fourni sous forme binaire
  • J’ai basculé vers AMD parce qu’utiliser Sway et Wayland avec Nvidia était trop compliqué

    • Le principal problème venait d’un ticket sur gitlab.freedesktop.org, désormais résolu
  • Je me demande quelle est la situation actuelle des pilotes Nvidia sous Linux

    • J’ai monté un nouveau desktop avec un GPU AMD
    • Je voulais éviter les problèmes liés aux pilotes closed source, ou aux pilotes open source insuffisants ou obsolètes
  • Nvidia passe complètement aux modules GPU du noyau en open source

    • Ou alors Nvidia est en train de passer 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

    • Résoudre les incompatibilités de version entre les pilotes, les utilitaires et les runtimes de conteneurs était un cauchemar
  • Balancer une tarball en disant « va la chercher ! » n’a aucun sens

    • Tant que le pilote ne sera pas réellement contribué au noyau upstream, j’achèterai du AMD
  • En tant que sceptique qui lit attentivement les détails, je pense que c’est une bonne décision

    • Je n’y vois pas d’inconvénient, sauf peut-être le risque de renforcer la culture propriétaire de Nvidia
  • Je me souviens de Linus regardant la caméra en adressant un doigt d’honneur à Nvidia

    • Je me demande si cette époque est révolue, s’il est temps de se réconcilier, ou s’il reste encore des problèmes
  • Le simple fait d’avoir fourni au moins les modules du noyau a du sens

    • Mais cela ne sera probablement pas contribué à l’upstream