Como instalo o CUDA no Ubuntu 18.04?

54

Existe algum tutorial para instalar o CUDA no Ubuntu 18.04?

As instruções no site da Nvidia para 17.04 e 16.04 não funcionam para 18.04.

Recebo uma mensagem dizendo para reinicializar e executar novamente o instalador. No entanto, quando faço isso, recebo a mesma mensagem novamente.

    
por Gabs 27.04.2018 / 17:28

8 respostas

17

Instalei o CUDA 9.1 no Ubuntu 18.04 e funciona muito bem.

No entanto, devo modificar o padrão gcc, g ++ e usar arquivos .run em vez de arquivos .deb.

  1. instale o gcc-6, g ++ - 6 (CUDA requer o gcc-6!)
  2. Em / usr / bin como raiz, rm gcc, gcc-ar, gcc-nm, gcc-ranlib g ++, então 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. instale o CUDA usando arquivos .run. Você não pode istall driver. Em vez disso, instale o driver mais recente (se necessário, baixe NVIDIA-Linux-xxxxxxx.run da Nvidia) seria melhor.

Isso é tudo.

Eu tentei instalar usando arquivos .deb, mas isso causa conflito de pacotes, então mudei o caminho.

Aproveite !!

    
por Dae-Chul Jo 조대철 28.04.2018 / 12:18
85

Em um terminal, digite:

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

sudo apt update

sudo ubuntu-drivers autoinstall

reboot

sudo apt install nvidia-cuda-toolkit gcc-6

nvcc --version

Eu tenho uma placa gráfica gtx970 e uma nova instalação do Ubuntu 18.04

Isso funcionou para mim

    
por eromod 14.05.2018 / 22:19
11

Habilite o repositório multiverse, instale drivers nvidia e nvidia-cuda-toolkit e gcc6 (de preferência usando update-alternatives para alternar facilmente as versões):

  1. em software & atualizações, selecione os repositórios restritos e multiversos
  2. Na guia Drivers adicionais, em software & atualizações selecione o driver proprietário da NVIDIA (390 para CUDA 9)
  3. sudo apt update & & sudo apt instala nvidia-cuda-toolkit, ou instala-o a partir do centro de software do ubuntu.
  4. CUDA requer o gcc6, use update-alternatives para manter o gcc7 e o gcc6 conforme explicado aqui .

Alternativamente, você pode seguir as instruções da Taylor :

  1. Depois de instalar o driver NVIDIA proprietário, baixe a instalação CUDA 9 do site deles (obtenha o Ubuntu na versão runfile 17.04)
  2. torna o arquivo baixado executável com sudo chmod +x
  3. execute-o com --override flag
  4. Aceite os termos e condições, diga sim para instalar com uma configuração não suportada e não para "Instalar driver de gráficos acelerado da NVIDIA para o Linux-x86_64 384.81?". Certifique-se de não concordar em instalar o novo driver.
  5. Veja acima sobre como usar o gcc6

O segundo método tem a desvantagem de não ser tão fácil de atualizar ou remover.

    
por Mr.WorshipMe 27.04.2018 / 18:53
5

Eu duvido que as respostas acima se qualifiquem, porque elas parecem deixar o sistema sem o subsistema do driver NVidia inteiro. Eu posso adivinhar porque Cuda não puxa os drivers, embora eu provavelmente preferiria tê-lo de outra forma. Eu também não tenho certeza qual é a maneira correta de obter o driver mais recente, mas agora isso parece acontecer:

sudo apt-get install nvidia-driver-390

    
por Hayvan M 28.04.2018 / 16:09
4

O kit de ferramentas CUDA finalmente lançou o 18.04 suporte ao ubuntu

    
por FlyingZipper 22.09.2018 / 23:47
3

Isso é o que eu fiz. Pode ser adicionado material extra que eu provavelmente não teria que fazer, mas vou incluí-lo de qualquer maneira.

Primeiro, pegue os drivers do repositório ppa. (Eu diria que isso é necessário antes da instalação, a menos que você queira arriscar algum loop de morte).

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

Em seguida, instale o driver mais recente. Eu uso o atualizador de GUI para a maioria das vezes chamado de Software & Atualizações, na guia Drivers Adicionais. A partir de hoje o driver nvidia 396 está disponível.

Obtenha g ++ - 6 e gcc-6. (Obrigatório)

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

Você pode tentar usar o nvidia-cuda-toolkit, mas os caminhos para as bibliotecas não eram familiares para mim. Eu não queria mexer com isso.

(Eu provavelmente iria pular este, mas vá para ele se outras coisas estiverem dando problemas)

sudo apt install nvidia-cuda-toolkit

Acabei de instalar o arquivo 9.1 run para o Ubuntu 17.04. Baixe. Marque o arquivo como executável (clico com o botão direito no arquivo na área de trabalho). Vá para o terminal e coloque. (Obrigatório)

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

Ele será instalado usando os novos compiladores gcc. Ele fará várias perguntas, e as desejará respondidas imediatamente.

Responda sim à configuração não suportada.

Não para o driver nvidia.

Sim, para o kit de ferramentas

Eu usei locais de instalação padrão

Depois que isso for instalado, certifique-se de configurar seus caminhos. O arquivo de execução também lhe dará um lembrete. Além disso, a documentação da nvidia lhe dirá o que exportar.

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

Finalmente você tem que configurar simlinks para o gcc-6 e g ++ - 6 ou você receberá um aviso sobre como compilar seu próprio código. (Obrigatório)

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

Reinicie o sistema. (Obrigatório)

    
por Derek Stinson 09.05.2018 / 16:53
2

Vamos ver como minha resposta para 16.04 fica:

  1. Baixe CUDA para o Ubuntu 17.10 (runfile local) - A Tensorflow recomenda o CUDA 9.0 - CUDA 9.2 parece não funcionar com tf
  2. Instalar os requisitos do CUDA (consulte a seção abaixo)
  3. Executar sudo sh cuda_7.5.18_linux.run
  4. Siga os prompts da linha de comando.

Próximo passo: Instale o 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

Aviso : não instale o driver de exibição! (Pelo menos não funcionou no meu Thinkpad T460p)

CUDA 9.0 para 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

Requisitos 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

Confirme com

$ 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)
    
por Martin Thoma 08.06.2018 / 18:10
0

Minha própria experiência na instalação do CUDA. Testado no Ubuntu 18.04. Tarefa:

  • Instale o driver gráfico para o GDDR5X da Palit GeForce GTX 1080 Ti GameRock [NEB108TT15LC-1020G].
  • Instale a biblioteca CUDA para todos os usuários.

Links relacionados:

  • Como instalar o Nvidia CUDA Toolkit no Ubuntu 18.04 LTS - link
  • Como instalar o CUDA 9.2 no Ubuntu 18.04 - link
  • Como instalar o driver da Nvidia no ubuntu 18.04 - link
  • Guia de instalação da NVIDIA CUDA para Linux - link
  • Comandos para instalação da NVIDIA no Ubuntu 16.04 - link

Instalação do driver NVIDIA

Acesse o site da NVIDIA - link e obtenha o driver mais recente para sua GPU. No meu 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.

Faça o download. No meu caso, o nome do arquivo é: 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

É melhor executar a instalação do driver no modo de texto. Para o modo de texto, pressione <Ctrl>+<Alt>+<F3> e efetue login no console.

Provavelmente você terá problemas com o driver gráfico instalado anteriormente chamado 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

Você deve ver a saída do terminal dos drivers da Nvidia:

#Checkagainlsmod|grepnouveau#shouldbezerooutputlsmod|grepnvidia#shouldbenon-zerooutput#Anothercheck.{tab}meansyoushouldpress<Tab>buttononyourkeyboard.cat/proc/driver/nvidia/gpus/{tab}/information

VocêdeveveromodelocorretodasuaGPU:

InstalandoabibliotecaCUDAparatodososusuários

#Installgcc,kernelheadersanddevelopmentlibrariessudoaptinstallgcc-6g++-6linux-headers-$(uname-r)freeglut3-devlibxmu-devlibpcap-dev

FaçaodownloaddokitdeferramentasCUDAde- link Selecione: Linux, x86_64, Ubuntu, 18.04, runfile (local) .

Download do arquivo de 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

Para configurar o ambiente CUDA para todos os usuários (e aplicativos) em seu sistema crie dois arquivos (use o sudo e um editor de texto de sua escolha)

# 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
    
por 29.11.2018 / 19:25