CUDA und cuDNN für GPU-Beschleunigung installieren
GPU-Beschleunigung hat Deep Learning, wissenschaftliches Rechnen und maschinelles Lernen grundlegend verändert, weil sie im Vergleich zu klassischer CPU-basierter Verarbeitung deutlich mehr Leistung bietet. Dieser Leitfaden zeigt, wie Sie CUDA und cuDNN für den Einsatz mit GPUs installieren, damit Aufgaben wie das Trainieren neuronaler Netze, die Verarbeitung großer Datenmengen und anspruchsvolle Simulationen möglich werden. Zusätzlich behandelt der Beitrag Kompatibilitätsprüfungen, Hinweise zur Fehlerbehebung und praktische Empfehlungen für eine stabile CUDA-GPU-Umgebung. Wenn Sie die folgenden Schritte umsetzen, können Sie die volle Leistung Ihrer GPU für schnellere und effizientere Berechnungen ausschöpfen.
Voraussetzungen
Ein solides Verständnis einiger grundlegender Themen erleichtert das Arbeiten mit diesem Leitfaden:
- Grundlegende Computerkenntnisse: Sie sollten in der Lage sein, sich in Ihrem Betriebssystem – ob Windows oder Linux – sicher zu bewegen und einfache Dateiverwaltungsaufgaben auszuführen.
- Vertrautheit mit der Befehlszeile
- Verständnis für GPUs: Ein grundlegendes Wissen darüber, was GPUs sind und welche Vorteile sie gegenüber CPUs bieten, insbesondere bei paralleler Verarbeitung und im Umfeld von Machine Learning.
- Basiswissen zu Machine Learning und Deep Learning: Hilfreich ist Vertrautheit mit bekannten Frameworks wie TensorFlow oder PyTorch und deren Nutzung von GPUs zur Beschleunigung des Trainings.
- Programmiergrundlagen: Erste Erfahrungen mit Sprachen wie Python sind nützlich, da dieser Leitfaden Codebeispiele zur Überprüfung der Installation und zur Framework-Konfiguration enthält.
- Verständnis der Systemarchitektur: Sie sollten wissen, ob Ihr System 64-Bit nutzt, und die Unterschiede zwischen Treibern, Bibliotheken und Software-Abhängigkeiten kennen.
- Verständnis von Umgebungsvariablen: Grundkenntnisse darüber, wie Variablen wie PATH und LD_LIBRARY_PATH gesetzt werden, sind für die Softwareeinrichtung wichtig.
Wichtige Erkenntnisse
- Die Installation des NVIDIA CUDA Toolkits ist ein notwendiger Schritt, um GPU-Beschleunigung auf Ihrem System zu aktivieren, da es die Treiber, Compiler und Bibliotheken enthält, über die Anwendungen wie TensorFlow oder PyTorch mit der GPU kommunizieren und Berechnungen parallel ausführen können.
- Nach der Einrichtung der grundlegenden CUDA-Umgebung ist zusätzlich cuDNN erforderlich, die CUDA Deep Neural Network Library. Sie stellt optimierte Implementierungen für neuronale Netzoperationen bereit. Dafür müssen Sie die zu Ihrer CUDA-Version passende cuDNN-Ausgabe herunterladen und die Dateien in die entsprechenden CUDA-Verzeichnisse kopieren, damit Deep-Learning-Frameworks diese Optimierungen nutzen können.
- Dieser Leitfaden beschreibt, wie Sie die Kompatibilität von GPU und Betriebssystem prüfen, den CUDA-Installer herunterladen und ausführen oder alternativ einen Paketmanager einsetzen, Umgebungsvariablen wie PATH und LD_LIBRARY_PATH unter Linux einrichten und die Installation mit Befehlen wie
nvcc --versionoder einer GPU-beschleunigten Beispielanwendung verifizieren. - Wenn CUDA und cuDNN korrekt installiert sind, kann Ihr System die volle NVIDIA-GPU-Beschleunigung nutzen und rechenintensive Aufgaben wie Modelltraining, Video-Rendering oder andere parallelisierbare Workloads im Vergleich zu reiner CPU-Ausführung erheblich schneller bewältigen.
Was CUDA und cuDNN sind
CUDA, die Abkürzung für Compute Unified Device Architecture, ist NVIDIAs Plattform für paralleles Rechnen. Sie verschafft Entwicklern und Forschern direkten Zugriff auf den virtuellen Befehlssatz von NVIDIA-GPUs. Mit CUDA lassen sich rechenintensive Aufgaben wie das Training von KI-Modellen, die Verarbeitung großer Datenmengen und wissenschaftliche Simulationen deutlich effizienter ausführen.
cuDNN, die CUDA Deep Neural Network Library, ist eine speziell auf GPUs ausgelegte Bibliothek, die die zentralen Bausteine für tiefe neuronale Netze bereitstellt. Sie wurde dafür entwickelt, leistungsstarke Implementierungen für Convolutional Neural Networks, rekurrente neuronale Netze und andere fortgeschrittene Deep-Learning-Verfahren zu liefern. Mit cuDNN können Frameworks wie TensorFlow und PyTorch hochoptimierte GPU-Routinen nutzen.
Kurz gesagt: CUDA schafft die Grundlage für GPU-Computing, während cuDNN gezielte Optimierungen für Deep Learning ergänzt. Gemeinsam ermöglichen beide eine erhebliche GPU-Beschleunigung bei Aufgaben, die auf einer herkömmlichen CPU sonst Tage oder sogar Wochen in Anspruch nehmen könnten.
Systemanforderungen und Vorbereitung
Bevor Sie mit der Installation von NVIDIA CUDA oder cuDNN beginnen, sollten Sie sicherstellen, dass Ihr System die folgenden Anforderungen erfüllt:
- CUDA-fähige NVIDIA-GPU: Prüfen Sie, ob Ihre Grafikkarte in NVIDIAs Liste der CUDA-fähigen GPUs aufgeführt ist. Die meisten modernen NVIDIA-GPUs unterstützen CUDA, dennoch ist eine Überprüfung empfehlenswert.
- GPU-Prüfung unter Linux: Öffnen Sie unter Linux ein Terminal und führen Sie den folgenden Befehl aus, um Ihre GPU zu identifizieren. Anschließend prüfen Sie die CUDA-Kompatibilität auf der offiziellen NVIDIA-Website.
lspci | grep -i nvidia
- Ausreichend Speicherplatz: Die Installation von CUDA, cuDNN und den benötigten Treibern kann mehrere Gigabyte beanspruchen. Mindestens 5 bis 10 GB freier Speicherplatz sollten vorhanden sein.
- Administrative Berechtigungen: Die Installation unter Windows und Ubuntu erfordert Administrator- oder sudo-Rechte.
- NVIDIA-GPU-Treiber: Auf Ihrem System müssen aktuelle Treiber installiert sein. Auch wenn dieser Schritt oft bereits im CUDA-Setup enthalten ist, empfiehlt es sich, direkt bei NVIDIA zu prüfen, ob die neueste Version installiert ist.
CUDA und cuDNN unter Windows installieren
Dieser Abschnitt beschreibt ausführlich, wie Sie CUDA und cuDNN auf einem Windows-System einrichten.
Schritt 1: GPU-Kompatibilität prüfen
Um Ihr GPU-Modell zu ermitteln und festzustellen, ob es CUDA unterstützt, klicken Sie mit der rechten Maustaste auf das Startmenü, öffnen den Geräte-Manager und erweitern den Bereich Grafikkarten, bis Ihre NVIDIA-GPU sichtbar ist. Sobald Sie das Modell gefunden haben, wechseln Sie zur NVIDIA-Liste der CUDA-fähigen GPUs und prüfen dort, ob genau dieses Modell CUDA für GPU-Beschleunigung unterstützt.
Schritt 2: NVIDIA-GPU-Treiber installieren
Um die neuesten NVIDIA-Treiber herunterzuladen und zu installieren, besuchen Sie die NVIDIA-Treiber-Downloadseite und wählen dort den passenden Treiber für Ihre GPU und Ihre Windows-Version aus. Starten Sie anschließend den heruntergeladenen Installer und folgen Sie den Anweisungen auf dem Bildschirm. Nach Abschluss der Installation sollte das System neu gestartet werden, damit alle Änderungen wirksam werden.
Schritt 3: CUDA Toolkit installieren
Rufen Sie zunächst das CUDA Toolkit Archive auf und wählen Sie die Version, die zu den Anforderungen Ihres Projekts passt. Wenn Sie sich an Anleitungen wie „How to install CUDA and cuDNN on GPU 2021“ orientieren, kann eine Version aus diesem Zeitraum sinnvoll sein, um die Kompatibilität mit älteren Frameworks zu erhalten.
Im nächsten Schritt wählen Sie Ihr Betriebssystem, beispielsweise Windows, zusammen mit der Architektur, in der Regel x86_64. Danach geben Sie an, welche Windows-Version Sie einsetzen, also etwa Windows 10 oder Windows 11.
Nach der Auswahl laden Sie entweder den lokalen .exe-Installer oder den Netzwerk-Installer herunter. Starten Sie anschließend das Setup und durchlaufen Sie die Installationsschritte. Achten Sie dabei darauf, alle wesentlichen Komponenten auszuwählen, darunter das CUDA Toolkit, Beispielprojekte und die Dokumentation, damit eine vollständige Entwicklungsumgebung eingerichtet wird.
Das Installationsprogramm legt die erforderlichen Dateien im folgenden Standardverzeichnis ab. Dabei steht X.X für die konkrete CUDA-Version, die installiert wird.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X
Auch wenn das Setup Umgebungsvariablen normalerweise automatisch setzt, sollten Sie diese Angaben dennoch überprüfen. Öffnen Sie dazu die Eingabeaufforderung und führen Sie die folgenden Befehle aus, um sicherzustellen, dass CUDA_PATH und PATH auf die richtigen CUDA-Verzeichnisse verweisen:
echo %CUDA_PATH%
echo %PATH%
Schritt 4: cuDNN unter Windows herunterladen und installieren
Als NVIDIA Developer registrieren: Um Zugriff auf cuDNN-Downloads zu erhalten, müssen Sie ein Konto auf der NVIDIA Developer Website erstellen.
Kompatibilität prüfen: Stellen Sie sicher, dass die gewählte cuDNN-Version zu der bereits installierten CUDA-Version passt. Wenn beispielsweise CUDA 11.8 eingerichtet ist, sollten Sie gezielt nach cuDNN-8-Builds suchen, die Unterstützung für CUDA 11.8 ausweisen.
Installation mit dem Installer
Laden Sie den cuDNN-Installer für Windows herunter, führen Sie ihn aus und folgen Sie den Schritten auf dem Bildschirm. Während der Installation können Sie je nach Bedarf zwischen einer Express- und einer benutzerdefinierten Installation wählen.
Manuelle Installation
Entpacken Sie die heruntergeladene Datei für die manuelle Installation in ein temporäres Verzeichnis. Kopieren Sie danach die folgenden Dateien:
bin\cudnn*.dllnachC:\Program Files\NVIDIA\CUDNN\vx.x\bin,include\cudnn*.hnachC:\Program Files\NVIDIA\CUDNN\vx.x\include,lib\x64\cudnn*.libnachC:\Program Files\NVIDIA\CUDNN\vx.x\lib.
Ersetzen Sie dabei x.x durch die tatsächliche Versionsnummer.
Zum Schluss erweitern Sie die PATH-Systemvariable um C:\Program Files\NVIDIA\CUDNN\vx.x\bin, damit auf die cuDNN-Dateien korrekt zugegriffen werden kann.
Überprüfung
Prüfen Sie den Inhalt der Ordner, um sicherzustellen, dass die cuDNN-Dateien korrekt abgelegt wurden. Im bin-Verzeichnis sollte sich beispielsweise eine Datei wie cudnn64_x.dll befinden, im include-Verzeichnis die entsprechenden .h-Headerdateien.
Schritt 5: Umgebungsvariablen unter Windows
Auch wenn der CUDA-Installer die Umgebungsvariablen in der Regel selbst einträgt, ist es sinnvoll, die Konfiguration manuell zu kontrollieren:
Systemeigenschaften öffnen
- Klicken Sie mit der rechten Maustaste auf Dieser PC oder Computer und wählen Sie Eigenschaften.
- Öffnen Sie Erweiterte Systemeinstellungen und klicken Sie anschließend auf Umgebungsvariablen.
CUDA_PATH prüfen
Suchen Sie im Bereich Systemvariablen nach CUDA_PATH.
Diese Variable sollte auf das folgende Verzeichnis zeigen. Ersetzen Sie X.X dabei durch die installierte CUDA-Version, etwa v11.8.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X
Path-Variable
Im selben Bereich der Systemvariablen suchen Sie die Variable Path und wählen sie aus.
Vergewissern Sie sich, dass das folgende Verzeichnis enthalten ist:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\bin
Möglicherweise finden Sie dort zusätzlich noch den folgenden Pfad:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\libnvvp
Falls dieser Eintrag fehlt, fügen Sie ihn manuell hinzu, damit das System CUDA-Programme zuverlässig findet.
cuDNN ergänzen, falls nötig
In den meisten Fällen reicht es aus, die cuDNN-Dateien in die passenden CUDA-Ordner wie bin, include und lib zu kopieren. Wenn Sie cuDNN an einem anderen Speicherort aufbewahren, müssen Sie diesen Pfad zusätzlich in die Path-Variable eintragen, damit Windows die cuDNN-Bibliotheken findet.
CUDA unter Ubuntu installieren
Dieser Abschnitt zeigt, wie Sie das CUDA Toolkit auf Ubuntu einrichten. Behandelt werden dabei die Konfiguration des Repositories, das Einbinden des GPG-Schlüssels und die Paketinstallation.
Schritt 1: Erforderliche Pakete installieren
Prüfen Sie zunächst, ob curl auf Ihrem System installiert ist:
sudo apt update
sudo apt install curl
Schritt 2: NVIDIA-Treiber installieren
Bevor CUDA eingerichtet werden kann, müssen die passenden NVIDIA-Treiber installiert sein. Führen Sie dazu diesen Befehl aus:
sudo ubuntu-drivers autoinstall
Nach Abschluss der Treiberinstallation starten Sie das System neu:
sudo reboot
Schritt 3: NVIDIA-GPG-Schlüssel hinzufügen
Damit die Echtheit der Pakete aus dem NVIDIA-Repository überprüft werden kann, muss zunächst der NVIDIA-GPG-Schlüssel eingebunden werden:
curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-cuda-keyring.gpg
Der Befehl curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub lädt den öffentlichen Schlüssel von der angegebenen Adresse herunter. Die verwendeten Optionen bedeuten:
- -f: Schlägt still fehl, wenn der Server einen Fehler zurückgibt.
- -s: Arbeitet im stillen Modus, also ohne Fortschritts- oder Fehlermeldungen.
- -S: Zeigt Fehler an, wenn
-sverwendet wird. - -L: Folgt Weiterleitungen.
Der Teil | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-cuda-keyring.gpg leitet die Ausgabe von curl an gpg weiter. Dort wird der Schlüssel vom ASCII-Format in ein Binärformat umgewandelt und anschließend am angegebenen Speicherort abgelegt. Dank sudo stehen die nötigen Berechtigungen zur Verfügung.
Der binäre Schlüssel wird schließlich unter /usr/share/keyrings/nvidia-cuda-keyring.gpg gespeichert, sodass Ubuntu die Paketintegrität des NVIDIA-CUDA-Repositories prüfen kann.
Schritt 4: CUDA-Repository hinzufügen
Fügen Sie nun das CUDA-Repository hinzu, das zu Ihrer Ubuntu-Version passt. Für Ubuntu 22.04 verwenden Sie beispielsweise den folgenden Befehl:
echo "deb [signed-by=/usr/share/keyrings/nvidia-cuda-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" | sudo tee /etc/apt/sources.list.d/cuda-repository.list
Der Ausdruck echo "deb [signed-by=/usr/share/keyrings/nvidia-cuda-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" definiert die Repository-Zeile mit der URL und dem für die Paketsignatur verwendeten Schlüsselbund.
Der nachfolgende Teil | sudo tee /etc/apt/sources.list.d/cuda-repository.list schreibt diese Ausgabe mit Hilfe von tee in die angegebene Datei oder erstellt sie, falls sie noch nicht vorhanden ist. Durch sudo sind Änderungen an Systemdateien möglich.
Für andere Ubuntu-Versionen existieren entsprechende andere Repository-Tags. Die URL lässt sich also anpassen, wenn Sie zum Beispiel ubuntu2004 oder ubuntu1804 einsetzen.
Schritt 5: Paketquellen aktualisieren
Im nächsten Schritt aktualisieren Sie den Paketindex, damit das neue Repository berücksichtigt wird:
sudo apt update
Dadurch erkennt Ubuntu die Pakete aus dem NVIDIA-CUDA-Repository und kann sie herunterladen.
Schritt 6: CUDA Toolkit installieren
Installieren Sie das CUDA Toolkit mit dem folgenden Befehl:
sudo apt install cuda
Dieser Befehl installiert alle für GPU-Beschleunigung benötigten CUDA-Komponenten, darunter Compiler und Bibliotheken. Beachten Sie dabei, dass standardmäßig die neueste CUDA-Version installiert wird. Wenn Sie eine bestimmte Version benötigen, müssen Sie diese explizit angeben, zum Beispiel mit sudo apt install cuda-11-814.
Schritt 7: Umgebungsvariablen konfigurieren
Damit CUDA bei jeder neuen Terminal-Sitzung automatisch verfügbar ist, fügen Sie die folgenden Zeilen in Ihre Datei ~/.bashrc ein:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Die erste Zeile setzt /usr/local/cuda/bin an den Anfang Ihrer PATH-Variable, damit der Compiler nvcc direkt aufgerufen werden kann.
Die zweite Zeile ergänzt /usr/local/cuda/lib64 in LD_LIBRARY_PATH, sodass das System die CUDA-Bibliotheken findet. Welche Pfade konkret verwendet werden, hängt von der installierten CUDA-Version ab.
Hinweis: Die Datei .bashrc ist ein verstecktes Shell-Skript in Ihrem Home-Verzeichnis. Sie wird jedes Mal ausgeführt, wenn Sie eine neue interaktive Terminal-Sitzung mit der Bash-Shell öffnen. In ihr werden üblicherweise Variablen, Aliase und Funktionen definiert, mit denen sich die Shell-Umgebung beim Start anpassen lässt.
Laden Sie anschließend die .bashrc neu, damit die neuen Umgebungsvariablen sofort aktiv werden:
source ~/.bashrc
Schritt 8: Installation prüfen
Überprüfen Sie mit folgendem Befehl, ob CUDA erfolgreich installiert wurde:
nvcc --version
Wenn CUDA korrekt eingerichtet wurde, gibt dieser Befehl die installierte CUDA-Version aus.
Nach Abschluss dieser Schritte ist CUDA auf Ubuntu installiert, die nötigen Umgebungsvariablen sind gesetzt und Ihr System ist für GPU-beschleunigte Anwendungen vorbereitet.
cuDNN unter Ubuntu installieren
Dank der Unterstützung durch NVIDIAs Paketverwaltung ist die Installation von cuDNN unter Linux deutlich einfacher geworden. Dieser Abschnitt bietet einen kompakten Überblick über den empfohlenen Weg per Paketmanager für Ubuntu- und Debian-Systeme sowie über die manuelle Installation für Fälle, in denen keine passenden Pakete für Ihre Distribution bereitstehen.
Hinweis: Wenn Ihre Linux-Distribution die Installation per Paketmanager unterstützt, ist dies in der Regel die einfachste und am leichtesten wartbare Methode. Bei einer manuellen Einrichtung sollten Sie besonders auf Pfade, Versionen und Berechtigungen achten, damit cuDNN sauber mit Ihrer vorhandenen CUDA-Installation zusammenarbeitet.
Schritt 1: cuDNN herunterladen
- Öffnen Sie die offizielle Download-Seite für NVIDIA cuDNN.
- Melden Sie sich mit Ihrem NVIDIA-Developer-Konto an oder erstellen Sie eines, falls noch keines vorhanden ist.
- Wählen Sie die cuDNN-Version aus, die zur bereits installierten CUDA-Version passt.
- Laden Sie das Linux-Paket herunter, das meist als
.tar.xz-Archiv bereitgestellt wird, wenn Sie die manuelle Installation durchführen möchten. Alternativ notieren Sie sich die Versionsangaben, falls Sie den Paketmanager verwenden wollen.
Schritt 2: cuDNN installieren
Option A: Installation über den Paketmanager
Für Ubuntu- oder Debian-basierte Systeme empfiehlt NVIDIA die Einrichtung von cuDNN über apt:
sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.X
sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.X
Ersetzen Sie 8.x.x.x durch die konkrete cuDNN-Version, die Sie heruntergeladen haben.
Ersetzen Sie X.X durch die CUDA-Version Ihres Systems, zum Beispiel cuda11.8.
Option B: Manuelle Installation
Wenn die Paketmanager-Variante für Ihre Distribution nicht verfügbar oder nicht unterstützt ist, entpacken Sie zunächst das Archiv mit dem folgenden Befehl:
tar -xf cudnn-linux-x86_64-x.x.x.x_cudaX.X-archive.tar.xz
Passen Sie dabei x.x.x.x an die cuDNN-Version und X.X an die CUDA-Version an, die im Dateinamen des Archivs enthalten sind.
Kopieren Sie anschließend die cuDNN-Dateien mit den folgenden Befehlen:
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include/
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
Mit diesen Befehlen werden die cuDNN-Headerdateien (cudnn*.h) in das CUDA-Include-Verzeichnis kopiert und die cuDNN-Bibliotheken (libcudnn*) in das CUDA-Library-Verzeichnis übertragen. Die Option -P sorgt dafür, dass symbolische Links erhalten bleiben. Mit chmod a+r erhalten alle Benutzer Leserechte auf diese Dateien, sodass sie systemweit verfügbar sind.
Schritt 3: Shared Library Cache aktualisieren
Unabhängig davon, ob Sie cuDNN per Paketmanager installiert oder die Dateien manuell kopiert haben, sollten Sie den Bibliotheks-Cache des Systems aktualisieren:
sudo ldconfig
Damit stellen Sie sicher, dass das Betriebssystem die neu hinzugefügten cuDNN-Bibliotheken erkennt.
Schritt 4: Installation überprüfen
Um zu kontrollieren, ob cuDNN korrekt installiert wurde, prüfen Sie die Versionsangaben in der Datei cudnn.h:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Dieser Befehl zeigt die installierte cuDNN-Version an, indem die relevanten Zeilen aus der Headerdatei cudnn.h herausgefiltert werden. Der Teil grep CUDNN_MAJOR -A 2 begrenzt die Ausgabe auf die Hauptversionsnummer und die beiden nachfolgenden Zeilen, in denen üblicherweise Minor- und Patch-Version aufgeführt sind.
Wenn beispielsweise cuDNN 8.9.2 installiert ist, kann die Ausgabe wie folgt aussehen:
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 2
Schritt 5: Umgebungsvariablen aktualisieren
Zum Schluss ergänzen Sie die CUDA-Binär- und Bibliotheksverzeichnisse in PATH und LD_LIBRARY_PATH, damit das System CUDA- und cuDNN-Dateien korrekt finden kann.
Bearbeiten oder erstellen Sie zuerst die Datei ~/.bashrc:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
Wenden Sie die Änderungen anschließend in der aktuellen Shell-Sitzung an:
source ~/.bashrc
Versionskompatibilität und Framework-Integration
Unterschiedliche Deep-Learning-Frameworks setzen bestimmte CUDA- und cuDNN-Versionen voraus. Die folgende Tabelle bietet einen allgemeinen Überblick:
| Framework | Unterstützte CUDA-Versionen | Unterstützte cuDNN-Versionen | Hinweise |
|---|---|---|---|
| TensorFlow | 11.2 – 12.2 | 8.1+ | TensorFlow 2.15 funktioniert mit CUDA 12.2. Frühere Versionen können auf bestimmte CUDA-Releases angewiesen sein. |
| PyTorch | 11.3 – 12.1 | 8.3.2+ | PyTorch 2.1 unterstützt CUDA 11.8 und 12.1. Welche Kombination exakt passt, hängt von der verwendeten PyTorch-Version ab. |
| MXNet | 10.1 – 11.7 | 7.6.5 – 8.5.0 | MXNet 1.9.1 unterstützt CUDA bis Version 11.7 und cuDNN bis Version 8.5.0. |
| Caffee | 10.0 – 11.x | 7.6.5 – 8.x | Caffe muss meist manuell kompiliert werden. Eine genaue Prüfung der Versionsanforderungen ist empfehlenswert. |
Greifen Sie immer zusätzlich auf die offizielle Dokumentation des jeweiligen Frameworks zurück, da sich die Kompatibilitätsanforderungen mit neueren Releases ändern können.
Zusätzliche Hinweise
- Die aktuelle TensorFlow-Version 2.16.1 vereinfacht die Installation von CUDA-Bibliotheken unter Linux über
pip. - PyTorch-Binaries werden bereits mit konkreten CUDA- und cuDNN-Versionen ausgeliefert.
- Bei MXNet ist eine exakte Abstimmung zwischen CUDA- und cuDNN-Version besonders wichtig.
- Die Installation von JAX mit CUDA- und cuDNN-Unterstützung kann anspruchsvoll sein und erfordert häufig sehr spezifische Versionskombinationen.
CUDA und cuDNN mit gängigen Frameworks verwenden
Moderne Deep-Learning-Frameworks arbeiten sehr gut mit CUDA und cuDNN zusammen und sorgen auf Systemen mit GPU-Ausstattung für deutliche Geschwindigkeitsvorteile. Im Folgenden erhalten Sie einen kompakten Überblick darüber, wie Sie TensorFlow, PyTorch und weitere verbreitete Bibliotheken für GPU-Beschleunigung einrichten.
TensorFlow-GPU-Setup
TensorFlow mit GPU-Unterstützung installieren
pip install tensorflow[and-cuda]
Mit diesem Befehl wird TensorFlow zusammen mit den erforderlichen CUDA-Abhängigkeiten installiert. Für Windows-Nutzer steht GPU-Support in der Regel über WSL2 (Windows Subsystem for Linux 2) oder über das TensorFlow-DirectML-Plugin zur Verfügung.
GPU-Erkennung prüfen
import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))
Wenn TensorFlow Ihre GPU erfolgreich erkennt, sollte in der Ausgabe mindestens ein physisches GPU-Gerät aufgeführt werden.
Häufige TensorFlow-Fehler
- DLL load failed: Dies weist in vielen Fällen darauf hin, dass cuDNN oder CUDA im System-PATH nicht korrekt eingerichtet ist.
- Could not load dynamic library: Dieser Fehler deutet häufig auf eine nicht passende Kombination aus installierter CUDA-/cuDNN-Version und den von TensorFlow erwarteten Versionen hin.
PyTorch-CUDA-Konfiguration
PyTorch installieren
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Dadurch werden die aktuellen kompatiblen Versionen von torch, torchvision und torchaudio für CUDA 12.1 installiert. Für optimale Ergebnisse sollten die passenden CUDA-12.1-Treiber auf Ihrem System vorhanden sein.
GPU-Verfügbarkeit prüfen
import torch
print(torch.cuda.is_available()) # Should return True if everything is correct
Ein Rückgabewert von True bedeutet, dass PyTorch Ihre GPU erfolgreich erkannt hat.
Multi-GPU-Setup
Wenn in Ihrem System mehrere GPUs verbaut sind, können Berechnungen mit torch.nn.DataParallel oder DistributedDataParallel durchgeführt werden. Um zu prüfen, wie viele GPUs PyTorch sieht, verwenden Sie den folgenden Befehl:
torch.cuda.device_count()
Andere Frameworks (MXNet, Caffee usw.)
MXNet
Installieren Sie zunächst die GPU-fähige Variante:
pip install mxnet-cu``x
Der Platzhalter cu11x muss durch die richtige Versionsangabe ersetzt werden, zum Beispiel cu110 für CUDA 11.0 oder cu113 für CUDA 11.3.
Prüfen Sie danach, wie viele GPUs MXNet zur Verfügung stehen:
import mxnet as mx
print (mx.context.num_gpus())
Wenn das Ergebnis nicht null ist, kann MXNet auf Ihre GPUs zugreifen.
Caffee
- Dieses Framework wird üblicherweise aus dem Quellcode kompiliert. Dabei müssen die CUDA- und cuDNN-Pfade in der Datei
Makefile.configeingetragen werden. - Manche Nutzer bevorzugen eine Installation von Caffe über Conda. In diesem Fall müssen CUDA- und cuDNN-Version aber ebenfalls zur Bibliothek passen.
Wenn Sie diese Schritte befolgen, können Sie GPU-Beschleunigung in verschiedenen Deep-Learning-Frameworks einrichten und CUDA sowie cuDNN effektiv für schnelleres Training und schnellere Inferenz nutzen.
cuDNN mit Python Wheels via pip installieren
NVIDIA stellt außerdem Python Wheels bereit, mit denen sich cuDNN einfach per pip installieren lässt. Das vereinfacht die Integration in Python-Projekte erheblich. Besonders nützlich ist diese Methode für Nutzer, die mit Frameworks wie TensorFlow oder PyTorch arbeiten.
Voraussetzung
- Python-Umgebung: Stellen Sie sicher, dass Python auf Ihrem System installiert ist. Um Konflikte zwischen Abhängigkeiten zu vermeiden, empfiehlt sich die Verwendung einer virtuellen Umgebung.
- CUDA Toolkit: Installieren Sie eine CUDA-Toolkit-Version, die sowohl zu Ihrer GPU als auch zur geplanten cuDNN-Version passt.
Schritt 1: pip und wheel aktualisieren
Bevor Sie cuDNN installieren, sollten Sie prüfen, ob pip und wheel auf dem neuesten Stand sind:
python3 -m pip install --upgrade pip wheel
Schritt 2: cuDNN installieren
Für CUDA 12 verwenden Sie den folgenden Befehl:
python 3 -m pip install nvidia-cudnn-cu12
Für CUDA 11 verwenden Sie diesen Befehl:
python 3 -m pip install nvidia-cudnn-cu11
Falls Sie eine ganz bestimmte cuDNN-Version benötigen, zum Beispiel 9.x.y.z, können Sie diese direkt angeben:
python3 -m pip install nvidia-cudnn-cu12==9.x.y.z
Fehlerbehebung bei häufigen Problemen
In diesem Abschnitt werden typische Probleme rund um CUDA und cuDNN beschrieben, inklusive ihrer Ursachen und möglicher Lösungsansätze.
So beheben Sie CUDA- und cuDNN-Probleme
Unzureichende CUDA-Treiberversion
Ursache: Der aktuell installierte GPU-Treiber ist zu alt für die CUDA-Toolkit-Version, die auf Ihrem System eingesetzt wird.
Lösung: Aktualisieren Sie den Treiber auf eine Version, die mindestens den Empfehlungen für Ihr CUDA-Release entspricht. Starten Sie den Rechner danach neu und versuchen Sie den Vorgang erneut.
cuDNN-Bibliothek nicht gefunden
Ursache: Die cuDNN-Dateien befinden sich möglicherweise im falschen Verzeichnis oder die Umgebungsvariablen sind nicht korrekt gesetzt.
Lösung: Stellen Sie sicher, dass unter Windows cudnn64_x.dll bzw. unter Linux libcudnn.so im richtigen CUDA-Verzeichnis liegt. Prüfen Sie außerdem, ob LD_LIBRARY_PATH oder PATH das Verzeichnis enthält, in dem sich diese Bibliotheken befinden.
Mehrere CUDA-Versionen auf demselben System
Es ist möglich, mehrere CUDA-Versionen wie 10.2 und 11.8 parallel auf einem Rechner zu installieren. Dabei sollten Sie jedoch folgende Punkte beachten:
- Pfadprobleme: In Ihrer PATH-Umgebung kann jeweils nur eine Version Priorität haben.
- Framework-Konfiguration: Manche Frameworks greifen automatisch auf die erste erkannte
nvcc-Version zu. - Empfehlung: Nutzen Sie Umgebungsmodule oder containerbasierte Lösungen wie Docker, um verschiedene CUDA-Versionen sauber voneinander zu trennen.
Konflikte bei Umgebungsvariablen
Wenn PATH oder LD_LIBRARY_PATH auf eine veraltete oder kollidierende CUDA-Version verweisen, kann es zu Bibliothekskonflikten kommen. Prüfen Sie deshalb immer, ob Ihre Umgebungsvariablen zu der CUDA- und cuDNN-Version passen, die Sie tatsächlich verwenden möchten.
FAQs
Wie installiere ich CUDA auf einer GPU?
Installieren Sie zunächst den neuesten NVIDIA-GPU-Treiber, der zu Ihrem Betriebssystem passt. Laden Sie danach das CUDA Toolkit von der offiziellen NVIDIA-Website herunter und führen Sie das Setup aus. Nach Abschluss der Installation sollte das System neu gestartet werden.
Wie richte ich CUDA und cuDNN ein?
Zuerst wird das CUDA Toolkit installiert, anschließend laden Sie cuDNN aus dem NVIDIA Developer Portal herunter. Danach kopieren Sie die cuDNN-Dateien in die CUDA-Verzeichnisse wie bin, include und lib und passen bei Bedarf die Umgebungsvariablen an.
Kann ich CUDA mit meiner GPU verwenden?
Ja, sofern es sich um eine NVIDIA-GPU handelt, die CUDA unterstützt. Das können Sie durch einen Blick in NVIDIAs offizielle Liste oder auf die Produktseite Ihrer GPU überprüfen.
Wie installiere ich CUDA 11.8 und cuDNN?
Installieren Sie zunächst einen kompatiblen Treiber und laden Sie danach den Installer für CUDA 11.8 herunter. Anschließend holen Sie sich eine cuDNN-8.x-Version, die zu CUDA 11.8 passt, und kopieren die cuDNN-Dateien in die vorgesehenen Verzeichnisse.
Wie prüfe ich, ob meine GPU CUDA-fähig ist?
Unter Windows suchen Sie im Geräte-Manager nach Ihrer NVIDIA-GPU. Unter Linux verwenden Sie den folgenden Befehl:
lspci | grep -i nvidia
Vergleichen Sie anschließend das erkannte GPU-Modell mit den offiziellen NVIDIA-Spezifikationen.
Ist CUDA ein GPU-Treiber?
Nein. CUDA ist eine Plattform für paralleles Rechnen. Der NVIDIA-Treiber wird separat installiert, damit das Betriebssystem korrekt mit der GPU-Hardware kommunizieren kann.
Wofür werden CUDA und cuDNN in KI und Machine Learning verwendet?
CUDA ermöglicht parallele Berechnungen auf der GPU, während cuDNN optimierte Routinen für Deep-Learning-Operationen wie beispielsweise Faltungen bereitstellt.
Wie prüfe ich, ob meine GPU CUDA unterstützt?
Suchen Sie Ihr GPU-Modell auf der NVIDIA-Developer-Website oder in der Liste der CUDA-fähigen GPUs. Im Allgemeinen unterstützen die meisten aktuellen NVIDIA-GPUs CUDA.
Was ist der Unterschied zwischen CUDA Toolkit und cuDNN?
Das CUDA Toolkit enthält die grundlegenden Bibliotheken, Compiler und Werkzeuge für allgemeines GPU-Computing. cuDNN hingegen ist eine spezialisierte Bibliothek für Operationen in tiefen neuronalen Netzen.
Wie behebe ich cuDNN-Bibliotheksfehler, wenn Dateien nicht gefunden werden?
Kontrollieren Sie, ob die cuDNN-Dateien, also unter Windows beispielsweise .dll-Dateien und unter Linux .so-Dateien, in den richtigen Verzeichnissen liegen – etwa /usr/local/cuda/lib64 unter Linux. Überprüfen Sie außerdem, ob die Umgebungsvariablen korrekt auf diese Verzeichnisse verweisen.
Kann ich mehrere CUDA-Versionen auf demselben System installieren?
Ja, das ist möglich. Jede Version sollte in ihrem eigenen Verzeichnis liegen, zum Beispiel C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2 und v11.8. Beim Wechsel zwischen den Versionen müssen PATH und andere Umgebungsvariablen entsprechend angepasst werden.
Häufige CUDA-Installationsfehler und Troubleshooting-Lösungen
Zu den häufigen CUDA-Problemen gehören:
- Treiberkonflikte: Entfernen Sie vorhandene NVIDIA-Treiber vor der CUDA-Installation und verwenden Sie möglichst Optionen für eine saubere Neuinstallation.
- PATH-Probleme: Prüfen Sie, ob das CUDA-
bin-Verzeichnis in den System-PATH aufgenommen wurde, und kontrollieren Sie dies mitnvcc --version. - Bibliothekskonflikte: Überprüfen Sie unter Linux die Variable
LD_LIBRARY_PATHund stellen Sie sicher, dass cuDNN-Version und CUDA-Version zusammenpassen. - Compiler-Inkompatibilitäten: Verwenden Sie unterstützte GCC-Versionen und installieren Sie unter Windows die passende Visual-Studio-Version.
- Berechtigungsfehler: Starten Sie Installer mit den notwendigen Rechten und prüfen Sie die Dateiberechtigungen.
- Versionskonflikte: Kontrollieren Sie, ob das jeweilige Framework mit der installierten CUDA-Version kompatibel ist. Nutzen Sie virtuelle Umgebungen, um verschiedene CUDA-Setups voneinander zu trennen. Docker-Container beseitigen viele typische Installationsprobleme.
Wie verwalte ich mehrere CUDA-Versionen für unterschiedliche KI-Projekte?
Wer mehr als eine CUDA-Version benötigt, sollte auf isolierte Umgebungen setzen:
- Conda-Umgebungen: Erstellen Sie separate Umgebungen mit bestimmten CUDA-Toolkit-Versionen, zum Beispiel über Befehle wie
conda install cudatoolkit=11.8. - Docker-Container: Nutzen Sie NVIDIA Docker mit unterschiedlichen Basis-Images für jede CUDA-Version.
- Virtuelle Umgebungen: In Kombination mit symbolischen Links oder Umgebungsmodulen lassen sich Versionen komfortabler wechseln.
- Environment Modules: Auf HPC-Systemen kommen häufig Befehle wie
module load cuda/12.0zum Einsatz. - Manuelles Umschalten: Legen Sie Shell-Skripte an, die PATH und
LD_LIBRARY_PATHanpassen. Dokumentieren Sie projektspezifische CUDA-Anforderungen und pflegen Sie Kompatibilitätsmatrizen. Auch Development Container können helfen, teamweit konsistente Entwicklungsumgebungen für unterschiedliche CUDA-Versionen und Projektanforderungen bereitzustellen.
Fazit
Die Installation von CUDA und cuDNN ist ein zentraler Schritt, um das volle Leistungspotenzial von NVIDIA-GPUs für Aufgaben wie Deep Learning, wissenschaftliche Simulationen und die Verarbeitung großer Datenmengen zu nutzen. Wenn Sie die in diesem Leitfaden beschriebenen Schritte befolgen, lässt sich die Einrichtung von CUDA und cuDNN sowohl unter Windows als auch unter Ubuntu deutlich vereinfachen. Das Ergebnis sind schnellere Modelltrainings, effizientere Datenverarbeitung und insgesamt mehr Rechenleistung.
Wenn alle Komponenten korrekt konfiguriert sind – einschließlich Versionsprüfung und Leistungsoptimierung – ist Ihre GPU-Umgebung bereit für bekannte Frameworks wie TensorFlow, PyTorch und MXNet. Unabhängig davon, ob Sie gerade erst einsteigen oder bereits Erfahrung mitbringen: Mit CUDA und cuDNN können Sie Ihre Effizienz steigern und komplexe Aufgaben in KI und Machine Learning deutlich schneller und wirkungsvoller umsetzen.


