Ubuntu 17.10 est livré avec CUDA 8 qui repose sur Clang 3.8 (voir par exemple cet article de blog ).
Cependant, j'aimerais installer CUDA 9 et faire appel à GCC si possible. Comment puis-je faire ceci?
Ubuntu 17.10 est livré avec CUDA 8 qui repose sur Clang 3.8 (voir par exemple cet article de blog ).
Cependant, j'aimerais installer CUDA 9 et faire appel à GCC si possible. Comment puis-je faire ceci?
Réponses:
Installation du pilote NVIDIA 384
Tout d'abord, nous installons une nouvelle Ubuntu 17.10 sur un ordinateur doté d'un processeur graphique NVIDIA et sélectionnez "Installer un logiciel tiers" au cours du processus. Alternativement, nous pouvons ajouter le référentiel de pilotes graphiques manuellement:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
Ensuite, nous installons le pilote NVIDIA le plus récent en utilisant apt:
sudo apt install nvidia-384 nvidia-384-dev
Nous vérifions l'installation en exécutant:
nvidia-smi
Nous devrions voir une sortie qui répertorie le pilote NVIDIA 384 et notre GPU NVIDIA discret - similaire au tableau résumé ci-dessous:
+-----------------------------------------------------------------------------+
| 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 |
+-------------------------------+----------------------+----------------------+
Préparation à l'installation de CUDA 9 + SDK
Nous installons un certain nombre de packages build / dev dont nous avons besoin plus tard:
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
Nous remarquons que la version par défaut de gcc / g ++ sous 17.10 est 7.2.0 (Ubuntu 7.2.0-8ubuntu3)
:
gcc -v
CUDA 9 requiert gcc 6. Ainsi, nous l’installons:
sudo apt install gcc-6
sudo apt install g++-6
Notez que la version par défaut de gcc est toujours 7.2
; peut être vérifié en exécutant à gcc -v
nouveau.
Installation de CUDA 9 + SDK
Dans l’ archive CUDA Toolkit , sélectionnez l’un des packages d’installation "runfile (local)" pour télécharger une version de CUDA 9, telle que
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
Rendez le fichier téléchargé exécutable et exécutez-le avec sudo:
chmod +x cuda_9.0.176_384.81_linux-run
sudo ./cuda_9.0.176_384.81_linux-run --override
Nous installons CUDA avec les configurations suivantes:
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]
Configurez les liens symboliques pour gcc / g ++:
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++
Testez l'installation de CUDA 9 à l'aide du SDK
Construisez votre échantillon CUDA préféré et exécutez-le:
cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/smokeParticles
make
../../bin/x86_64/linux/release/smokeParticles
Vous voudrez peut-être configurer les liens symboliques gcc / g ++ après l’installation de cuda.
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++
ou sudo ./cuda_9.0.176_384.81_linux-run --override
comme l'auteur ci-dessous recommande d'installer avec succès sans conflit de compilateur
cuda_9.0.176_384.81_linux.run
, comment avez-vous créé les liens symboliques ( ln -s
)? Avez-vous créé manuellement le dossier cuda?
L'installation de cette installation a pris plus de temps que je ne voudrais l'admettre, et bien que la réponse ci-dessus soit un bon modèle, quelques étapes supplémentaires ont été nécessaires pour ma nouvelle installation d'Ubuntu 17.10:
sudo vim /etc/modprobe.d/blacklist.conf
Ajouter ce qui suit:
# 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
Après avoir installé le paquet, j'obtiendrais des erreurs avec nvidia-smi, je vous suggère donc de réexécuter la commande pour vérifier qu'elle fonctionne. Quand j'avais des problèmes, je purgeais nvidia * et le récupèrerais.
nvidia-smi
lightdm
au lieu de gdm3
, voir askubuntu.com/a/65867/422690
J'ai suivi la réponse acceptée (@ubashu) et tout s'est bien passé (sinon, les instructions mèneraient au bon chemin). J'aurais seulement l'export vers Path (comme spécifié également sur https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions )
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}}
Après cela, vous pouvez utiliser nvcc -V pour vérifier si l’installation s’est vraiment bien déroulée.
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Ranlspci | grep -i nvidia
dit que j'ai une GeForce GTX 760.mokutil --sb-state
indique que SecureBoot est désactivé. A courusudo apt-get purge nvidia*
, a exécuté votre commande d’installation pour 384 et a exécutédpkg -S nvidia-smi
nvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Aucune suggestion?