Forçar o kit de ferramentas CUDA versão 11.6 no Ubuntu 18.04, o mais recente nos repositórios é 9.1

Forçar o kit de ferramentas CUDA versão 11.6 no Ubuntu 18.04, o mais recente nos repositórios é 9.1

Acabei de instalar o cuda seguindo as instruções no site da nvidia:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-ubuntu1804-11-6-local_11.6.0-510.39.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-6-local_11.6.0-510.39.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

Em seguida, instalei o nvidia-cuda-toolkit:

sudo apt install nvidia-cuda-toolkit

Tudo isso ocorreu sem problemas, mas instalou a versão 9.1 do kit de ferramentas:

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

Preciso ter a versão 11.1 ou posterior do kit de ferramentas, mas parece que a 9.1 é a mais recente nos repositórios:

$ sudo apt install nvidia-cuda-toolkit
Reading package lists... Done
Building dependency tree       
Reading state information... Done
nvidia-cuda-toolkit is already the newest version (9.1.85-3ubuntu1).

Como posso forçar a instalação do mais recente?

Estes são os detalhes do meu sistema:

$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.6 LTS"
NAME="Ubuntu"
VERSION="18.04.6 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.6 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

$ uname -m
x86_64

$ uname -r
4.15.0-167-generic

Desde já, obrigado!

Responder1

Se você está seguindoguia oficial, você o segue parcialmente.

Você deve instalar um dos seguintes meta-pacotes:

Metapacote Propósito
cuda Instala todos os pacotes de ferramentas e drivers CUDA. Lida com a atualização para a próxima versão do pacote cuda quando ele for lançado.
cuda-11-6 Instala todos os pacotes de ferramentas e drivers CUDA. Permanece na versão 11.6 até que uma versão adicional do CUDA seja instalada.
cuda-toolkit-11-6 Instala todos os pacotes do CUDA Toolkit necessários para desenvolver aplicativos CUDA. Não inclui o motorista.
cuda-tools-11-6 Instala todas as ferramentas visuais e de linha de comando CUDA.
cuda-runtime-11-6 Instala todos os pacotes CUDA Toolkit necessários para executar aplicativos CUDA, bem como os pacotes de driver.
compilador cuda-11-6 Instala todos os pacotes do compilador CUDA.
cuda-bibliotecas-11-6 Instala todos os pacotes da biblioteca CUDA em tempo de execução.
cuda-bibliotecas-dev-11-6 Instala todos os pacotes de desenvolvimento da biblioteca CUDA.
drivers cuda Instala todos os pacotes de driver. Lida com a atualização para a próxima versão dos pacotes de driver quando eles são lançados.

Então a maneira mais fácil seria

sudo apt-get install cuda

para obter a versão mais recente do CUDA 11.6 totalmente instalada. Por exemplo, seu compilador será instalado neste local:

$ which nvcc 
/usr/local/cuda-11.6/bin/nvcc

com a versão 11.6 necessária

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Fri_Dec_17_18:16:03_PST_2021
Cuda compilation tools, release 11.6, V11.6.55
Build cuda_11.6.r11.6/compiler.30794723_0

Além disso, você deve saber que o nvidia-cuda-toolkitpacote veio deRepositórios Ubuntucomo mostrado abaixo

$ apt-cache policy nvidia-cuda-toolkit 
nvidia-cuda-toolkit:
 Installed: (none)
 Candidate: 9.1.85-3ubuntu1
 Version table:
    9.1.85-3ubuntu1 500
       500 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages

então você não deve usá-lo.

Responder2

Se você definir as variáveis ​​de ambiente - PATHe LD_LIBRARY_PATH, isso funcionará.

Exemplo:

export PATH=/usr/local/cuda-11.6/bin/$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH

informação relacionada