Como posso instalar o CUDA 9 no Ubuntu 17.10

41

O Ubuntu 17.10 vem com o CUDA 8, que depende do clang 3.8 (por exemplo, veja este post do blog ).

No entanto, eu gostaria de instalar o CUDA 9 e confiar no GCC, se possível. Como posso fazer isso?

B0rk4
fonte

Respostas:

57

Instalação do driver NVIDIA 384

Primeiro, instalamos um novo Ubuntu 17.10 em um computador com uma GPU NVIDIA e selecionamos "Instalar software de terceiros" durante o processo. Como alternativa, podemos adicionar o repositório de drivers gráficos manualmente:

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

Em seguida, instalamos o driver NVIDIA mais recente usando o apt:

sudo apt install nvidia-384 nvidia-384-dev

Verificamos a instalação executando:

nvidia-smi

Devemos ver uma saída que lista o driver NVIDIA 384 e nossa GPU NVIDIA discreta - semelhante à tabela resumida abaixo:

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

Preparação para instalação do CUDA 9 + SDK

Instalamos vários pacotes de build / dev que precisamos mais tarde:

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

Percebemos que a versão padrão do gcc / g ++ na 17.10 é 7.2.0 (Ubuntu 7.2.0-8ubuntu3) :

gcc -v

O CUDA 9 requer o gcc 6. Assim, o instalamos:

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

Observe que a versão padrão do gcc é imóvel 7.2; pode ser verificado executando gcc -vnovamente.

Instalação do CUDA 9 + SDK

No CUDA Toolkit Archive , selecione um dos pacotes de instalação "runfile (local)" para baixar uma versão do CUDA 9, como

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

Torne o arquivo baixado executável e execute-o usando o sudo:

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

Instalamos o CUDA com as seguintes configurações:

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]

Configure links simbólicos para o 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++

Teste a instalação do CUDA 9 usando o SDK

Crie sua amostra CUDA favorita e execute-a:

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

Você pode configurar os links simbólicos do gcc / g ++ após a instalação do cuda.

B0rk4
fonte
1
Estive preso a esse assunto por um tempo. Na execução 17.10, tentando instalar o CUDA 9. Estou tendo um problema na etapa 2: nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Ran lspci | grep -i nvidiadiz que tenho uma GeForce GTX 760. mokutil --sb-statemostra o SecureBoot desativado. Ran sudo apt-get purge nvidia*, executou seu comando de instalação para 384 e executou dpkg -S nvidia-sminvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Alguma sugestão?
Clark Kent
4
Eu tinha que fazer, quer 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++ou sudo ./cuda_9.0.176_384.81_linux-run --overridecomo autor abaixo recomenda para instalar com êxito sem conflito compilador
y.selivonchyk
11
os dois comandos para adicionar os links simbólicos para o gcc 6 compiladores tem que ser feito após a instalação CUDA, porque / usr / local / CUDA não existe antes de instalar
Luis Lobo Borobia
1
Ajudante muito! A única coisa que fiz de outra maneira - criei links simbólicos após a instalação do cuda no final.
QtRoS
1
Antes da execução cuda_9.0.176_384.81_linux.run, como você criou os links flexíveis ( ln -s)? Você criou manualmente a pasta cuda?
Mahmood
5

A instalação deste processo levou mais tempo do que eu gostaria de admitir e, embora a resposta acima seja um bom modelo, tive algumas etapas adicionais necessárias para minha nova instalação do Ubuntu 17.10:

lista negra nouveau

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

Adicione o seguinte:

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

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Atualizar disco initramfs

sudo update-initramfs -u

Parar gdm3

sudo /etc/init.d/gdm3 stop

sudo init 3

Obter conteudo

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

Obter o pacote

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

Execute com --override para substituir a escolha do compilador

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

Depois de instalar o pacote, eu recebia erros com a nvidia-smi, então sugiro executar o comando novamente para verificar se ele funciona. Quando eu tinha problemas, limpava a nvidia * e a recebia novamente.

nvidia-smi
Clark Kent
fonte
Algumas pessoas podem precisar de parar lightdmem vez de gdm3, ver askubuntu.com/a/65867/422690
crypdick
1

Eu segui a resposta aceita (@ubashu) e tudo correu bem (se não for exatamente o mesmo, as instruções levarão ao caminho correto). Gostaria apenas de exportar para o Path (conforme especificado também em 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}}

Depois disso, você pode usar o nvcc -V para verificar se a instalação realmente correu bem.

Pedro Esmeriz
fonte