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)