Come installo CUDA su Ubuntu 18.04?


61

Esiste un tutorial per installare CUDA su Ubuntu 18.04?

Le istruzioni sul sito Web Nvidia per 17.04 e 16.04 non funzionano per 18.04.

Viene visualizzato un messaggio che mi dice di riavviare, quindi rieseguire il programma di installazione. Tuttavia quando lo faccio ricevo di nuovo lo stesso messaggio.


Ha funzionato per me. Quale parte di esso non funziona per te?
user3667089,

Dice che è necessario un riavvio e quindi rieseguire il programma di installazione, ma riavvio il computer e provo a reinstallare e tutto ciò che ottengo è lo stesso messaggio ...
Gabs

Prova a seguire le istruzioni qui che utilizzano il file di esecuzione per installare il driver e il toolkit cuda.
cono

Risposte:


19

Ho installato CUDA 9.1 su Ubuntu 18.04 e funziona molto bene.

Tuttavia, dovrei modificare gcc, g ++ di default e usare i file .run invece dei file .deb.

  1. installa gcc-6, g ++ - 6 (CUDA richiede gcc-6!)
  2. In / usr / bin come root, rm gcc, gcc-ar, gcc-nm, gcc-ranlib g ++, quindi ln -s gcc-6 gcc; ln -s gcc-ar-6 gcc-ar; ln -s gcc-nm-6 gcc-nm; ln -s gcc-ranlib-6 gcc-ranlib; e ln -s g ++ - 6 g ++
  3. installa CUDA usando i file .run. Non è possibile installare il driver. Invece, installare il driver più recente (se necessario, scaricare NVIDIA-Linux-xxxxxxx.run da Nvidia) sarebbe meglio.

È tutto.

Ho provato a installare usando i file .deb, ma causa un conflitto tra i pacchetti e quindi ho cambiato strada.

Divertirsi!!


10
Consiglio di usare update-alternative invece di sostituire gcc, vedere askubuntu.com/questions/26498/choose-gcc-and-g-version per maggiori dettagli
Mr.WorshipMe

100

In un terminale, digitare:


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

sudo apt update

sudo ubuntu-drivers autoinstall

riavvio


sudo apt install nvidia-cuda-toolkit gcc-6

nvcc --version

Ho una scheda grafica gtx970 e una nuova installazione di Ubuntu 18.04

Questo ha funzionato per me


10
Questa dovrebbe essere una risposta accettata
luboskrnac,

6
Questo ha funzionato principalmente per me. L'unico problema era che Ubuntu-driver non era stato trovato e doveva risolverlo eseguendo: sudo apt-get install ubuntu-drivers-common (trovato qui: askubuntu.com/a/361868/766963 )
Volkan Paksoy

Questo ha funzionato per me, anche se ho dovuto tornare a nouveau dall'interfaccia utente prima di eseguire l'installazione automatica (ha segnalato conflitti durante l'installazione di v396 mentre era installata la v390)
Alex Reinking,

1
Questo ha funzionato perfettamente. Comunque ha sudo apt upgraderotto di nuovo tutto, fai attenzione con gli aggiornamenti!
Luis

1
Per me, il autoinstallcomando risulta inThe following packages have unmet dependencies: nvidia-driver-415
MrMartin

12

Abilita il repository multiverso, installa i driver nvidia e nvidia-cuda-toolkit e gcc6 (preferibilmente usando alternative di aggiornamento per cambiare facilmente versione):

  1. In software e aggiornamenti, selezionare i repository con restrizioni e multiverso
  2. Nella scheda Driver aggiuntivi in ​​software e aggiornamenti selezionare il driver proprietario NVIDIA (390 per CUDA 9)
  3. sudo apt update && sudo apt installa nvidia-cuda-toolkit o lo installa dal centro software di Ubuntu.
  4. CUDA richiede gcc6, usa update-alternative per mantenere sia gcc7 che gcc6 come spiegato qui .

In alternativa puoi seguire le istruzioni di Taylor :

  1. Dopo aver installato il driver proprietario NVIDIA, scarica l'installazione di CUDA 9 dal loro sito (scarica Ubuntu la versione del runfile 17.04)
  2. rendere eseguibile il file scaricato con sudo chmod +x
  3. eseguilo con --override flag
  4. Accettare i termini e le condizioni, dire di sì all'installazione con una configurazione non supportata e no a "Installare il driver della grafica accelerata NVIDIA per Linux-x86_64 384.81?". Assicurati di non accettare di installare il nuovo driver.
  5. Vedi sopra sull'uso di gcc6

Il secondo metodo ha il rovescio della medaglia che non è facile aggiornare o rimuovere.


2
Sebbene il link alla pagina del pacchetto sia utile e ci siano abbastanza informazioni qui che questa non è una "risposta solo link" o altro, ti consiglio di modificarlo per spiegare come fare ciò che stai raccomandando.
Eliah Kagan,

6

Dubito che le risposte di cui sopra si qualifichino, perché sembrano lasciare il sistema senza l'intero sottosistema di driver NVidia. Posso immaginare perché Cuda non attiri i driver, anche se probabilmente preferirei averlo diversamente. Inoltre non sono sicuro di quale sia il modo corretto per ottenere l'ultimo driver, ma in questo momento sembra farlo:

sudo apt-get install nvidia-driver-390


3
Giusto, se non si installano i driver Nvidia dai repository Ubuntu, potrebbe essere necessario reinstallarli dopo ogni aggiornamento del kernel.
ubfan1,

Probabilmente
avrai


4

Questo è quello che ho fatto. Potrebbero esserci delle cose extra che probabilmente non avrei dovuto fare, ma le includerò comunque.

Per prima cosa procurati i driver del repository ppa. (Direi che questo è necessario prima dell'installazione, a meno che tu non voglia rischiare un ciclo di login di morte).

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

Quindi installare il driver più recente. Uso il programma di aggiornamento della GUI per la maggior parte chiamato Software e aggiornamenti, nella scheda Driver aggiuntivi. Ad oggi nvidia driver 396 è disponibile.

Ottieni g ++ - 6 e gcc-6. (Necessario)

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

Puoi provare a usare nvidia-cuda-toolkit, ma i percorsi delle librerie non mi erano familiari. Non volevo rovinare tutto.

(Probabilmente salterei questo, ma andrei ad esso se altre cose stanno dando problemi)

sudo apt install nvidia-cuda-toolkit

Ho finito per installare il file di esecuzione 9.1 per Ubuntu 17.04. Scaricalo. Contrassegna il file come eseguibile (faccio clic con il pulsante destro del mouse sul file sul desktop). Vai nel terminal e metti. (Necessario)

./cuda_9.1.85_387.26_linux.run --override

Lo installerà usando i nuovi compilatori gcc. Ti farà un sacco di domande e vorrà che ti rispondano immediatamente.

Rispondi sì alla configurazione non supportata.

No al driver nvidia.

Sì, al toolkit

Ho usato i percorsi di installazione predefiniti

Dopo averlo installato, assicurati di impostare i tuoi percorsi. Il file di esecuzione ti darà anche un promemoria. Anche la documentazione nvidia ti dirà cosa esportare.

echo 'export PATH=/usr/local/cuda-9.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH' >> ~/.bash.rc
source ~/.bashrc

Alla fine devi impostare i simlink su gcc-6 e g ++ - 6 o riceverai un avviso sulla compilazione del tuo codice. (Obbligatorio)

sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++

Riavvia il sistema. (Necessario)


Buona risposta, ma nella mia situazione il driver nvidia repository Ubuntu era la sotto-versione sbagliata! Al momento della pubblicazione, il nvidia-396pacchetto è la versione 396.37 che non funziona con la mia GeForce GTX 950. Quindi ho dovuto installare 396.18 manualmente! Quindi assicurati di controllare che il driver sia quello di cui hai veramente bisogno.
salotz,

2

Vediamo come va la mia risposta per il 16.04 :

  1. Scarica CUDA per Ubuntu 17.10 (runfile local) - Tensorflow consiglia CUDA 9.0 - CUDA 9.2 sembra non funzionare con tf
  2. Installa i requisiti CUDA (vedi la sezione seguente)
  3. Correre sudo sh cuda_7.5.18_linux.run
  4. Seguire le istruzioni della riga di comando.

Passaggio successivo: installa cuDNN

CUDA 9.2

$ nvidia-smi
Fri Jun  8 18:09:24 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   72C    P0    N/A /  N/A |    512MiB /  2004MiB |     90%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1031      G   /usr/lib/xorg/Xorg                           276MiB |
|    0      3072      G   ...-token=0F06A89A68C1B8739F1AB9EF1C5654F9   232MiB |
+-----------------------------------------------------------------------------+

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Wed_Apr_11_23:16:29_CDT_2018
Cuda compilation tools, release 9.2, V9.2.88

Avvertenza : non installare il driver dello schermo! (Almeno non ha funzionato sul mio Thinkpad T460p)

CUDA 9.0 per tf

$ nvidia-smi
Sat Jun  9 08:55:30 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   68C    P0    N/A /  N/A |    595MiB /  2004MiB |     91%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1036      G   /usr/lib/xorg/Xorg                           350MiB |
|    0      2531      G   ...-token=FA7CF967F32AD2277A4B0EA78D1CB8D4   241MiB |
+-----------------------------------------------------------------------------+

e

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

Requisiti CUDA

$ sudo apt-get install gcc-6 g++-6
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50

Verificare con

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 6.4.0-17ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-as=/usr/bin/x86_64-linux-gnu-as --with-ld=/usr/bin/x86_64-linux-gnu-ld --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1)

0

La mia esperienza nell'installazione di CUDA. Testato su Ubuntu 18.04. Compito:

  • Installa il driver grafico per Palit GeForce GTX 1080 Ti GameRock 11GB GDDR5X [NEB108TT15LC-1020G].
  • Installa la libreria CUDA per tutti gli utenti.

Link correlati:

Installazione del driver NVIDIA

Visitare il sito Web NVIDIA - https://www.nvidia.com/Download/index.aspx e ottenere il driver più recente per la GPU. Nel mio caso è:

Product Type: GeForce
Product Series: GeForce 10 Series
Product: GeForce GTX 1080 Ti
Operating System: Linux 64-bit
Language: English (US)
Press <SEARCH> button and check that founded driver is supporting your GPU
in "SUPPORTED PRODUCTS" tab.

Scaricalo. Nel mio caso il nome file è:NVIDIA-Linux-x86_64-410.78.run

# Change permission to run and execute it
sudo chmod +x NVIDIA-Linux-x86_64-410.78.run

# Before installation install gcc and make packages:
sudo apt install gcc
sudo apt install make

È preferibile eseguire l'installazione del driver in modalità testo. Per la modalità testo, premere <Ctrl>+<Alt>+<F3>e accedere alla console.

Molto probabilmente avrai problemi con il driver grafico precedentemente installato chiamato Nouveau.

# Remove Nouveau driver
sudo apt –purge remove xserver-xorg-video-nouveau
# Remove previously installed NVIDIA driver
sudo apt purge nvidia*

# Execute file and answer the questions during installation
sudo ./NVIDIA-Linux-x86_64-410.78.run

# Reboot Ubuntu
sudo reboot

# To check if installation is successful
nvidia-smi

Dovresti vedere l'output del terminale dei driver Nvidia: inserisci qui la descrizione dell'immagine

# Check again
lsmod | grep nouveau  # should be zero output
lsmod | grep nvidia   # should be non-zero output

# Another check. {tab} means you should press <Tab> button on your keyboard.
cat /proc/driver/nvidia/gpus/{tab}/information

Dovresti vedere il modello corretto della tua GPU: inserisci qui la descrizione dell'immagine

Installazione della libreria CUDA per tutti gli utenti

# Install gcc, kernel headers and development libraries
sudo apt install gcc-6 g++-6 linux-headers-$(uname -r) freeglut3-dev libxmu-dev libpcap-dev

Scarica CUDA Toolkit da - https://developer.nvidia.com/cuda-downloads Seleziona: Linux, x86_64, Ubuntu, 18.04, runfile (local).

Scarica il file da 2,0 GB: cuda_10.0.130_410.48_linux.run

# Change permissions and run it
sudo chmod +x cuda_10.0.130_410.48_linux.run
sudo ./cuda_10.0.130_410.48_linux.run

If installation is successful, your should see the following output:
===========
= Summary =
===========

Toolkit: Installed in /usr/local/cuda-10.0
Samples: Not Selected

Please make sure that
 - PATH includes /usr/local/cuda-10.0/bin
 - LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root

Per configurare l'ambiente CUDA per tutti gli utenti (e le applicazioni) sul tuo sistema crea due file (usa sudo e un editor di testo a tua scelta)

# Create file cuda.sh
sudo touch /etc/profile.d/cuda.sh
# Open cuda.sh file
sudo nano /etc/profile.d/cuda.sh
# Add content to the file
export PATH=$PATH:/usr/local/cuda/bin
export CUDADIR=/usr/local/cuda

# Also create file cuda.conf
sudo touch /etc/ld.so.conf.d/cuda.conf
# Open cuda.conf file
sudo nano /etc/ld.so.conf.d/cuda.conf
# Add content to the file
/usr/local/cuda/lib64

# Restart ldconfig
sudo ldconfig

# Create symbolic links to GCC6 in the CUDA bin folder.
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-10.0/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda-10.0/bin/g++

# Test CUDA by building the examples
# Copy the CUDA samples source directory to someplace in your home directory
# Go to the directory with the samples and run:
make -j4

# There could be compilation error for the samples
# Error: cannot find -lGL
# I was able to fix it by following the instructions in this link:
# http://techtidings.blogspot.com/2012/01/problem-with-libglso-on-64-bit-ubuntu.html (the final two commands)
sudo rm /usr/lib/x86_64-linux-gnu/libGL.so
sudo ln -s /usr/lib/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
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.