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

2022-08-05 09:44:59 浏览数 (1)

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

卸载旧驱动

  • 在登陆界面 ctrl alt F2 进入非图形界面控制台,登陆后输入命令:
代码语言:javascript复制
sudo apt-get remove nvidia-*
sudo apt-get autoremove
sudo apt-get purge nvidia*

安装驱动

加入PPA,然后更新库

代码语言:javascript复制
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update

查看适合本机的nvidia驱动

代码语言:javascript复制
ubuntu-drivers devices

选择合适自己的版本

代码语言:javascript复制
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,在文件所在文件夹安装:

代码语言:javascript复制
sudo sh cuda_10.2.89_440.33.01_linux.run
  • accept
  • n (不安装驱动)
  • y
  • y
  • y

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

代码语言:javascript复制
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

终端运行:

代码语言:javascript复制
source ~/.bashrc

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

代码语言:javascript复制
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即可解压

代码语言:javascript复制
tar -xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz

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

Cudnn version < 8.0
代码语言:javascript复制
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
代码语言:javascript复制
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可以查看版本

安装测试

查看显卡信息:

代码语言:javascript复制
nvidia-smi 

查看Cuda版本:

代码语言:javascript复制
nvcc -V

查看Cudnn版本

cudnn version < 8.0

代码语言:javascript复制
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

cudnn version ≥ 8.0

代码语言:javascript复制
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

0 人点赞