ubuntu 18.04+cuda10.1+cudnn 10.1安装

深度学习后面很多高级知识 必须在linux 系统中, 所以安装了ubuntu

也必须安装 cuda cudnn . 如果是pytorch 只能安装 10.1的 千万不要安装 10.2 不然出错

安装 cuda 很多的坑 说多了都是泪。

内核也不用重新降级 , gcc 也不用 应该是大于等于官网给的版本号就可以。 官网真是蛋疼。

官网安装指导:
https://docs.nvidia.com/cuda/archive/10.1/cuda-installation-guide-linux/index.html

验证机器能力

验证机器是否有N卡

lspci | grep -i nvidia

gcc 验证

gcc --version

验证内核

sudo apt-get install linux-headers-$(uname -r)

正确安装方式

下面错误的安装方式步骤都是对的 ,只不过安装前后关系有问题。 我按照官网的步骤安装了 发现cuda正确安装了 但是 显卡驱动不正常 。卸载了驱动 卸载了 显卡 重装了系统都不行,多次重装系统出现ubuntu引导不了问题, 接近崩溃边缘。后来抱着试一试的态度。 如下操作:

重装系统ubuntu 有一个细节

有一个选择 安装 wifi 各种软件的时候 选择 最小安装 不要安装 各种软件。

禁用nouveau驱动

在/etc/modprobe.d/blacklist.conf 里添加,如下内容,并执行 sudo update-initramfs -u 命令,

blacklist nouveau
options nouveau modeset=0

重启后用 lsmod | grep nouveau, 如果没有任何输出说明禁用成功。

安装cuda

因为cuda 自动会装 navidia 驱动 所以先不用装显卡驱动。
我的电脑 nvidia-smi 出现 不了画面 按照后面的 deb 模式安装 .run 的方式安装会一直失败 安装了 很多次 也接近崩溃。

验证cuda 出现:

cudaGetDeviceCount returned 100
-> no CUDA-capable device is detected
Result = FAIL

nvidia-smi 也不行。

卸载 显卡驱动

安装cuda 的时候 会自动 安装 显卡驱动 ,但是这个驱动不太兼容

sudo apt-get remove --purge nvidia*
sudo apt autoremove

重新安装 显卡驱动

重新按照下面的安装显卡的安装步骤 安装一个对应的显卡驱动 。

sudo apt-get update
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

两次 update 不能少 。

3)检查显卡和推荐的驱动

  sudo apt-cache search nvidia
			
   ubuntu-drivers devices

结果:

vendor : NVIDIA Corporation

driver : nvidia-driver-435 - third-party free

driver : nvidia-driver-440 - third-party free recommended

driver : xserver-xorg-video-nouveau - distro free builtin

于是步骤: 这里的 编号 就是上面的 recommended

4)安装驱动

sudo apt-get install nvidia-driver-418

验证

nvidia-smi 就会出现 , cuda 也正确安装了

在这里插入图片描述

在这里插入图片描述

cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make
./deviceQuery

在这里插入图片描述

nvcc --version

错误安装方式

首先内核不匹配 降低内核

这一步 就不写了 别人已经写好了。

内核下载地址:

https://pkgs.org/download/linux-image

参考:https://www.jianshu.com/p/db2755a07d7d

安装 gcc

因为 cuda 驱动 对GCC 版本要求严格 安装不同版本的时候 不要先把以前的版本 gcc 卸载了 不然后面编译 gcc 源码不成功 g++也是

具体参考
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

内核版本 和 GCC 版本必须对应 不然后面不容易成功
在这里插入图片描述

  1. 下载gcc-7.3.0

wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz


2.运行 download_prerequisites 脚本

```powershell
tar -xf gcc-7.3.0.tar.gz 
cd gcc-7.3.0
./contrib/download_prerequisites
  

3.配置

../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

make // 大概 40 min

make install

which gcc 查看安装位置

当ubuntu系统上安装了不同版本的gcc和g++,可以使用update-alternatives命令设置默认使用哪个版本,典型的如在Ubuntu 16.04里安装了gcc-4.8和gcc-6, 想让gcc命令自动使用gcc-6版.首先要让系统知道我们安装了多个版本的gcc

命令最后的 20和50是优先级,如果使用auto选择模式,系统将默认使用优先级高的

#/usr/bin/gcc-4.8 20 表示自己安装的目录
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50

同理修改g++的方式类似:

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50

安装显卡驱动

在这里插入图片描述 0)禁用nouveau驱动

在/etc/modprobe.d/blacklist.conf 里添加,如下内容,并执行 sudo update-initramfs -u 命令,

blacklist nouveau
options nouveau modeset=0

重启后用 lsmod | grep nouveau, 如果没有任何输出说明禁用成功。

1)卸载现有驱动:
不卸载后面有很多问题

–purge选项会将配置文件、数据库等删除

 sudo apt-get autoremove --purge cuda

查看安装了哪些cuda相关的库,可以用以下指令

$ sudo dpkg -l |grep cuda
 删除的包名要根据待删除的版本而定
$ sudo dpkg -P cuda-repo-ubuntu1604-9-1-local_9.1.85-1_amd64

这个key值是官网文档查到的,当然通过apt-key list也能查看

sudo apt-key list
sudo apt-key del 7fa2af80
sudo apt-get remove --purge nvidia*


sudo apt autoremove

sudo apt-get --purge remove "*cublas*" "cuda*"

sudo apt-get --purge remove "*nvidia*"


2)安装ppa显卡驱动源:

sudo apt-get update
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

两次 update 不能少 。

3)检查显卡和推荐的驱动

  sudo apt-cache search nvidia
			
   ubuntu-drivers devices

结果:

vendor : NVIDIA Corporation

driver : nvidia-driver-435 - third-party free

driver : nvidia-driver-440 - third-party free recommended

driver : xserver-xorg-video-nouveau - distro free builtin

于是步骤: 这里的 编号 就是上面的 recommended

4)

sudo apt-get install nvidia-driver-418

期间可能会设置密码,进行重启后的修改确认“Enroll MOK”

5)重启并检查(输入密码,在“Enroll MOK”中确认修改!)

查看:

nvidia-smi:

cuda 安装

在官网下载:https://developer.nvidia.com/cuda-downloads

历史各种版本:
https://developer.nvidia.com/cuda-toolkit-archive

如果遇到安装过程 遇到问题 查看官网指导 :https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

选择 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

在这里插入图片描述

最好选择deb(local)

在这里插入图片描述

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 http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-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

以上 二选一

添加环境变量:

sudo   gedit   ~/.bashrc
export CUDA_HOME=/usr/local/cuda 
export PATH=$PATH:$CUDA_HOME/bin 
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc

测试 安装成功:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make
./deviceQuery
nvcc --version

错误示范到此为止 真是经历了 81 难 。

cuda nn 安装

https://developer.nvidia.com/rdp/cudnn-download

普通机器 :x86_64architecture 服务器机器 :Power architecture
下载 cuDNN Library for linux

在这里插入图片描述

这就是一个 压缩包:

tar  -zxvf    cudnn-10.2-linux-x64-v7.6.5.32.tgz

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ 
sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*


检测是否安装成功:

下载三个文件:
cuDNN Runtime Library for Ubuntu18.04 (Deb)

cuDNN Develpoper Library for Ubuntu18.04 (Deb)
cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)

在这里插入图片描述
安装三个文件: 如下语法

sudo  dpkg  -i  libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb 

sudo dpkg  -i  libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
sudo  dpkg  -i  libcudnn7-doc_7.6.5.32-1+cuda10.1_amd64.deb 

编译测试:

cp -r /usr/src/cudnn_samples_v7/ /home/wdong/
cd /home/wdong/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

在这里插入图片描述

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

卸载 cuda

sudo apt-get --purge remove "*cublas*" "cuda*"

参考:

https://blog.csdn.net/caicaiatnbu/article/details/87626491

https://enterinit.com/ubuntu-remove-nvidia-cuda-drivers/

  • 5
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值