Ubuntu 17.10 wird mit CUDA 8 ausgeliefert, das auf Clang 3.8 basiert (siehe zB diesen Blogpost ).
Ich möchte jedoch CUDA 9 installieren und mich nach Möglichkeit auf GCC verlassen. Wie kann ich das machen?
Ubuntu 17.10 wird mit CUDA 8 ausgeliefert, das auf Clang 3.8 basiert (siehe zB diesen Blogpost ).
Ich möchte jedoch CUDA 9 installieren und mich nach Möglichkeit auf GCC verlassen. Wie kann ich das machen?
Antworten:
Installation des NVIDIA-Treibers 384
Zuerst installieren wir ein neues Ubuntu 17.10 auf einem Computer mit einer NVIDIA-GPU und wählen während des Vorgangs "Software von Drittanbietern installieren". Alternativ können wir das Grafiktreiber-Repository manuell hinzufügen:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
Dann installieren wir den neuesten NVIDIA-Treiber mit apt:
sudo apt install nvidia-384 nvidia-384-dev
Wir überprüfen die Installation, indem wir Folgendes ausführen:
nvidia-smi
Wir sollten eine Ausgabe sehen, die den NVIDIA 384-Treiber und unsere diskrete NVIDIA-GPU auflistet - ähnlich wie in der folgenden Tabelle zusammengefasst:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90 Driver Version: 384.90 |
| |
|-------------------------------+----------------------+----------------------+
| 0 Quadro M500M Off | 00000000:06:00.0 Off | N/A |
| N/A 48C P0 N/A / N/A | 943MiB / 2002MiB | 26% Default |
+-------------------------------+----------------------+----------------------+
Vorbereitung für die Installation von CUDA 9 + SDK
Wir installieren eine Reihe von Build / Dev-Paketen, die wir später benötigen:
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
Wir stellen fest, dass die Standardversion von gcc / g ++ unter 17.10 wie folgt lautet 7.2.0 (Ubuntu 7.2.0-8ubuntu3)
:
gcc -v
CUDA 9 benötigt gcc 6. Daher installieren wir es:
sudo apt install gcc-6
sudo apt install g++-6
Beachten Sie, dass die Standard-GCC-Version immer noch ist 7.2
. kann durch erneutes Ausführen überprüft werden gcc -v
.
Installation von CUDA 9 + SDK
Wählen Sie im CUDA Toolkit-Archiv eines der "runfile (local)" - Installationspakete aus, um eine Version von CUDA 9 herunterzuladen, z
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
Machen Sie die heruntergeladene Datei ausführbar und führen Sie sie mit sudo aus:
chmod +x cuda_9.0.176_384.81_linux-run
sudo ./cuda_9.0.176_384.81_linux-run --override
Wir installieren CUDA mit folgenden Konfigurationen:
You are attempting to install on an unsupported configuration. Do you wish to continue?
y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
n
Install the CUDA 9.0 Toolkit?
y
Enter Toolkit Location
[default location]
Do you want to install a symbolic link at /usr/local/cuda?
y
Install the CUDA 9.0 Samples?
y
Enter CUDA Samples Location
[default location]
Richten Sie Symlinks für gcc / g ++ ein:
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++
Testen Sie die CUDA 9-Installation mit dem SDK
Erstellen Sie Ihr Lieblings-CUDA-Beispiel und führen Sie es aus:
cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/smokeParticles
make
../../bin/x86_64/linux/release/smokeParticles
Möglicherweise möchten Sie nach der Installation von cuda gcc / g ++ symlinks einrichten.
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-9.0/bin/gcc sudo ln -s /usr/bin/g++-6 /usr/local/cuda-9.0/bin/g++
oder sudo ./cuda_9.0.176_384.81_linux-run --override
als Autor unten empfiehlt, erfolgreich ohne Compiler-Konflikt zu installieren
cuda_9.0.176_384.81_linux.run
Wie haben Sie vor dem Ausführen die Softlinks ( ln -s
) erstellt? Haben Sie den cuda-Ordner manuell erstellt?
Die Installation dauerte länger, als ich zugeben möchte, und obwohl die obige Antwort eine gute Vorlage ist, waren für meine Neuinstallation von Ubuntu 17.10 einige zusätzliche Schritte erforderlich:
sudo vim /etc/modprobe.d/blacklist.conf
Fügen Sie Folgendes hinzu:
# this one might not be required for x86 32 bit users.
blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
sudo update-initramfs -u
sudo /etc/init.d/gdm3 stop
sudo init 3
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-384 nvidia-384-dev
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
nvidia-smi
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
chmod +x cuda_9.0.176_384.81_linux-run
sudo ./cuda_9.0.176_384.81_linux-run --override
Nach der Installation des Pakets erhalte ich Fehler mit nvidia-smi. Ich empfehle daher, den Befehl erneut auszuführen, um zu überprüfen, ob er funktioniert. Wenn ich Probleme hatte, löschte ich nvidia * und holte es mir zurück.
nvidia-smi
Ich folgte der akzeptierten Antwort (@ubashu) und alles lief gut (wenn nicht genau das gleiche, würden die Anweisungen zum richtigen Pfad führen). Ich hätte nur den Export nach Path (wie auch auf https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions angegeben )
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Danach können Sie mit nvcc -V prüfen, ob die Installation wirklich erfolgreich war.
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Ranlspci | grep -i nvidia
sagt, ich habe eine GeForce GTX 760.mokutil --sb-state
SecureBoot ist deaktiviert. Ransudo apt-get purge nvidia*
, führte Ihren Installationsbefehl für 384 aus und führtedpkg -S nvidia-smi
nvidia-384 aus: / usr / lib / nvidia-384 / bin / nvidia-smi. Irgendwelche Vorschläge?