1、查看当前系统版本
cat /proc/version
显示为:
2、查看当前显卡型号:
显示我的显卡型号为:GM107M[GeForce GTX 950M]
3、安装GCC G++ make等工具
sudo apt-get install build-essential
gcc --version 验证gcc是否安装成功
sudo apt-get install g++
sudo apt-get install make
4、卸载旧驱动
sudo apt-get remove --purge nvidia*
5、根据显卡型号,下载对应的显卡驱动
下载驱动网址:Official Drivers | NVIDIA
我们可以选择版本下载,点击Official Advanced Driver Search | NVIDIA
然后,根据自己的显卡型号,查找驱动,我这里选择510.68.02
sudo wget https://us.download.nvidia.cn/XFree86/Linux-x86_64/510.68.02/NVIDIA-Linux-x86_64-510.68.02.run
6、安装驱动之前,需要禁用nouveau(nouveau 是专门用来逆向工程 NVIDIA 闭源驱动的开源驱动项目),因为ubuntu安装时会默认安装nouveau驱动,如果不禁用,会阻碍NVIDIA官方驱动的安装。
禁用nouveau
sudo vim /etc/modprobe.d/blacklist.conf
在文件末尾添加
blacklist nouveau
blacklist lbm‐nouveau
options nouveau modeset=0
alias nouveau off
alias lbm‐nouveau off
保存文件
wq
对刚才修改的文件进行更新
sudo update-initramfs -u
重启计算机,查看nouveau是否禁用成功
sudo reboot
lsmod | grep nouveau
执行完这句,如果没有任何输出,表示禁用成功。
7、关闭图形界面
进入 tty模式
ctrl + alt+ F1 或 ctrl + alt+ F2 或 ctrl + alt+ F3,视情况
输入:
sudo service lightdm stop
8、进入驱动所在目录,给驱动文件付权限,然后安装
sudo chmod +x NVIDIA-Linux-x86_64-510.68.02.run
sudo sh NVIDIA-Linux-x86_64-510.68.02.run -no-opengl-files -no-x-check -no-nouveau-check
参数说明:
-no-x-check:安装驱动时关闭 X 服务
-no-nouveau-check:安装驱动时禁用 nouveau
-no-opengl-files:只安装驱动文件,不安装 OpenGL 文件
9、挂载 Nvidia 驱动
sudo modprobe nvidia
10、查看驱动是否安装成功
nvidia-smi
参考网址:
Ubuntu下安装nvidia显卡驱动 - AI菌的个人空间 - OSCHINA - 中文开源技术交流社区
深度学习环境配置——ubuntu20.04装nvidia驱动_我与nano的博客-CSDN博客_ubuntu20.04安装nvidia驱动
-----------------------------------------------------------华丽分割线-------------------------------------------------------
1、查看自己电脑的驱动程序版本
nvidia-smi可以看到最高版本的cuda不能大于11.6
具体驱动程序对应的cuda版本可以通过官网查看
Release Notes :: CUDA Toolkit Documentation
2、下载cuda,官网地址:
CUDA Toolkit Archive | NVIDIA Developer
因为我的驱动是510.68.02,所以我下载CUDA Toolkit 11.6.2
选择runfile[local]方式安装.
PS:因为有的版本没有20.04就选择最高的,比如18.04
输入:
sudo sh cuda_11.6.2_510.47.03_linux.run
出现如下界面:
在这一步,输入 accept
因为驱动程序已经安装好了,所以按 空格 键,不要选中Driver这一项,然后选择Install,按回车键,开始安装.....
耐心等待中ing.......
安装完成后,会有如下提示:
配置环境变量
sudo vim /etc/profile
在文件末尾添加:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64
export PATH=/usr/local/cuda-11.6/bin:$PATH
保存文件
wq
刷新profile文件
source /etc/profile
看看cuda安装是否正常
nvcc -V
参考网址:
ubuntu20.04安装cuda库_是大小姐H啊的博客-CSDN博客_ubuntu20.04安装cudaUbuntu 20.04安装CUDA & CUDNN 手把手带你撸_哈希Map的博客-CSDN博客_ubuntu20.04安装cuda
-----------------------------------------------------------华丽分割线-------------------------------------------------------
cudnn安装
1、下载cudnn(需要登录)
https://developer.nvidia.com/rdp/cudnn-download
因为我的cuda版本是11.6所以,下载for cuda11.x
2、安装cudnn
点击这里查看安装说明Installation Guide :: NVIDIA Deep Learning cuDNN Documentation
安装步骤:
Download the Debian local repository installation package. Before issuing the following commands, you must replace X.Y and 8.x.x.x with your specific CUDA and cuDNN versions.
Procedure
sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_amd64.debOr
sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_arm64.deb
sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn8-samples=8.x.x.x-1+cudaX.Y
PS:
1、我在安装cudnn的时候,上述5、6、7的步骤中
libcudnn8=8.x.x.x-1+cudaX.Y中俄cudaX.Y没有cuda11.6
只有cuda11.7,如:第5步骤中的,应该为
sudo apt-get install libcudnn8=8.5.0.96-1+cuda11.7
而非:
sudo apt-get install libcudnn8=8.5.0.96-1+cuda11.6,虽然我的cuda的驱动是11.6.
通过官网说明得知:cudaX.X只有两种一种 cuda10.2 or cuda11.7
检查是否安装成功:
To verify that cuDNN is installed and is running properly, compile the mnistCUDNN sample located in the /usr/src/cudnn_samples_v8 directory in the Debian file.
$cp -r /usr/src/cudnn_samples_v8/ $HOME
$ cd $HOME/cudnn_samples_v8/mnistCUDNN
$make clean && make
$ ./mnistCUDNNIf cuDNN is properly installed and running on your Linux system, you will see a message similar to the following:
Test passed! 如果在运行make指令的时候,出现了不能编译,提示缺少FreeLmage.h与资源库的问题 则运行下面指令安装FreeLmage相关文件:
sudo apt-get install libfreeimage3 libfreeimage-dev
-----------------------------------------------------------华丽分割线-------------------------------------------------------
突破NVENC的并发限制:
NVIDIA的编码器并发时有限制,官网:https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new#Encoder
突破限制的方法,给驱动程序打补丁:(非官方)
https://github.com/keylase/nvidia-patch
选择相应的驱动程序,打补丁
我的驱动程序版本是:510.68.02
下载对应的补丁。
1、sudo git clone https://github.com/keylase/nvidia-patch.git
2、sudo bash ./patch.sh
3、回滚(如果出问题可以回滚到原始版本):
bash ./patch.sh -r
打补丁后进行测试,发现原先的报错消失了。多个视频均能够被正常编码。
参考网址:解决NVIDIA GeForce系列显卡NVENC并发Session数目限制问题_TracelessLe的博客-CSDN博客
===================华丽分割线=====================================
用的好好的nidia驱动找不到啦,
输入 nvidia-smi 提示:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
在终端输入nvcc -V 提示cuda还在
解决方法:
1、sudo apt-get install dkms
2、sudo dkms install -m nvidia -v 510.68.02
其中510.68.02是原来的驱动版本号,如果不知道
cd /usr/src
然后再次 输入 nvidia-smi
驱动回来啦!