Ubuntu 17.10 est livré avec CUDA 8 qui dépend de clang 3.8 (pour plus d'informations, consultez cet article de blog).
Cependant, j'aimerais installer CUDA 9 et utiliser GCC si possible. Comment puis-je faire cela?
Ubuntu 17.10 est livré avec CUDA 8 qui dépend de clang 3.8 (pour plus d'informations, consultez cet article de blog).
Cependant, j'aimerais installer CUDA 9 et utiliser GCC si possible. Comment puis-je faire cela?
Installation du pilote NVIDIA 384
Tout d'abord, nous installons un nouveau Ubuntu 17.10 sur un ordinateur avec un GPU NVIDIA et sélectionnons "Installer des logiciels tiers" pendant le processus. Alternativement, nous pouvons ajouter manuellement le dépôt des pilotes graphiques :
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 Version du pilote : 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 pour l'installation de CUDA 9 + SDK
Nous installons un certain nombre de packages de développement dont nous aurons 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++ sur 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
Remarque : la version par défaut de gcc est toujours 7.2
; cela peut être vérifié en exécutant à nouveau gcc -v
.
Installation de CUDA 9 + SDK
Depuis le Archive du kit CUDA, sélectionnez l'un des packages d'installation "runfile (local)" pour télécharger une version de CUDA 9, comme
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 en utilisant 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 :
Vous essayez d'installer sur une configuration non prise en charge. Souhaitez-vous continuer?
o
Installer le pilote graphique NVIDIA Accelerated pour Linux-x86_64 384.81?
n
Installer le Toolkit CUDA 9.0?
o
Entrer l'emplacement du Toolkit
[emplacement par défaut]
Voulez-vous installer un lien symbolique à /usr/local/cuda?
o
Installer les Exemples CUDA 9.0?
o
Entrer l'emplacement des Exemples CUDA
[emplacement par défaut]
Configurer des 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++
Tester l'installation de CUDA 9 en utilisant le SDK
Compilez votre exemple 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 des liens symboliques pour gcc/g++ après l'installation de cuda.
L'installation de tout cela a pris plus de temps que je ne voudrais l'admettre, et bien que la réponse ci-dessus soit un bon modèle, j'ai dû effectuer certaines étapes supplémentaires pour mon installation fraîche d'Ubuntu 17.10 :
sudo vim /etc/modprobe.d/blacklist.conf
Ajoutez ce qui suit :
# Celui-ci pourrait ne pas être nécessaire pour les utilisateurs x86 32 bits.
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 l'installation du package, j'ai rencontré des erreurs avec nvidia-smi, je recommande donc d'exécuter à nouveau la commande pour vérifier que tout fonctionne. En cas de problèmes, je purgerais nvidia* et le réinstallerai.
nvidia-smi
J'ai suivi la réponse acceptée (@ubashu) et tout s'est bien passé (même si les instructions n'étaient pas exactement les mêmes, elles ont finalement mené au bon chemin). J'aurais seulement eu besoin d'ajouter l'exportation vers le chemin (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 passée.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.