其实可直接看第 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. 总结

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

适配好你需要的 NVIDIA Driver(英伟达驱动),参考这里;

使用 1.2 节的runfile(local)方法先下载好相应的 cuda 版本;

按照第 3 节进行安装。

linux命令行下载cuda,linux 命令行下安装特定版本的 cuda (踩坑记录)相关推荐

  1. Linux下安装显卡驱动及CUDA程序

    Linux下安装显卡驱动及CUDA程序 系统参数 安装显卡驱动 通过ubuntu菜单下的软件与更新安装驱动程序 通过PPA仓库自动化安装 apt_get安装 查看可以安装的显卡驱动版本 通过apt-g ...

  2. 【Linux 】内核签名(签名内核模块)、linux 驱动签名、安装特定版本的 kernel-devel

    Linux 内核签名 Linux 内核签名(签名内核模块).linux 驱动签名_西京刀客-CSDN博客_linux内核签名 安装特定版本的 kernel-devel 两种方法. 一.yum 安装 查 ...

  3. r语言从网页下载东西内容 r安装特定版本的r包 r从网页下载 安装包

    加载 library(RCurl) getBinaryURL(url, -, .opts = list(), curl = getCurlHandle(), .buf = binaryBuffer(. ...

  4. webview进行下载踩坑记录

    webview下载操作的踩坑记录 背景记录 由于公司需要, 需要在在webview中执行下载操作, 而且下载完成之后还需要跳转到自动安装页面~~~~ 接下来就是踩坑报告 1.webview执行下载操作 ...

  5. 如何查看自己的电脑应该安装什么版本的cuda

    如何查看自己的电脑应该安装什么版本的cuda 打开控制面板,找到NVDIA 控制面板 如上图所示,点击系统信息,出来之后再点击组件,NVCUDA.DLL对应的就是cuda的版本了. 个人安装来看,我的 ...

  6. Windows查看 Cuda、Cudnn 版本、以及自己电脑需要安装哪个版本的 Cuda

    1.查看 Cuda 版本 打开 cmd , 输入 nvcc -V  2.查看 Cudnn 版本 进入 cuda 的安装路径, C:\Program Files\NVIDIA GPU Computing ...

  7. docker 启动命令_Jenkins视频课程在Docker环境下安装Jenkins,命令行如何启动Jenkins...

    Tomcat是Apache开发的一款servlet容器,可以提供java服务,作为服务器来使用.Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建.部署.自动化, 满 ...

  8. linux最新系统下载软件,linux lite4.8稳定版下载

    linux lite4.8稳定版是最新推出的linux稳定版操作系统,支持64位安装系统,并且拥有丰富完整的系统套件,让你开发与办公更加方便,还搭载了各种各样的主题皮肤,以及强大的图像编辑器和查看器, ...

  9. kali linux 虚拟机iso 下载,Kali Linux 2016.2发布提供虚拟机以及系统镜像下载

    Kali Linux 2016.2发布提供虚拟机以及系统镜像下载 Kali Linux 2016.2发布提供虚拟机以及系统镜像下载,本次Kali Linux 2016.2提供了五种桌面模式,分别为Gn ...

最新文章

  1. 禁用Browser Link
  2. 【Matlab】怎么修改Excel单元格颜色?
  3. 计算机应用主要学PS,全国计算机一级Photoshop应用试题及答案
  4. 智能判断图片中是否存在某物体_智能家居组件漫谈——人体传感器
  5. hql懒加载后判断对象是否存在_hibernate延迟加载(懒加载)详解
  6. 牛客14386 水仙花数
  7. 在Java中编写实现_在运行时编写和实现新的Java类文件
  8. 进程状态-Linux ps命令详细参数
  9. Java 原生 PCM 格式文件转 WAV
  10. VSS无法访问 (0x80072EFD) 转载
  11. win8 专业版激活方法
  12. durbin watson检验表_DW检验表
  13. ui设计现状与意义_对于ui设计行业来说,用户界面设计的发展现状是什么?
  14. github的Whoa there!问题
  15. android 9.0 app应用安装白名单
  16. 2月28日 赵神牛打BOSS
  17. TIM基本定时器——定时
  18. 机械手组装调试系列教程(一)——开题篇
  19. 做了6年php,30岁程序员要去做外包,这个选择靠谱么?网友:别!
  20. N880E ICS4.0搜索键改锁屏 仅修改一文件的一处

热门文章

  1. web安全学习笔记--sql语句(sql注入基础上)
  2. 阿里maven远程仓库地址
  3. 斯坦福php项目怎么样,科学网—发现自己的论文居然成了斯坦福大学的课程项目 - 杨双的博文...
  4. 老男孩教育 | 从0基础小白到年薪25w+,他是如何逆风翻盘的?
  5. 解决 Ubuntu 11.10 在 RTL8111/8168B 网卡下速度慢的问题
  6. CnOpenData中国发明公布专利信息申请数据
  7. 项目实战一 12306火车票余票查询软件
  8. Python操作MySQL之SQLAlchemy的坑 老版本vs新版本
  9. 初识Ranger用户权限管理
  10. jeecg扩展自定义菜单图标