Comment puis-je installer CUDA 9 sur Ubuntu 17.10

41

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?

B0rk4
la source

Réponses:

57

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 -vnouveau.

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.

B0rk4
la source
1
Été coincé sur cette question depuis un moment. Sous 17.10, j'essaie d'installer CUDA 9. Un problème se pose à l'étape 2: nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ran lspci | grep -i nvidiadit que j'ai une GeForce GTX 760. mokutil --sb-stateindique que SecureBoot est désactivé. A couru sudo apt-get purge nvidia*, a exécuté votre commande d’installation pour 384 et a exécuté dpkg -S nvidia-sminvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Aucune suggestion?
Clark Kent
4
Je devais faire soit 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 --overridecomme l'auteur ci-dessous recommande d'installer avec succès sans conflit de compilateur
y.selivonchyk
11
les deux commandes pour ajouter les liens symboliques pour les compilateurs gcc 6 doivent être exécutées après l'installation de cuda, car / usr / local / cuda n'existe pas avant l'installation
Luis Lobo Borobia
1
Aide beaucoup! La seule chose que j'ai faite d'une autre manière - créer des liens symboliques après l'installation de cuda à la toute fin.
QtRoS
1
Avant de lancer cuda_9.0.176_384.81_linux.run, comment avez-vous créé les liens symboliques ( ln -s)? Avez-vous créé manuellement le dossier cuda?
mahmood
5

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:

liste noire nouveau

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

Mettre à jour le disque initramfs

sudo update-initramfs -u

Arrêtez gdm3

sudo /etc/init.d/gdm3 stop

sudo init 3

Obtenir du contenu

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

Obtenir le paquet

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

Exécuter avec --override pour écraser le choix du compilateur

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
Clark Kent
la source
Certaines personnes peuvent avoir besoin d'arrêter lightdmau lieu de gdm3, voir askubuntu.com/a/65867/422690
crypdick le
1

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.

Pedro Esmeriz
la source