Force CUDA toolkit версии 11.6 в Ubuntu 18.04, последняя версия в репозиториях — 9.1

Force CUDA toolkit версии 11.6 в Ubuntu 18.04, последняя версия в репозиториях — 9.1

Я только что установил cuda, следуя инструкциям на сайте 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

Затем я установил nvidia-cuda-toolkit:

sudo apt install nvidia-cuda-toolkit

Все прошло без проблем, но была установлена ​​версия 9.1 набора инструментов:

$ 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

Мне нужна версия инструментария 11.1 или более поздняя, ​​но, похоже, 9.1 — последняя версия в репозиториях:

$ 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).

Как мне принудительно установить последнюю версию?

Вот подробности моей системы:

$ 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

Заранее спасибо!

решение1

Если вы следите заофициальное руководство, вы следуете ему частично.

Вам необходимо установить один из следующих метапакетов:

Мета-пакет Цель
куда Устанавливает все пакеты CUDA Toolkit и Driver. Обрабатывает обновление до следующей версии пакета cuda, когда она будет выпущена.
cuda-11-6 Устанавливает все пакеты CUDA Toolkit и Driver. Остается на версии 11.6, пока не будет установлена ​​дополнительная версия CUDA.
cuda-toolkit-11-6 Устанавливает все пакеты CUDA Toolkit, необходимые для разработки приложений CUDA. Не включает драйвер.
cuda-tools-11-6 Устанавливает все командные строки CUDA и визуальные инструменты.
cuda-время выполнения-11-6 Устанавливает все пакеты CUDA Toolkit, необходимые для запуска приложений CUDA, а также пакеты драйверов.
cuda-компилятор-11-6 Устанавливает все пакеты компилятора CUDA.
cuda-библиотеки-11-6 Устанавливает все пакеты библиотеки CUDA времени выполнения.
cuda-библиотеки-dev-11-6 Устанавливает все пакеты библиотеки CUDA для разработки.
cuda-драйверы Устанавливает все пакеты драйверов. Обрабатывает обновление до следующей версии пакетов драйверов по мере их выпуска.

Так что самый простой способ - это

sudo apt-get install cuda

чтобы получить последнюю версию CUDA 11.6 полностью установленной. Например, ее компилятор будет установлен в этом месте:

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

с необходимой версией 11.6

$ 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

Также вы должны знать, что nvidia-cuda-toolkitпосылка пришла изРепозитории Ubuntuкак показано ниже

$ 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

поэтому вам не следует его использовать.

решение2

Если вы установите переменные окружения - PATHи LD_LIBRARY_PATH, это будет работать.

Пример:

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

Связанный контент