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?
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?
Respostas:
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 -v
novamente.
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.
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 --override
como autor abaixo recomenda para instalar com êxito sem conflito compilador
cuda_9.0.176_384.81_linux.run
, como você criou os links flexíveis ( ln -s
)? Você criou manualmente a pasta cuda?
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:
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
sudo update-initramfs -u
sudo /etc/init.d/gdm3 stop
sudo init 3
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
wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
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
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.
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Ranlspci | grep -i nvidia
diz que tenho uma GeForce GTX 760.mokutil --sb-state
mostra o SecureBoot desativado. Ransudo apt-get purge nvidia*
, executou seu comando de instalação para 384 e executoudpkg -S nvidia-smi
nvidia-384: / usr / lib / nvidia-384 / bin / nvidia-smi. Alguma sugestão?