web-dev-qa-db-fra.com

Comment puis-je installer CUDA 9 sur Ubuntu 17.10

Ubuntu 17.10 est fourni 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?

41
B0rk4

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 à nouveau gcc -v.

Installation de CUDA 9 + SDK

À partir de CUDA Toolkit Archive , 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

Rendre le fichier téléchargé exécutable et l'exécuter à l'aide de 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.

55
B0rk4

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. Lorsque j'avais des problèmes, je purgeais nvidia * et le récupérais.

nvidia-smi
5
Clark Kent

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.

1
Pedro Esmeriz