无法在Ubuntu 16.04上安装CUDA

问题描述 投票:0回答:2

我多年来一直以这种方式安装各种版本的 CUDA:

sudo apt-get update
sudo apt-get purge cuda --yes

# eg for 9.0:
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

sudo apt-get install cuda=9.0.176-1 --yes

这一直很有效,我在一个脚本中可以自动设置我的 CI 机器。但今天我发现事情不再起作用了:

sudo apt-get install cuda=9.0.176-1 --yes
E: Unable to locate package cuda

显然,GPG 密钥已过期: https://github.com/NVIDIA/nvidia-docker/issues/1081#issuecomment-533717708

要解决此问题,您现在需要执行以下操作:

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey |  sudo apt-key add -

但是仍然出现同样的错误!我也尝试使用 CUDA 版本 10.0,但它以同样的方式失败。

cuda nvidia
2个回答
8
投票

这有效:

sudo apt-key adv --fetch-keys  http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
sudo apt update
sudo apt install cuda-10-0 --yes

同样的方法适用于 CUDA 9.0。不知道为什么我以前的方法不再有效。


0
投票

首先,通过写入确保wsl已更新

wsl.exe --update

在航站楼

并删除旧的 GPG 密钥:

示例:

sudo apt-key del 7fa2af80

然后,转到 https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_network 并选择您的参数,我推荐 deb(network) 文件。

这将为您提供安装说明作为命令。

例如,对我来说它看起来像这样:

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-5

如果您选择使用元包进行安装,请勿选择 WSL 2 下的“cuda”、“cuda-12-x”或“cuda-drivers”元包,因为这些包将导致尝试安装WSL 2 下的 Linux NVIDIA 驱动程序。仅安装 cuda-toolkit-12-x 元包。

祝一切顺利!据我所知,这应该有效,它对我有用!

© www.soinside.com 2019 - 2024. All rights reserved.