Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制

1、查看当前系统版本

      cat /proc/version

      显示为:

2、查看当前显卡型号:

     sudo lshw -numeric  -C displayUbuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第1张图片

 显示我的显卡型号为: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

 Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第2张图片

 然后,根据自己的显卡型号,查找驱动,我这里选择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 文件

  • Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  选择 No 继续。

  • Nvidia's 32-bit compatibility libraries? 选择 No 继续。

  • Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  选择 Yes  继续

9、挂载 Nvidia 驱动

     sudo modprobe nvidia

10、查看驱动是否安装成功

     nvidia-smi

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第3张图片

参考网址:

Ubuntu下安装nvidia显卡驱动 - AI菌的个人空间 - OSCHINA - 中文开源技术交流社区

深度学习环境配置——ubuntu20.04装nvidia驱动_我与nano的博客-CSDN博客_ubuntu20.04安装nvidia驱动

-----------------------------------------------------------华丽分割线-------------------------------------------------------

CUDA安装

1、查看自己电脑的驱动程序版本

nvidia-smi可以看到最高版本的cuda不能大于11.6

具体驱动程序对应的cuda版本可以通过官网查看

Release Notes :: CUDA Toolkit Documentation

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第4张图片

2、下载cuda,官网地址:

CUDA Toolkit Archive | NVIDIA Developer

因为我的驱动是510.68.02,所以我下载CUDA Toolkit 11.6.2

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第5张图片

选择runfile[local]方式安装.

PS:因为有的版本没有20.04就选择最高的,比如18.04

输入:

sudo sh cuda_11.6.2_510.47.03_linux.run

出现如下界面:

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第6张图片

 在这一步,输入 accept

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第7张图片

 因为驱动程序已经安装好了,所以按 空格 键,不要选中Driver这一项,然后选择Install,按回车键,开始安装.....

耐心等待中ing.......

安装完成后,会有如下提示:

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第8张图片

 配置环境变量

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

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第9张图片

 因为我的cuda版本是11.6所以,下载for cuda11.x

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第10张图片

 2、安装cudnn

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第11张图片

 点击这里查看安装说明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

  1. Navigate to your  directory containing the cuDNN Debian local installer file.
  2. Enable the local repository.
    sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_amd64.deb
    Or
    sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_arm64.deb
  3. Import the CUDA GPG key.
    sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
  4. Refresh the repository metadata.
    sudo apt-get update
  5. Install the runtime library.
    sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.Y
  6. Install the developer library.
    sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y
  7. Install the code samples and the cuDNN library documentation.
    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.

Procedure

  1. Copy the cuDNN samples to a writable path.
    $cp -r /usr/src/cudnn_samples_v8/ $HOME
  2. Go to the writable path.
    $ cd  $HOME/cudnn_samples_v8/mnistCUDNN
  3. Compile the mnistCUDNN sample.
    $make clean && make
  4. Run the mnistCUDNN sample.
    $ ./mnistCUDNN
    If 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

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第12张图片

突破限制的方法,给驱动程序打补丁:(非官方)

https://github.com/keylase/nvidia-patch

选择相应的驱动程序,打补丁

我的驱动程序版本是:510.68.02

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第13张图片

 下载对应的补丁。

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

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_第14张图片

然后再次 输入  nvidia-smi

驱动回来啦!

你可能感兴趣的:(FFMPEG,ubuntu)