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:
- Fragt Ihre Hardware ab,
- Installiert automatisch den am besten passenden Treiber,
- 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=proprietary3. 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-assistant4. 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-openFü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-openRHEL-basierte Systeme:
Installieren Sie den Open-Source-Treiber:
$ sudo dnf module install nvidia-driver:open-dkmsUm 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-driverSUSE 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-64k5. 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-toolkitFü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.