Nvidia CUDA installieren
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
CUDA ist eine Technik ähnlich wie OpenCL, welche es erlaubt, Berechnungen auf Nvidia-Grafikkarten durchzuführen. Je nach Aufgabenstellungen kann so eine deutliche Geschwindigkeitssteigerung erzielt werden.
Voraussetzungen¶
Damit CUDA genutzt werden kann ist eine unterstützte Grafikkarte 🇬🇧 mit aktuellem proprietären Nvidia-Treiber nötig. Notebooks mit Optimus-Technologie können ebenfalls von CUDA profitieren, falls ihre zweite Grafikkarte unterstützt wird.
CUDA SDK DevKit installieren¶
Um NVIDIA Cuda auf Ubuntu nutzen zu können muss das entsprechende NVIDIA DevKit von den Ubuntu Paketquellen mittels
nvidia-cuda-dev
nvidia-cuda-toolkit
Befehl zum Installieren der Pakete:
sudo apt-get install nvidia-cuda-dev nvidia-cuda-toolkit
Oder mit apturl installieren, Link: ,nvidia-cuda-toolkit
Fremdpaket¶
Eine andere Möglichkeit besteht darin das entsprechende CUDA Developer Kit Paket direkt von der NVIDIA Entwickler Seite🇬🇧 ⮷ herunterzuladen und das DEB-Paket zu installieren.
Hinweis!
Fremdpakete können das System gefährden.
Anmerkung: Es wird empfohlen die von Ubuntu zur Verfügung gestellte und getestete Pakete und Treiber aus den offiziellen Paketquellen zu verwenden.
GPU Computing Toolkit installieren¶
Wenn man selbst Programme mit CUDA Unterstützung schreiben möchte, ist es nötig nebst CUDA zusätzlich auch das CUDA Toolkit zu installieren. Dazu wird von Nvidias Entwicklerseite 🇬🇧 die Installationsdatei heruntergeladen. Man sollte darauf achten, dass die Version des Toolkits mit dem Installierten Grafikkartentreiber kompatibel ist. Das kann anhand einer Tabelle in der Sektion Release Notes überprüft werden. Sollte noch kein Nvidia-Grafiktreiber installiert sein, ist es besser vor der CUDA-Installation über zusätzliche Treiber die neuste getestete Version zu installieren. Danach kann mit
sudo sh cuda_<VERSION>_linux.run
das CUDA Toolkit als Nutzer installiert werden. Während der Installation wird man gefragt, ob der enthaltenen Grafiktreiber installiert werden soll. Hat man das schon vorher gemacht muss diese Option entfernt werden. Soll der Grafiktreiber jedoch installiert werden muss man sich zuvor ausloggen, ohne X Server (im Terminal) wieder einloggen und die Installation erneut starten (nicht empfohlen). Während der Installation wird das Verzeichnis /usr/local/cuda-9.0 als Standard vorgeschlagen, das nach Wunsch geändert werden kann (nicht empfohlen). Es sollte jedoch bedacht werden, um das Toolkit verwenden, müssen die Umgebungsvariablen $PATH und $LD_LIBRARY_PATH angepasst werden. Dazu fügt man folgende Zeilen am Ende der ~/.bashrc ein:
1 2 | export PATH=$PATH:/usr/local/cuda-<VERSION>/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-<VERSION>/lib64 |
Um auch die Beispiels-Dateien kompilieren zu können, sind folgende Pakete nötig[6]:
build-essential
freeglut3-dev
libgl1-mesa-glx
libglu1-mesa-dev
libx11-dev
libxi-dev
libxmu-dev
Befehl zum Installieren der Pakete:
sudo apt-get install build-essential freeglut3-dev libgl1-mesa-glx libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev
Oder mit apturl installieren, Link: apt://build-essential,freeglut3-dev,libgl1-mesa-glx,libglu1-mesa-dev,libx11-dev,libxi-dev,libxmu-dev
Ist die Installation abgeschlossen, kann man in einem Terminal in den CUDA-Beispiele Ordner wechsel und die Installation testen.
1 2 3 | cd ~/NVIDIA_CUDA-<VERSION>_SAMPLES/0_Simple/simpleLayeredTexture make ./simpleLayeredTexture |
In den Ausgaben finden sich Informationen zur Hardware und Ausführungszeit des Programms.
Ab hier für alte Version des CUDA SDK¶
Das CUDA Toolkit hat das CUDA-SDK abgelöst und steht auf der Downloadseite von Nvidia nicht mehr zur Verfügung. Sollten man das SDK jedoch (aus irgend einem Grund) installieren ist der folgende Abschnitt wichtig.
Leider sind die von Nvidia mitgelieferten Makefiles fehlerhaft. Es muss z.B. die Reihenfolge von $(RENDERCHECKGLLIB)
und ${OPENGLLIB}
angepasst werden.
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash if [ ! -f cudpp_license.txt ] ; then echo "Dieses Skript muss im SDK-Hauptordner ausgeführt werden!" exit fi echo "Nvidia Makefiles werden korrigiert..." sed -i- 's/\${OPENGLLIB} \$(PARAMGLLIB) \$(RENDERCHECKGLLIB)/$(RENDERCHECKGLLIB) ${OPENGLLIB} $(PARAMGLLIB)/' $(find . -type f -print0 | xargs -0 grep -l '${OPENGLLIB} $(PARAMGLLIB) $(RENDERCHECKGLLIB)') sed -i- 's/\$(CXX) \$(INC) \$(LIB) -o \(.*\)$/$(CXX) \$(INC) -o \1 $(LIB)/' $(find . -type f -print0 | xargs -0 grep -l '$(CXX) $(INC) $(LIB)') if ! grep USERENDERCHECKGL CUDALibraries/src/randomFog/Makefile ; then sed -i- '/USEGLUT := 1/ a \USERENDERCHECKGL := 1' CUDALibraries/src/randomFog/Makefile fi |
Dieses Skript wird in die Datei ~/NVIDIA_GPU_Computing_SDK/makefiles-korrigieren.sh abgespeichert, ausführbar gemacht und mit
./makefiles-korrigieren.sh
ausgeführt. Nach erfolgreichem Korrigieren der Makefiles wird in den Unterordner C gewechselt und der Kompiliervorgang[7] gestartet. Dieser kann einige Zeit in Anspruch nehmen.
cd ~/NVIDIA_GPU_Computing_SDK/C make
Funktionstest¶
Nach erfolgreichem Kompilieren wird zum Testen in den Unterordner release gewechselt.
cd ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release
Die Installation von Treibern, CUDA und SDK und das Kompilieren der Beispieldateien waren erfolgreich, wenn z.B.
./boxFilter
ein Bild von Lenna anzeigt.
Eine Übersicht über die Grafikkarte und CUDA bietet
./deviceQuery
Links¶
Nvidia GPU-computing Documentation 🇬🇧 Hersteller-Dokumentation
PyCUDA 🇬🇧 Projektseite, Phython-Oberfläche zur GPU-Programmierung (ab Ubuntu 12.10 in den Paketquellen)