linux 命令行下安装特定版本的 cuda (踩坑记录)

其实可直接看第 4 步的总结......

实验室服务器 Ubuntu 16.04 系统下原本安装的 cuda 版本是 9.0,硬件条件是一张 1080 Ti 的 GPU,在使用 PyTorch 的过程中想要把 cuda 版本换成 10.2,尝试了网上各种教程,无奈网络博客的质量实在是鱼目混珠,现在总结一下自己的踩坑记录,尽量详细地照顾到从头至尾的各个细节。

1. 走官网教程

首先想的当然是走官网的 cuda 安装教程啦,尝试了官网页面里的runfile(local)deb(local)安装方式选项均失败,失败过程的详细说明如下:

1.1. 使用deb(local)方法(不推荐)

官网给的安装方式为:

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
$ sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1604-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get -y install cuda

虽然服务器上已经有安装的 cuda 9.0,但此方法不需要先卸载老版本(大概是因为用的 apt-get 安装会自动覆盖吧),一路执行下来都没有报错,畅快地安装完成。然而,后又经过各种尝试后发现,在执行到最后一句sudo apt-get -y install cuda时,安装好的版本总是当前 NVIDIA 最新的 cuda 版本——截止到 2020.06.21 是 cuda 11.0,而我要安装的是 cuda 10.2(因为当前 PyTorch 只支持到 cuda 10.2)!

事实上,如果你要安装最新的 cuda 版本的话,这个方法非常好,安装流程到这里就可以结束了。

至于为什么总是安装的最新的 cuda 版本,而不是你以为的你指定的版本,大抵是因为最后那一句命令本质上还是用 apt 从软件源里下载 cuda,而软件源里的是最新版本所以你安装的也只能是最新版本吧。

1.2. 使用runfile(local)方法(推荐)

对于runfile(local),官网给的安装方式为:

$ wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
$ sudo sh cuda_10.2.89_440.33.01_linux.run

这个看上去靠谱多了,毕竟是下载到本地你指定的安装包然后直接在本地安装,但是在执行sudo sh cuda_10.2.89_440.33.01_linux.run发现依然报错,按其提示,用 cat 或 vim 查看相应的日志记录如下:

[INFO]: Driver not installed.
[INFO]: Checking compiler version...
[INFO]: gcc location: /usr/bin/gcc

[INFO]: gcc version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)

[INFO]: Initializing menu
[INFO]: Setup complete
[INFO]: Components to install:
[INFO]: Driver
[INFO]: 440.33.01
[INFO]: Executing NVIDIA-Linux-x86_64-440.33.01.run --ui=none --no-questions --accept-license --disable-nouveau --no-cc-version-check --install-libglvnd  2>&1
[INFO]: Finished with code: 256
[ERROR]: Install of driver component failed.
[ERROR]: Install of 440.33.01 failed, quitting

注意最后的[ERROR]: Install of driver component failed.,意思是驱动安装失败,我简直莫名奇妙。

找了找查看驱动相关的命令,使用sudo dpkg --list | grep nvidia-*命令查看了驱动版本号,发现竟然装了两个驱动版本!啥意思呢?就是原来我服务器上装的那个驱动,加上在上一步尝试deb(local)方法安装 cuda 时自动装的一个驱动,两个同时存在了。

为啥 cuda 覆盖了而 nvidia 驱动没覆盖,难道是我记错了 w(゚ Д ゚)w ?不过这其实并不重要,反正无论一个/两个都要卸载。

2. 解决驱动问题

为了这个专门写了篇博客,移步这里

3. 安装

配置好 nvidia 驱动后,可以安装 cuda 了,先删除原有的 cuda,再对 1.2 节里下载的文件运行安装就可以了。

sudo apt autoremove cuda
# 若上一步删不干净,接着使用:
sudo apt --purge remove "*cublas*" "cuda*"
# 在 1.2 节之前下载的文件目录下运行:
sudo sh cuda_10.2.89_440.33.01_linux.run

按照安装过程中的提示一步步走下来即可,会让你选择安装的组件等等,像 nvidia samples 后面那几个组件我就没有装。

4. 总结

简而言之,总的流程其实是:

  1. 适配好你需要的 NVIDIA Driver(英伟达驱动),参考这里
  2. 使用 1.2 节的runfile(local)方法先下载好相应的 cuda 版本;
  3. 按照第 3 节进行安装。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,002评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,777评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,341评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,085评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,110评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,868评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,528评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,422评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,938评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,067评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,199评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,877评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,540评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,079评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,192评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,514评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,190评论 2 357