Para o TensorFlow, eu gostaria de instalar o CUDA. Como faço isso no Ubuntu 16.04?
Para o TensorFlow, eu gostaria de instalar o CUDA. Como faço isso no Ubuntu 16.04?
Respostas:
Há um guia de instalação do Linux . No entanto, são basicamente apenas essas etapas:
md5sum cuda_7.5.18_linux.run
. Continue apenas se estiver correto.sudo apt-get purge nvidia-cuda*
- se você quiser instalar os drivers também sudo apt-get purge nvidia-*
.)
sudo service lightdm stop
/etc/modprobe.d/blacklist-nouveau.conf
com o seguinte conteúdo:
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
sudo sh cuda_7.5.18_linux.run --override
. Certifique-se de dizer y
o link simbólico.
sudo service lightdm start
Veja também: NVIDIA CUDA com Ubuntu 16.04 beta em um laptop (se você mal puder esperar)
Notas : Sim, existe a possibilidade de instalá-lo via apt-get install cuda
. Eu sugiro fortemente não usá-lo, pois altera os caminhos e dificulta a instalação de outras ferramentas.
Você pode também estar interessado em Como instalar o CuDNN no Ubuntu 16.04? .
*: Não instale os drivers de vídeo com este script. Eles são velhos. Faça o download dos mais recentes em http://www.nvidia.com/Download/index.aspx
O comando a seguir mostra a versão atual do CUDA (última linha):
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44
O comando a seguir mostra a versão do seu driver e quanta memória da GPU você possui:
$ nvidia-smi
Fri Jan 20 12:19:04 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57 Driver Version: 367.57 |
|-------------------------------+----------------------+----------------------+
| 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 | 0000:02:00.0 Off | N/A |
| N/A 75C P0 N/A / N/A | 1981MiB / 2002MiB | 98% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1156 G /usr/lib/xorg/Xorg 246MiB |
| 0 3198 G ...m,SecurityWarningIconUpdate<SecurityWarni 222MiB |
| 0 6645 C python 1510MiB |
+-----------------------------------------------------------------------------+
Consulte também: Verifique a instalação do CuDNN
Não entre em pânico. Mesmo se você não conseguir ver nada no seu computador, as etapas a seguir devem levar você de volta ao estado anterior:
mount -o remount,rw /
( -
é ?
e /
está -
no layout americano)sh cuda_7.5.18_linux.run --uninstall
sudo apt-get install nvidia-361 nvidia-common nvidia-prime nvidia-settings
Instalar os drivers gráficos é um pouco complicado. Isso precisa ser feito sem suporte gráfico.
dpkg -l | grep -i nvidia
sudo apt-get remove --purge nvidia-WHATEVER
sudo service lightdm stop
reboot
sua lista negra / PC, o driver nouveau ( tutorial em alemão )sudo apt-get install linux-headers-$(uname -r)
antes de executar o instalador. isso garante que os cabeçalhos do kernel e os pacotes de desenvolvimento específicos para o que você está executando estejam disponíveis e você não esteja enfrentando instalações com falhas no driver!
Tentei instalar várias vezes por meio do arquivo .run, mas sempre surgia algum erro e eu corri para um loop de login ou perdi completamente a exibição. Portanto, eu recomendaria usar o arquivo .deb e não mexer no gerenciador de exibição.
O Guia de instalação da NVIDIA CUDA para Linux é um excelente link que lista os detalhes completos. Certifique-se de seguir cada etapa conforme indicado.
Para instalar o driver Nvidia, você pode fazer o seguinte:
No menu "Pesquisar no seu computador", no Ubuntu, no canto superior esquerdo, procure "Drivers adicionais" (você também pode fazer Configurações do sistema-> Software e atualizações-> Drivers adicionais)
No menu exibido, selecione um dos drivers da Nvidia e clique em "Aplicar alterações" (esta etapa usa a Internet. Se ainda assim falhar, o servidor proxy poderá estar bloqueando o download).
Reinicie seu sistema.
Abra uma janela do terminal e digite nvidia-smi. Se o seu driver foi instalado corretamente, você verá algo como:
+ ------------------------------------------------- ----- + | NVIDIA-SMI 3.295.41 versão do driver: 295.41 | | ------------------------------- + ----------------- ----- + ---------------------- + | Nb. Nome ID do barramento | ECC volátil SB / DB | | Uso / limite de energia da temperatura do ventilador | Uso de memória | GPU Util. Computar M. | | =============================== + =================== ===== + ====================== | | 0. Tesla C2050 | 0000: 05: 00.0 Ativado | 0 0 | 30% 62 C P0 N / A / N / A | 3% 70MB / 2687MB | 44% Padrão | | ------------------------------- + ----------------- ----- + ---------------------- | | Processos de computação: GPU Memory | | PID da GPU Nome do processo Uso | | =================================================== ============================ | | 0. 7336 ./align 61MB | + ------------------------------------------------- ---------------------------- +
Você pode instalar facilmente o CUDA de acordo com o link anterior agora. Em resumo:
sudo apt-get install linux-headers-$(uname -r)
Faça o download de um kit de ferramentas aqui e instale o .deb
arquivo (substitua o nome de acordo)
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
então corra:
sudo apt-get update
sudo apt-get install cuda
deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /
. Observe que a instalação desclassificou o driver da nvidia-381 para -375. Eu deixei lá.
Unknown: Unknown This device is not working
Em seguida, ele me pergunta se quero usar Processor microcode firmware for Intel CPUs
. Eu deveria estar usando isso? Obrigado.
Eu também tentei abordagens de diferença para instalar o Cuda 8.0 no Ubuntu 16.04. Finalmente, estas são as etapas que fazem o truque. Eu segui este tutorial e atualizei as etapas corrigidas da seguinte maneira.
Atualize o sistema
apt-get update && apt-get upgrade
Faça o download do VirtualGL e instale-o. Para instalar
dpkg -i virtualgl*.deb
Baixe e instale o CUDA 8.0 e instale-o. Eu sugiro fazê-lo vs através da internet. Assim,
Instale as dependências necessárias.
apt-get install linux-headers-$(uname -r)
apt-get install freeglut3-dev libxmu-dev libpcap-dev
Atualize o PATH do sistema em .bashrc, que pode ser encontrado no diretório inicial. Observe que se você instalar essas coisas no local da diferença, atualize o caminho de acordo com isso.
export PATH=$PATH:/opt/VirtualGL/bin
export PATH=$PATH:/usr/local/cuda/bin
Instale o bumblebee-nvidia e o primus.
apt-get install bumblebee-nvidia primus
Edite o arquivo de configuração do zangão para que o zangão saiba que estamos usando o driver NVIDIA. Atualize o caminho de acordo com o seu sistema. Aqui está uma visão de referência que ajudará.
sudo nano +22 /etc/bumblebee/bumblebee.conf
Adicionar, acrescentar:
[bumblebeed]
ServerGroup=bumblebee
TurnCardOffAtExit=false
NoEcoModeOverride=false
Driver=nvidia
XorgConfDir=/etc/bumblebee/xorg.conf.d
Bridge=auto
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
AllowFallbackToIGC=false
Driver=nvidia
[driver-nvidia]
KernelDriver=nvidia
PMMethod=auto
LibraryPath=/usr/lib/nvidia-367:/usr/lib32/nvidia-367
XorgModulePath=/usr/lib/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
Execute o seguinte e grave o endereço PCI da sua placa de vídeo.
$ lspci | egrep 'VGA|3D'
00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02)
01:00.0 3D controller: NVIDIA Corporation Device 179c (rev a2)
Edite o arquivo xorg.conf.nvidia para que ele saiba o endereço PCI (01: 00.0 para mim) da sua placa de vídeo. Atualize o endereço PIC conforme abaixo na seção "ServerLayout"
sudo nano /etc/bumblebee/xorg.conf.nvidia
Adicionar, acrescentar:
Section "ServerLayout"
Identifier "Layout0"
Option "AutoAddDevices" "false"
Option "AutoAddGPU" "false"
BusID "PCI:01:00.0"
Reinicie o sistema e divirta-se executando alguns códigos de amostra.
sudo shutdown -r now
Os passos que funcionaram para mim:
sudo apt-get install nvidia-cuda-toolkit OU 1 '. as instruções de instalação aqui
Você precisa selecionar em Software e atualizações / Drivers adicionais o driver nvidia (375, no meu contexto)
Siga a tela azul ao reiniciar e somente a partir daí desative a inicialização segura inserindo sua senha definida durante a instalação do driver da nvidia. (qualquer inicialização segura desativada pelo BIOS não funcionou para mim).
Agora a saída do teste de instalação foi bem-sucedida.
Eu escrevi um post sobre isso há um tempo atrás - Instalação do kit de ferramentas Nvidia CUDA - ubuntu 16.04 LTS - notes /
Meu ambiente: inicialização dupla do Windows 10 e Ubuntu 16.04 LTS.
Copiando e colando aqui alguns dos principais aprendizados. Consulte a postagem do blog para obter instruções detalhadas (apenas para evitar duplicatas)
Consulte a instalação do kit de ferramentas Nvidia CUDA - ubuntu 16.04 LTS - notes /
Consegui funcionar depois de ler várias postagens: eu já tinha uma placa ATI no computador, o que acabou sendo muito útil. Instalei o GTX 1070 ao lado da ATI e comecei a instalar o Kubuntu 16.04. Somente a tela conectada à placa ATI tinha imagem inicialmente, o que me permitiu instalar o driver NVIDIA-Linux-x86_64-367.27.run baixado do site do fornecedor. Para instalar o CUDA, baixei o arquivo cuda_7.5.18_linux.run. Instalei o cuda toolkit usando dois comutadores:
cuda_7.5.18_linux.run --silent --toolkit
As amostras cuda também podem ser instaladas a partir do arquivo .run. Um problema foi cuda não gosta de gcc5. Então fiz sudo apt-get install gcc-4.8
e alterei o gcc padrão para esta versão:
cd /usr/bin/
sudo unlink gcc
sudo ln -s gcc4.8 gcc
sudo unlink g++
sudo ln -s g++-4.8 g++
Substituí o gcc pelo gcc5 após a instalação do cuda. Compilar as amostras de cuda também precisa ser feito com o gcc4.8, o gcc4.9 pode funcionar, mas eu não tentei.
Um método geralmente preferido é instalar o SW via arquivos deb, quando disponíveis, pois eles fornecem uma maneira mais robusta de lidar com dependências e um método mais confiável para remover o SW. O candidato a lançamento do CUDA 8.0 estava disponível para 16.04 (na zona dev) dessa maneira e agora o CUDA 8.0 para Ubuntu 16.04 está disponível através de arquivos deb (local) e (rede): https://developer.nvidia.com/cuda -Transferências
Apenas um lembrete gentil, o Ubuntu 16.04 pode não instalar o cuda no local assumido /usr/local/cuda-8.0.61
. Portanto, export PATH=/usr/local/cuda-8.0.61/bin${PATH:+:${PATH}}
pode não funcionar.
Quando estava tentando instalar "cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb" no Ubuntu 16.04, simplesmente segui as instruções aqui http://docs.nvidia.com/cuda/cuda -install-guide-linux / index.html # post-installation-actions . No entanto, não foi possível compilar cuda-install-samples-8.0.61.sh \ home ou nvcc -V
Aconteceu que o Ubuntu instalou o cuda em /usr/local/cuda-8.0
vez do local assumido /usr/local/cuda-8.0.61
. Por isso, mudei export PATH=/usr/local/cuda-8.0.61/bin${PATH:+:${PATH}}
para export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
e instalei com êxito o cuda.
A resposta aceita não funcionou no meu caso. Eu estava instalando o CUDA 8.0 no meu labtop com as seguintes especificações:
O guia a seguir instala o driver NVIDIA primeiro e depois instala o CUDA 8.0.
Na lista, encontre sua placa gráfica. Entre os drivers que podem ser usados para a placa, escolha o driver proprietário da NVIDIA. Em seguida, pressione o botão [Aplicar alterações]. No meu caso, sob o nome da placa gráfica "NVIDIA Corporation: GM107M [Geforce GTX 950M]", havia duas seleções:
Exclua os drivers de vídeo padrão instalados com $ sudo apt remove xserver-xorg-video*
.
cuda_8.0.61_375.26_linux.run
.$ sudo sh cuda_8.0.61_375.26_linux.run
.
375.66
, que é maior que a 375.26
contida no instalador, optei por não instalar.ld.so.conf
e ocorrer o seguinte erro:, libEGL.so.1 is not a symbolic link
siga a direção deste link .Esta é uma resposta muuuuito longa, já que eu estava ferrando meu laptop várias vezes enquanto escrevia. No entanto, prefiro mantê-lo por muito tempo, pois talvez seja útil para outras pessoas também;) A melhor parte da minha resposta começa em Editado-Atualizado
Tããããão, li todas as respostas aqui e em outros lugares, não sei por que, mas cada uma delas me causa um problema :(
Após 4 dias, reinstalar o Linux aqui e para cá é a maneira que funcionou para mim.
Antes de ir para o procedimento principal, quero mencionar um método alternativo.
método alternativo se você estiver usando um laptop:
Assim, você pode alternar entre sua nvidia e sua intel gpu no seu laptop usando
sudo prime-select intel
sudo prime-select nvidia
Em outras palavras, você pode alternar para a Intel e instalar a nvidia e voltar para a Intel para usos normais e sempre que desejar usar a opção de aprendizado profundo para a nvidia one.
De qualquer forma,
deixe-me falar sobre o método principal que finalmente funciona para mim (as informações aqui são extraídas principalmente do Link ):
Excluindo e eliminando todo o material existente da nvidia / cuda:
sudo apt-get remove --purge nvidia-*
sudo apt-get purge nvidia-cuda*
sudo apt-get purge nvidia-*
sudo /usr/bin/nvidia-uninstall
sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
sudo rm -rf /etc/modprobe.d/blacklist-nouveau.conf
Então, apenas atualizamos tudo:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo reboot
Agora, haveria a possibilidade de você não conseguir fazer login e ficar preso no loop ...
Não se preocupe, eu enfrentei isso mais de 50 vezes ...
pressione ctr+alt+F2
digite seu nome de usuário e senha
agora digite estes:
sudo service lightdm stop
Opcionalmente, algumas pessoas também precisam digitar isso, honestamente, não sei qual é o uso dele: sudo init 3
sudo nano /etc/modprobe.d/blacklist-nouveau.conf
Adicionar, acrescentar
blacklist nouveau
options nouveau modeset=0
e salve e saia.
Então digite:
sudo update-initramfs -u
vá para o arquivo em que você tem o arquivo cuda .run e digite:
sudo sh cuda_8.0_linux.run --override
sudo service lightdm start
sudo reboot
Então, se você tiver sorte, poderá fazer login agora. Como você pode imaginar, eu não tive sorte e ainda não consegui entrar no f ****. Então eu tive que pressionar ctr+Alt+F2
novamente e fazer o seguinte:
sudo ubuntu-drivers autoinstall
sudo reboot
Agora eu poderia finalmente entrar.
Agora é a hora de definir os caminhos e verificar as instalações.
tipo:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64 ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
nvidia-smi
nvcc -V
deve mostrar que você tem cuda 8.
Também no caso de você também poder fazer o seguinte:
export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
gedit ~/.bashrc
adicione estes no final:
export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH
Salve e saia do gedit. Tipo:
sudo ldconfig /usr/local/cuda-8.0/lib64
Uma pergunta para as pessoas que sabem mais do que eu:
Tudo parece funcionar, mas quando eu desligo / reinicializo o sistema por alguns segundos, ele mostra
Então, tudo parece funcionar, mas quando eu desligo / reinicializo o sistema por alguns segundos, ele mostra "Falha ao iniciar o carregamento de módulos do kernel" . Tentei este post, mas não está ajudando, por favor, deixe-me saber se você sabe como corrigi-lo.
----------------
Editado-Atualizado
Adivinha, eu estraguei tudo de novo.
Mas desta vez eu vim com uma solução muito mais fácil. e aqui está o ponto principal: às vezes precisamos dizer NÃO
Aqui está o que funciona muito bem para mim. depois de limpar e remover tudo e reiniciar o sudo, faça o seguinte:
sudo ubuntu-drivers autoinstall
sudo reboot
pressione ctr+alt+F2
digite seu nome de usuário e senha
agora digite estes:
sudo service lightdm stop
sudo sh cuda_8.0_linux.run
IMPORTANTE: durante a instalação, a primeira pergunta solicita a reinstalação do driver novamente, DIGA NÃO a essa mãe f **** pergunta Diga sim para o restante deles: D depois de terminar.
sudo service lightdm start
press `alt+ctr+F7`
faça o login no seu PC querido
Funcionou? Não há de quê :)
Inicialmente, tentei fazer essas sudo lightdm stop
coisas, mas isso levou a um loop de login. Então eu encontrei um novo método:
Copie o arquivo cuda_9.0.176_384.81_linux.run
(no meu caso, era um arquivo de execução) para qualquer diretório, /home/<your_username>
como Downloads ou Documentos ou qualquer outro lugar.
Depois disso, reinicie o computador e, quando o menu de inicialização do Ubuntu aparecer, vá para 'Opções avançadas → Modo de recuperação' (se ele não aparecer, mantenha pressionada a shifttecla durante a inicialização)
Selecione 'soltar no shell raiz', pressione ENTER para continuar quando solicitado, pressionando enter ou Ctrl-D.
Editar : Execute mount -o rw,remount /
para obter privilégios de leitura e gravação.
Vá para o diretório em que você copiou o arquivo de instalação cuda.
Execute o comando com base no tipo de arquivo, que pode ser encontrado em https://developer.nvidia.com/cuda-downloads após selecionar o destino desejado, como você fez anteriormente. No meu caso foisudo sh cuda_*.run
Este é um passo importante e prossiga devagar e com cuidado , quando a longa informação / contrato terminar ACEITO .
Em seguida, perguntará sobre a INSTALAÇÃO DO NVIDIA DRIVER e pressione sim ( y ).
Em seguida, ele provavelmente perguntará sobre a instalação das bibliotecas OpenGL , ignorá-lo porque pode substituir a instalação normal do driver e causar problemas , no meu caso. Então, pressione não ( n ).
Em seguida, vá em frente com todas as instalações e ela será concluída automaticamente e, finalmente, mostrará o arquivo de log/tmp
.
Agora, reinicie o sistema digitando o comando reboot no shell do modo de recuperação.
Após a inicialização do sistema, ele pode não mostrar os arquivos de amostra CUDA, porque você precisa concluir estas duas etapas obrigatórias de pós-instalação:
[A] Adicione o caminho correto para cuda.
[B] Adicione o caminho correto para LD_LIBRARY_PATH
Adicione o caminho ao arquivo ~ / .bashrc e execute source ~/.bashrc
para tornar o caminho permanente para que ele não desapareça após a reinicialização, confirme fechando o terminal atual e executando o segundo comando na etapa 12 novamente em outro terminal.
Consulte Vá para 7. Ações pós-instalação
Para verificar se o CUDA está instalado corretamente ou não, execute os dois comandos mencionados abaixo e verifique se a nvcc -V
saída está ou não
cat /proc/driver/nvidia/version
nvcc -V
Vá para ~/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery
e execute:
make
./deviceQuery
e combine a saída com esta imagem , você pode ser diferente, mas o formato da saída deve corresponder.
Parabéns você instalou o CUDA Toolkit com sucesso . Depois disso, vá aqui e tente alguns exemplos. Vá para 7.2 Ações recomendadas .
CORTESIA - DOCS CUDA TOOLKIT
PS - Qualquer tipo de crítica é bem-vinda, pede desculpas antecipadamente por qualquer erro, esta é minha primeira resposta no askubuntu.com.
MUITO OBRIGADO PELA LEITURA:)
Tendo feito isso várias vezes, perdendo com êxito / sem êxito a minha tela, chegando aqui - obtendo informações - algumas bibliotecas cuda não no caminho, ausentes ou não instaladas - a maneira mais sadia é instalar os drivers Linux para o seu cartão nvidia https: // medium.com/techlogs/install-the-right-nvidia-driver-for-cuda-in-ubuntu-2d9ade437dec e trabalhe em imagens de docker nvidia-cuda - base ou devel.
Faça o mapeamento de volume da sua pasta de código para o contêiner - instale o que você deseja - O mesmo com o trabalho com keras ou tensorflow ou apenas o opencv puro
docker run --net = host --runtime = nvidia -it -v ~ / coding: / codificação da nvidia / cuda: / bin / bash
Nota O TF também vem com sua janela de encaixe