欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UBUNTU成功安装NVIDIA驱动,cuda,cudnn,解决循环登录问题;

程序员文章站 2022-04-08 08:40:41
...

前言

装过多次实验室服务器显卡驱动,踩过不少坑,这边觉得有必要记录下一套较为简单的安装方式,在下次遇到问题时可以迅速重装。

一方面:如果你的显卡不是很古老,2019年底了,至少RTX-1060以上了吧,建议都使用较新版本驱动软件;

另一方面:踩到坑,不能烦,心平气和解决问题;

环境

一切关于配置的问题不声明环境都是耍流氓

系统:Ubuntu16.04 64bit 
双显卡:Nvidia Quadro 5000 + Nvidia tesla k40c; (我的显卡算老的了,但装的较新版驱动,只要列表里支持就行)
驱动:nvidia 430.14
软件版本:cuda10 + cudnn7.6

NVIDIA驱动,cuda,cudnn下载地址:

https://www.nvidia.cn/Download/index.aspx(这里可看驱动支持哪些显卡)

https://developer.nvidia.com/cuda-toolkit-archive

https://developer.nvidia.com/rdp/cudnn-archive(cuda和cudnn版本需要匹配)

问题声明

在ubutnu上配置cuda时需要安装nvidia的驱动,图简单使用ppa源的方式安装驱动后出现了Ubuntu循环登录的问题,后来考虑直接下载.run文件进文本命令行模式安装;

问题解释(大概)

以下属于我的猜测:可能是opengl产生的冲突。

Nvidia驱动正确安装过程

卸载掉原有驱动

sudo apt-get remove –purge nvidia*

sudo apt-get autoremove

安装驱动

进入文本命令行界面

Ctrl-Alt+F1

给驱动run文件赋予执行权限

sudo chmod a+x NVIDIA-Linux-x86_64-430.14.run

安装(注意 参数)

sudo ./NVIDIA-Linux-x86_64-430.14.run –no-x-check –no-nouveau-check –no-opengl-files

  • –no-x-check 安装驱动时关闭X服务
  • –no-nouveau-check 安装驱动时禁用nouveau
  • –no-opengl-files 只安装驱动文件,不安装OpenGL文件

在NVIDIA驱动安装过程中,依次的选项为:

1

accept

2 The distribution-provided pre-install script failed … …

Continue installation

3 Would you like to run the nvidia-xconfig utility to automatically update your X Configuration file so set the NVIDIA X driver will be used when you restart X?

NO

4 Install 32-Bit compatibility libraries?

NO

安装完成后重启,并不会出现循环登录的问题

ctrl+alt+T打开终端,输入nvidia-smi命令,显示如下,表示驱动安装成功:

UBUNTU成功安装NVIDIA驱动,cuda,cudnn,解决循环登录问题;

安装cuda

首先下载CUDA,下载完成后进入文件下载的地址
然后赋予权限

sudo chmod 777 X # X为你下载的文件名,".run"后缀

在运行以下代码前,一定要先知道当选择选项 Install NVIDIA Accelerated Graphics Driver for nvidia*时候选择取消,其他选项选择yes,或则回车,并且查看协议时候有快捷键CART + D 进行翻页,其中X是你下载的CUDA9的文件名

sudo sh X  # 如果需要安装下载文件中自带的驱动,使用sudo,否则可以使用普通用户

##配置环境变量

进入环境变量

sudo gedit ~/.bashrc 

添加,下面内容到文件末尾,保存并关闭。

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
  • 测试cuda,最后输出有PASS,即为正确安装。
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery

安装cudnn

下载完成后直接解压,然后进入其include目录

cd cuda/include
sudo cp cudnn.h /usr/local/cuda/include  #复制头文件

进入lib目录,注意 -rf 参数一定不要沈略,并且再进入lib64之前,先看一下其中文件有哪些,并且操作目录一定要找出对应的操作目录,libcudnn.so后面的数字一定要做出相应的更改。下面这一步一定要看懂了逻辑之后操作。

cd cuda/lib64
sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7     
sudo ln -s libcudnn.so.7.0.3 libcudnn.so.7  
sudo ln -s libcudnn.so.7 libcudnn.so      

然后使用命令,可以看到输出相应的信息

nvcc -V

查看cuda版本:

cat /usr/local/cuda/version.txt

查看cudnn版本:

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

参考博文

https://blog.csdn.net/u010159842/article/details/54344683

https://blog.csdn.net/lernering/article/details/78615464#commentBox