其实可直接看第 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. windows 2003 下oracle从10.2.0.1升级到10.2.0.4
  2. OpenCV使用神经网络检测颜色检查器
  3. 【机器视觉】 if算子
  4. jquery概念、引入、选择器
  5. lnmp 备份mysql_mysql全量备份与增量备份
  6. python连载第七篇~python世界里的注释符号
  7. 深度学习之OCR相关经验记录
  8. java8 多行字符串_JDK8字符串拼接的正确姿势
  9. 软件系统开发费用的估算——功能点方法
  10. flash Android 11.5,增强稳定性 Flash Player 11.5已发布
  11. Roberts算子,matlab代码实现
  12. 中国电信中兴 B860AV 1.1-T线刷及卡刷固件和刷机教程.zip
  13. Android歌词转换器(支持动感歌词相互转换)
  14. PHP中的ereg()与eregi()
  15. 常见地图服务(WMS、WFS、WCS、TMS、WMTS
  16. Jmeter配置元件之授权管理器HTTP Authorization Manager
  17. [LeetCode]89.Gray Code
  18. Android性能调优:App启动速度优化
  19. #*nginx: [warn] conflicting server name “localhost“ on 0.0.0.0:80, ignored
  20. miix2 10 linux,联想Miix320安装Win10+Ubuntu双系统引导的方法(超简单)

热门文章

  1. 高通平台Bootloader启动流程【转】
  2. 使用 SQL Server 创建唯一索引
  3. Java登录页面实时验证用户名密码和动态验证码
  4. 开发工具:2022个人开发工具清单,你都用过吗?
  5. 正则应用之——日期正则表达式 1
  6. 全栈之路-前端篇 | 第二讲.基础前置知识【应用服务端与编程语言】学习笔记
  7. matlab怎么输出插值,matlab插值方法0.ppt
  8. 解决UITableView xib添加到Storyboard出现IB Designables错误
  9. 【亲测可用】豆瓣电影的API接口
  10. PyTorch深度学习实践概论笔记9-SoftMax分类器