篮之新喜 发表于 2024-6-25 23:09:20

Ubuntu20.04安装NVIDIA显卡驱动+cuda+cudnn配置深度学习环境

Ubuntu20.04安装NVIDIA显卡驱动+cuda+cudnn配置深度学习环境

下载驱动和卸载、禁用自带驱动程序

1、查看系统显卡型号
lspci | grep -i nvidia
https://img-blog.csdnimg.cn/direct/49b0210ab22b4243a705532a984e0a3d.png
2、从NVIDIA官网下载相应驱动 https://www.nvidia.com/Download/index.aspx?lang=en-us
https://img-blog.csdnimg.cn/direct/b42f0bb1ae024c7f908716a8f8c0b03b.png
3、卸载Ubuntu自带的驱动程序
sudo apt purge nvidia*
4、禁用自带的nouveau nvidia驱动
打开/etc/modprobe.d/blacklist.conf
# 图形化界面可以用gedit打开
sudo gedit /etc/modprobe.d/blacklist.conf
# 也可以用命令行打开
sudo vi /etc/modprobe.d/blacklist.conf
# 如果提示没有vi就安装一下: sudo apt install vi
在最后添加如下内容
blacklist nouveau
options nouveau modeset=0
然后保存退出。
5、更新
sudo update-initramfs -u
6、重启电脑
sudo reboot
7、重启后查看是否已经将自带的驱动屏蔽了,输入以下代码
lsmod | grep nouveau
没有结果输出,则表示屏蔽成功
安装显卡驱动

8、停止lightdm桌面服务
sudo service lightdm stop
假如提示没有lightdm,就安装一下,再执行上面的下令
sudo apt install -y lightdm
(因为后面使用的下令行界面tty1~7 需要lightdm)
接下来按住键盘的Ctrl+Alt+F1,假如黑屏就切换到tty2,按Ctrl+Alt+F2
假如Ctrl+Alt+F1后还表现图形化桌面就重启一下电脑,之后不要登录,在登录界面直接按Ctrl+Alt+F1或F2,这时应该进了下令行界面了,然后登录root用户大概你的平凡用户,假如登录root用户时全部暗码都登录失败,一般是因为你装系统时没设置root暗码的原因,这时就需要设置一下root账户暗码,执行以下下令:
sudo passwd root
然后会让你输入你的平凡用户暗码,再输入两次root暗码,然后就可以在下令行界面登录root账户了。
9、安装驱动
(1)首先查看你有没有安装gcc
gcc --version
https://img-blog.csdnimg.cn/direct/e7fa52eaa2e94e64a0bc98bbd8058f36.png
假如没有安装gcc一般make也没安装,这时需要安装一下gcc和make
sudo apt install gcc
sudo apt install make
# 或者直接执行
sudo apt install gcc & make # 同时安装gcc和make,不用一条一条执行了,效果和上面两条命令相同
(2)执行安装
cd到你下载的显卡驱动的目次
执行:
sudo chmod a+x NVIDIA-Linux-x86_64-450.80.02.run
sudo ./NVIDIA-Linux-x86_64-450.80.02.run -no-x-check -no-nouveau-check -no-opengl-files
# -no-x-check:安装时关闭X服务
# -no-nouveau-check: 安装时禁用nouveau
# -no-opengl-files:只安装驱动文件,不安装OpenGL文件
下面者两个按图中选择,其他默认就好
https://img-blog.csdnimg.cn/direct/ac912760a1a644848659e3e3c912ebed.png
https://img-blog.csdnimg.cn/direct/eb0032257bd545d29b6426b847e20ad9.png
安装完成以后执行
nvidia-smi
假如表现如下内容则表示安装成功
https://img-blog.csdnimg.cn/direct/866c11af2eee487587fdcf0322bac70b.png
安装cuda

10、从上面的图中可以看到我的显卡最高可以支持cuda11.0(绿色框内)
下载cuda https://developer.nvidia.com/cuda-toolkit-archive
首先需要知道差异版本的cuda需要的gcc版本是差异的,cuda11.0与gcc的对应关系如下:
https://img-blog.csdnimg.cn/direct/54b1574b21c3491bacfba0d69f1106c0.png
其他cuda版本与gcc的版本关系可以在cuda对应版本后面的document—>Installation Guide Linux下找到,不再赘述。
找到自己需要的cuda版本如下选择,最下面虚线框内会给出下载和下令
https://img-blog.csdnimg.cn/direct/f83c5c734eb346e3b129a1c145d71c0b.png
在终端中执行:
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
执行后下载到99%时,可能会报错 “S段错误”,当时搜了半天有说下载的trunk size太小巴拉巴拉的,捣鼓一通也没解决,后来推测可能时因为文件太大了直接wget才报错的,这时我们用另一个方法进行下载
使用axel进行下载,axel是一个多线程的下载工具,具体是什么请自行百度
11、安装axel
sudo apt install axel
# 下载cuda
# -n 50 指的是使用50个线程进行下载
axel -n 50 http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
12、下载完成后进行cuda安装
cd到下载的cuda所在目次
# 安装cuda
sudo sh cuda_11.0.2_450.51.05_linux.run
可能报错解决方案

假如报下面的错误提示,是因为下载的cuda出错了,重新下载再安装即可。
Extraction failed.
Ensure there is enough space in /tmp and that the installation package is not corrupt Signal caught, cleaning up
正常安装的环境下,会出现下面表现:
https://img-blog.csdnimg.cn/direct/8929751296e24369977fc131797bbee0.png
这是软件协议,跟平凡软件安装时一样,这时输入: accept
https://img-blog.csdnimg.cn/direct/78325d1eca86483d8dca487889e8d292.png
在Driver处敲回车,选择不安装驱动,因为之前已经安装过驱动程序,这里是因为每个cuda都会自带一套符合当前版本cuda最低要求的驱动程序,假如这里选择安装的驱动的话,在Windows上安装时会将之前安装的驱动覆盖,但是在linux上覆盖安装的话,可能会出现错误,具体没有试过,假如想试试可以自行测试。我们使用之前自己下载的驱动。
https://img-blog.csdnimg.cn/direct/59110d37b0ae46e0838d7ea5d449f1b6.png
然后按方向键将光标选中最后的Install再回车,开始安装,过一会儿会表现如下:
https://img-blog.csdnimg.cn/direct/ace3a3769fcd47f18cac7451a1bbc3b0.png
假如表现如上图,则表示安装完成,这时还不算安装成功,根据上面提示需要配置环境变量,进行如下操纵:
# 打开.bashrc文件
gedit ~/.bashrc
在文件末尾输入如下内容并保存退出。
# 将下面的11.0替换为你的cuda版本,其他不变,如果不知道自己安装的是哪个版本,就去/usr/local/文件夹下找一下
export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
完事儿以后,执行如下下令更新变量,使其生效
source ~/.bashrc
在终端输入
nvcc -V
假如表现
https://img-blog.csdnimg.cn/direct/4eff86926de447eda1a52366840a92e4.png
至此,cuda的安装就算完成了。
安装cudnn

13、下载cudnn https://developer.nvidia.com/rdp/cudnn-download
下载cudnn需要登录账户,可以用QQ大概微信注册一个用户然后登录找到对应cuda版本的cudnn点开找到第一个library点击下载就可以了。
https://img-blog.csdnimg.cn/direct/ad982f3bb4214deab5dac90e18c7e3b9.png
解压下载好的cudnn压缩包,然后执行
# 将文件复制到cuda对应的文件夹下
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*
cuda测试

显卡驱动+cuda+cudnn都安装完成了,当然要试一下能不能用了,接下来我们对其进行测试。
假如安装时安装了sample,那就可以在终端cd到NVIDIA_CUDA-11.0_Samples所在目次,一般默认在/home/你的用户名/NVIDIA_CUDA-11.0_Samples,然后执行make
假如出现如下错误,表示没有安装g++,那么就执行sudo apt install g++,然后再make
https://img-blog.csdnimg.cn/direct/e125432fdaba4c4b9f88ffd2170f1462.png
假如不出不测,等一会儿会编译通过
https://img-blog.csdnimg.cn/direct/69b654825e90436d9eab1545576cf251.png
然后我们cd到NVIDIA_CUDA-11.0_Samples/1_Utilities/deviceQuery下,执行
./deviceQuery
假如result=PASS表示通过
https://img-blog.csdnimg.cn/direct/86bbd98355d84104a08ae184e2d826f6.png
然后cd到NVIDIA_CUDA-11.0_Samples/1_Utilities/bandwidthTest下,执行:
./bandwidthTest
假如result=PASS表示通过
https://img-blog.csdnimg.cn/direct/44ecf7ad56c646dba233472287676cd2.png
至此,全部配置完成,如有错误欢迎留言指出。
制作不易,转载请注明出处,谢谢!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Ubuntu20.04安装NVIDIA显卡驱动+cuda+cudnn配置深度学习环境