解决Ubuntu循环登陆问题 + Nvidia驱动、Cuda、Cudnn安装

本文最后更新于:2022年8月5日 晚上

ubuntu系统显卡驱动偶尔会出现奇怪的问题,造成图形用户界面循环登陆,本文记录相关问题的解决方案。

卸载旧驱动

  • 在登陆界面 ctrl+alt+F2 进入非图形界面控制台,登陆后输入命令:
1
2
3
sudo apt-get remove nvidia-*
sudo apt-get autoremove
sudo apt-get purge nvidia*

安装驱动

加入PPA,然后更新库

1
2
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update

查看适合本机的nvidia驱动

1
ubuntu-drivers devices

选择合适自己的版本

1
sudo apt-get install nvidia-driver-440 nvidia-settings nvidia-prime

使用nvidia-smi 查看是否已经读取到安装的驱动,如果提示没有找到命令重启后再试

安装Cuda

到Cuda 下载地址下载适合自己的Cuda文件,建议下载runfile格式,比如我下载的cuda_10.2.89_440.33.01_linux.run,在文件所在文件夹安装:

1
sudo sh cuda_10.2.89_440.33.01_linux.run
  • accept
  • n (不安装驱动)
  • y
  • y
  • y

设置环境变量,在~/.bashrc 文件末尾加入:

1
2
3
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

终端运行:

1
source ~/.bashrc

运行:nvcc --version,如果显示类似如下信息说明安装成功

1
2
3
4
5
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89

安装Cudnn

到Cudnn下载页面下载与驱动、Cuda、需要运行软件要求相应的版本(需要注册Nvidia账号)。

Ubuntu可以下载.solitairetheme8格式文件,只要将扩展名改为tgz即可解压

1
tar -xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz

得到名为cuda的文件夹,在当前目录(不要进入cuda)运行:

Cudnn version < 8.0

1
2
3
4
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*

输入cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2可查看版本

Cudnn version ≥ 8.0

1
2
3
4
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
sudo chmod +x /usr/local/cuda/include/cudnn.h
sudo chmod +x /usr/local/cuda/lib64/libcudnn*

输入cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2可以查看版本

安装测试

查看显卡信息:

1
nvidia-smi 

查看Cuda版本:

1
nvcc -V

查看Cudnn版本

cudnn version < 8.0

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

cudnn version ≥ 8.0

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

解决Ubuntu循环登陆问题 + Nvidia驱动、Cuda、Cudnn安装
https://www.zywvvd.com/notes/environment/cuda/nvidia-install/nvidia-install/
作者
Yiwei Zhang
发布于
2020年3月27日
许可协议