Como instalo o CUDA no Ubuntu 18.04?

61

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 reiniciar e, em seguida, execute novamente o instalador. No entanto, quando faço isso, recebo a mesma mensagem novamente.

Gabs
fonte
Funcionou para mim. Qual parte não funciona para você?
usar o seguinte comando
Ele diz que uma reinicialização é necessidade e, em seguida, re-executar o instalador, mas eu reiniciar o computador e tentar reinstalar e tudo que eu vejo é a mesma mensagem ...
Gabs
Tente seguir as instruções aqui, que usam o arquivo de execução para instalar o driver e o kit de ferramentas cuda.
cone

Respostas:

19

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

Isso é tudo.

Eu tentei instalar usando arquivos .deb, mas causa conflito de pacotes, para que eu mudei o caminho.

Aproveite!!

Dae-Chul Jo 조대철
fonte
10
Eu recomendo o uso de update-alternatives em vez de substituí gcc, consulte askubuntu.com/questions/26498/choose-gcc-and-g-version para mais detalhes
Mr.WorshipMe
100

Em um terminal, digite:


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

sudo apt update

sudo ubuntu-drivers autoinstall

reiniciar


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

eromod
fonte
10
Este deve ser aceito resposta
luboskrnac
6
Isso funcionou principalmente para mim. O único problema foi ubuntu-drivers não foi encontrado e teve que corrigi-lo, executando: sudo apt-get install ubuntu-drivers-comum (encontrado aqui: askubuntu.com/a/361868/766963 )
Volkan Paksoy
Isso funcionou para mim, embora eu tive que voltar para nouveau da UI antes de executar a instalação automática (ela relatou conflitos instalação v396 enquanto V390 foi instalado)
Alex Reinking
11
Isso funcionou perfeitamente. No entanto, sudo apt upgradetudo quebrou novamente, tenha cuidado com as atualizações!
Luis
11
Para mim, o autoinstallcomando resulta emThe following packages have unmet dependencies: nvidia-driver-415
MrMartin
12

Habilite o repositório multiverso, instale os drivers nvidia e nvidia-cuda-toolkit e gcc6 (de preferência usando as alternativas de atualização para alternar facilmente as versões):

  1. Em software e atualizações, selecione os repositórios restrito e multiverso
  2. Na guia Drivers adicionais em software e atualizações, selecione o driver proprietário da NVIDIA (390 para CUDA 9)
  3. sudo apt update && sudo apt instala o nvidia-cuda-toolkit ou instala-o no ubuntu software center.
  4. O CUDA requer o gcc6, use as alternativas de atualização para manter o gcc7 e o gcc6, conforme explicado aqui .

Como alternativa, você pode seguir as instruções de Taylor :

  1. Após instalar o driver proprietário da NVIDIA, faça o download da instalação do CUDA 9 no site (obtenha o Ubuntu a versão 17.04 runfile)
  2. torne o arquivo baixado executável com sudo chmod +x
  3. execute-o com a bandeira --override
  4. Aceite os termos e condições, diga sim para instalar com uma configuração não suportada e não para “Instalar o driver gráfico acelerado da NVIDIA para Linux-x86_64 384.81?”. Verifique se você não concorda em instalar o novo driver.
  5. Veja acima sobre o uso do gcc6

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

Mr.WorshipMe
fonte
2
Embora o link para a página do pacote seja útil e haja informações suficientes aqui para que esta não seja uma "resposta apenas ao link" ou qualquer outra coisa, recomendo que você edite isso para explicar como fazer o que está recomendando.
Eliah Kagan 27/04/19
6

Duvido que as respostas acima sejam qualificadas, porque parecem deixar o sistema sem todo o subsistema de driver da NVidia. Eu posso adivinhar por que o Cuda não puxa os drivers, embora eu provavelmente prefira tê-lo de outra forma. Também não tenho certeza de qual é a maneira correta de obter o driver mais recente, mas agora isso parece fazer o seguinte:

sudo apt-get install nvidia-driver-390

Hayvan M
fonte
3
Certo, se você não instalar os drivers da Nvidia a partir dos repositórios do Ubuntu, poderá ser necessário reinstalá-los após cada atualização do kernel.
precisa saber é o seguinte
Você provavelmente precisará também nvidia-driver-390-dev
Mr.WorshipMe
4

Foi o que eu fiz. Pode haver coisas extras que eu provavelmente não precisei fazer, mas vou incluí-las de qualquer maneira.

Primeiro, obtenha 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 login da 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 na maioria das vezes chamado Software & Updates, na guia Drivers Adicionais. Atualmente, o driver nvidia 396 está disponível.

Obtenha g ++ - 6 e gcc-6. (Requeridos)

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 me eram familiares. Eu não queria mexer com isso.

(Eu provavelmente pularia este, mas continuaria se outras coisas estivessem dando problemas)

sudo apt install nvidia-cuda-toolkit

Acabei instalando o arquivo de execução 9.1 para o Ubuntu 17.04. Baixe. Marque o arquivo como executável (clique com o botão direito do mouse no arquivo na área de trabalho). Entre no terminal e coloque. (Requeridos)

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

Ele o instalará usando os novos compiladores gcc. Ele fará várias perguntas e as responderá imediatamente.

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

Não para o driver da nvidia.

Sim - ao kit de ferramentas

Eu usei locais de instalação padrão

Após a instalação, certifique-se de configurar seus caminhos. O arquivo de execução também fornecerá um lembrete. A documentação da nvidia também informa 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ê precisa configurar os simlinks para gcc-6 e g ++ - 6 ou receberá um aviso ao compilar seu próprio código.

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. (Requeridos)

Derek Stinson
fonte
Boa resposta, mas na minha situação, o driver Ubuntu repo nvidia era a sub-versão errada! No momento da publicação, o nvidia-396pacote é a versão 396.37, que não funciona na minha GeForce GTX 950. Portanto, tive que instalar o 396.18 manualmente! Portanto, verifique se o driver é o que você realmente precisa.
precisa saber é
2

Vamos ver como minha resposta para 16.04 é:

  1. Baixar CUDA para Ubuntu 17.10 (runfile local) - O Tensorflow recomenda o CUDA 9.0 - O CUDA 9.2 parece não funcionar com o tf
  2. Instale os requisitos CUDA (consulte a seção abaixo)
  3. Corre sudo sh cuda_7.5.18_linux.run
  4. Siga as instruções da linha de comando.

Próxima etapa: 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 da tela! (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

Verifique 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)
Martin Thoma
fonte
0

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

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

Links Relacionados:

Instalação do driver NVIDIA

Acesse o site da NVIDIA - https://www.nvidia.com/Download/index.aspx 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.

Baixe. 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ê deverá ver a saída do terminal da Nvidia Drivers: insira a descrição da imagem aqui

# 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

Você deve ver o modelo correto da sua GPU: insira a descrição da imagem aqui

Instalando a biblioteca CUDA para todos os usuários

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

Baixar CUDA Toolkit a partir - https://developer.nvidia.com/cuda-downloads Selecione: Linux, x86_64, Ubuntu, 18.04, runfile (local).

Faça o 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 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
FooBar167
fonte