Come posso installare CUDA 9 su Ubuntu 17.10


41

Ubuntu 17.10 viene fornito con CUDA 8 che si basa su clang 3.8 (ad esempio, vedi questo post sul blog ).

Tuttavia, vorrei installare CUDA 9 e, se possibile, fare affidamento su GCC. Come posso fare questo?

Risposte:


57

Installazione del driver NVIDIA 384

Innanzitutto installiamo un nuovo Ubuntu 17.10 su un computer con una GPU NVIDIA e selezioniamo "Installa software di terze parti" durante il processo. In alternativa, possiamo aggiungere manualmente il repository dei driver di grafica:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

Quindi installiamo il driver NVIDIA più recente usando apt:

sudo apt install nvidia-384 nvidia-384-dev

Verifichiamo l'installazione eseguendo:

nvidia-smi

Dovremmo vedere un output che elenca il driver NVIDIA 384 e la nostra GPU NVIDIA discreta, simile alla tabella riepilogata di seguito:

+-----------------------------------------------------------------------------+
| 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 |
+-------------------------------+----------------------+----------------------+

Preparazione per l'installazione di CUDA 9 + SDK

Installiamo una serie di pacchetti build / dev che richiederemo in seguito:

sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

Notiamo che la versione predefinita di gcc / g ++ su 17.10 è 7.2.0 (Ubuntu 7.2.0-8ubuntu3) :

gcc -v

CUDA 9 richiede gcc 6. Quindi, lo installiamo:

sudo apt install gcc-6
sudo apt install g++-6

Nota che la versione predefinita di gcc è ancora 7.2; può essere verificato eseguendo di gcc -vnuovo.

Installazione di CUDA 9 + SDK

Dall'archivio CUDA Toolkit , selezionare uno dei pacchetti di installazione "runfile (locale)" per scaricare una versione di CUDA 9, come

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

Rendi eseguibile il file scaricato ed eseguilo utilizzando sudo:

chmod +x cuda_9.0.176_384.81_linux-run 
sudo ./cuda_9.0.176_384.81_linux-run --override

Installiamo CUDA con le seguenti configurazioni:

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]

Imposta collegamenti simbolici per 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++

Testare l'installazione di CUDA 9 utilizzando l'SDK

Crea il tuo campione CUDA preferito ed eseguilo:

cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/smokeParticles
make
../../bin/x86_64/linux/release/smokeParticles 

Potresti voler configurare i symlink gcc / g ++ dopo l'installazione di cuda.


1
Sono stato bloccato su questo problema per un po '. Eseguendo la 17.10, provando a installare CUDA 9. Sto riscontrando un problema al passaggio 2: nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ran lspci | grep -i nvidiadice che ho una GeForce GTX 760. mokutil --sb-statemostra SecureBoot disabilitato. Ho sudo apt-get purge nvidia*eseguito il comando di installazione per 384 ed eseguito dpkg -S nvidia-sminvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Eventuali suggerimenti?
Clark Kent,

4
Ho dovuto fare uno 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++o sudo ./cuda_9.0.176_384.81_linux-run --overridecome l'autore sotto consiglia di installare correttamente senza conflitto del compilatore
y.selivonchyk

11
i due comandi per aggiungere i collegamenti simbolici per i compilatori gcc 6 devono essere eseguiti dopo l'installazione di cuda, perché / usr / local / cuda non esiste prima dell'installazione
Luis Lobo Borobia

1
Aiutate molto! L'unica cosa che ho fatto in un altro modo - ha creato collegamenti simbolici dopo l'installazione di Cuda alla fine.
QtRoS

1
Prima di eseguire cuda_9.0.176_384.81_linux.run, come hai creato i soft link ( ln -s)? Hai creato manualmente la cartella cuda?
Mahmood,

5

L'installazione di questo ha richiesto più tempo di quanto vorrei ammettere, e mentre la risposta sopra è un buon modello, avevo alcuni passaggi aggiuntivi richiesti per la mia nuova installazione di Ubuntu 17.10:

lista nera nouveau

sudo vim /etc/modprobe.d/blacklist.conf

Aggiungi quanto segue:

# this one might not be required for x86 32 bit users.
blacklist amd76x_edac 

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Aggiorna disco initramfs

sudo update-initramfs -u

Ferma gdm3

sudo /etc/init.d/gdm3 stop

sudo init 3

Ottieni contenuti

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

Ottieni il pacchetto

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

Esegui con --override per ignorare la scelta del compilatore

chmod +x cuda_9.0.176_384.81_linux-run 
sudo ./cuda_9.0.176_384.81_linux-run --override

Dopo aver installato il pacchetto, otterrei errori con nvidia-smi, quindi suggerisco di eseguire nuovamente il comando per verificare che funzioni. Quando avessi problemi, eliminerei nvidia * e lo avrei ripreso.

nvidia-smi

Alcune persone potrebbero aver bisogno di fermarsi lightdminvece di gdm3, vedi askubuntu.com/a/65867/422690
crypdick,

1

Ho seguito la risposta accettata (@ubashu) e tutto è andato bene (se non esattamente lo stesso, le istruzioni avrebbero portato al percorso corretto). Avrei avuto solo l'esportazione in Path (come specificato anche su 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}}

Dopodiché puoi usare nvcc -V per verificare se l'installazione è andata davvero bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.