Website-Suche

NVIDIA wechselt zu Open-Source-GPU-Kernel-Modulen


NVIDIA macht einen bedeutenden Schritt vorwärts in seinem Engagement für Open-Source-Software. Das Unternehmen kündigt eine vollständige Umstellung auf Open-Source-GPU-Kernel-Module mit seiner kommenden R560-Treiberveröffentlichung an. Dieser Schritt markiert eine wichtige Veränderung in NVIDIAs Ansatz zur Treiberentwicklung und -verteilung.

Hintergrund

Im Mai 2022 stellte NVIDIA Open-Source-Linux-GPU-Kernel-Module mit dem R515-Treiber vor. Diese Module, die unter den Lizenzen GPL und MIT veröffentlicht wurden, richteten sich zunächst an Rechenzentrums-GPUs. Die Unterstützung für GeForce- und Workstation-GPUs befand sich zu diesem Zeitpunkt im Alphastadium.

Fortschritt und Verbesserungen

In den letzten zwei Jahren hat NVIDIA erhebliche Fortschritte gemacht:

  • Leistung: Open-Source-Module erreichen jetzt die Leistung von Closed-Source-Treibern oder übertreffen sie sogar.
  • Neue Funktionen:

    • Unterstützung für heterogenes Speichermanagement (HMM)
    • Vertrauliche Computing-Funktionen,
    • Unterstützung für kohärente Speicherarchitekturen auf Grace-Plattformen.

Unterstützte GPUs

Der Übergang zu Open-Source-Modulen wirkt sich auf verschiedene GPU-Generationen unterschiedlich aus:

  • Spitzenplattformen: Grace Hopper- und Blackwell-Plattformen erfordern Open-Source-Module.
  • Unterstützte GPUs: Neuere Architekturen wie Turing, Ampere, Ada Lovelace und Hopper werden von den Open-Source-Modulen vollständig unterstützt.
  • Nicht unterstützte GPUs: Ältere GPUs der Maxwell-, Pascal- und Volta-Architekturen erfordern aufgrund von Kompatibilitätsbeschränkungen weiterhin die Verwendung der proprietären Treiber.
  • Gemischte Einsätze: Systeme mit einer Mischung aus alten und neuen GPUs sollten weiterhin den proprietären Treiber verwenden, um optimale Leistung und Stabilität zu gewährleisten.

Wenn Sie unsicher sind, welchen Treiber Sie installieren sollen, machen Sie sich keine Sorgen! NVIDIA stellt ein Erkennungshilfeskript zur Verfügung, das den Benutzern bei der Auswahl des passenden Treibers hilft.

Installationsprogramm Änderungen

NVIDIA ändert die standardmäßige Installationsmethode von proprietären auf Open-Source-Treiber bei allen Installationsmethoden.

1. Paketmanager mit CUDA-Metapaket

Beim Verwenden eines Paketmanagers zur Installation des CUDA Toolkits installiert ein oberstes cuda-Paket sowohl das CUDA Toolkit als auch die zugehörige Treiberversion. Zum Beispiel lieferte die Installation von cuda während der CUDA 12.5-Version den proprietären NVIDIA-Treiber 555 und das CUDA Toolkit 12.5.

Früher erforderte die Verwendung von Open-Source-GPU-Kernelmodulen die Installation des distributionsspezifischen NVIDIA-Treiber-Open-Pakets zusammen mit dem gewählten cuda-toolkit-X-Y-Paket.

Ab CUDA 12.6 ändert sich dieser Prozess. Die Standardinstallation enthält jetzt den Open-Source-Treiber.

2. Runfile-Installation

Der .run-Datei-Installer für CUDA- oder NVIDIA-Treiber jetzt:

  1. Fragt Ihre Hardware ab,
  2. Installiert automatisch den am besten passenden Treiber,
  3. Bietet UI-Umschalter an, um zwischen proprietären und Open-Source-Treibern zu wählen.

Für Kommandozeilen- oder automatisierte Installationen (z. B. Ansible) verwenden Sie diese Überschreibungen:

# 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. Installations-Hilfeskript

NVIDIA stellt ein Hilfsskript zur Verfügung, um die Treiberauswahl zu erleichtern. Um es zu verwenden, installieren Sie zunächst das Paket nvidia-driver-assistant und führen dann das Skript aus:

    $ nvidia-driver-assistant

    4. Details zum Paketmanager

    NVIDIA empfiehlt die Verwendung von Paketmanagern für eine konsistente Installation des CUDA-Toolkits und der Treiber. Hier sind distributionsspezifische Anweisungen:

    Debian-basierte Systeme:

    Installieren Sie den Open-Source-Treiber:

    $ sudo apt-get install nvidia-open

    Für Ubuntu 20.04 zuerst auf offene Kernel-Module aktualisieren und dann den Open-Source-Treiber wie unten installieren:

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

    RHEL-basierte Systeme:

    Installieren Sie den Open-Source-Treiber:

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

    Um mit dem CUDA-Metapaket zu aktualisieren, deaktivieren Sie Modulströme:

    $ 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 oder OpenSUSE:

    Wählen Sie den entsprechenden Befehl basierend auf Ihrem Kernel:

    # 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. Windows-Subsystem für Linux

    WSL-Benutzer müssen keine Maßnahmen ergreifen, da es den NVIDIA-Kernel-Treiber vom Host-Windows-System verwendet.

    6. Installation des CUDA-Toolkits

    Der Installationsprozess des CUDA-Toolkits bleibt unverändert. Benutzer können es wie bisher über ihren Paketmanager installieren.

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

    Für weitere Details zur Treiberinstallation oder zur Einrichtung des CUDA Toolkits können Benutzer auf den CUDA Installationsleitfaden verweisen.

    Fazit

    NVIDIAs Schritt hin zu Open-Source-GPU-Kernelmodulen stellt eine bedeutende Veränderung in der Herangehensweise des Unternehmens an die Treiberentwicklung dar.

    Ich hoffe wirklich, dass dies die Kompatibilität, Leistung und Benutzerwahl über verschiedene GPU-Generationen und Linux-Distributionen hinweg verbessern wird.

    Ressource:

    • NVIDIA geht vollständig zu Open-Source-GPU-Kernelmodulen über

    Hervorgehobenes Bild von Mizter_X94 auf Pixabay.