Ubuntu安装英伟达Nvidia显卡驱动-CUDA-cuDNN
我的是英伟达Nvidia RTX 4090,以此为例,其他类似。Ubuntu版本是22.04.
方法1
1.禁用默认显卡驱动
1)打开配置文件
sudo gedit /etc/modprobe.d/blacklist.conf
2)配置文件最后增加
blacklist nouveau
3)保存文件后执行配置生效
sudo update-initramfs -u
2直接在线更新
1)在ubuntu系统中搜到Software update
2)点击setting
3)先点击Apply Changes,更新后点击 Restart
4)查看显卡信息
命令行nvidia-smi会显示当前显卡信息。
3.Wifi驱动无法显示解决
安装英伟达显卡驱动后(比如4090和3090等),可能会把wifi驱动去除,导致wifi无法连接。需要下面方法手工安装wifi驱动。
1)查看linux内核版本,根据这个版本号查找需要
uname -r
6.8.0-48-generic
2)Google或百度搜索找wifi驱动,使用关键字:
6.8.0-48 linux models iwlwifi
3)找到网址
linux-modules-iwlwifi-6.8.0-48-generic : amd64 : Jammy (22.04) : Ubuntu
进入后选择Pocket是security的版本链接
4)点击进入后下载deb文件
5)安装
sudo dpkg -i 文件名
6)重启系统
方法2
1.官网下载对应驱动安装
下面操作都是针对英伟达RTX4090显卡,其他类似。下载网址,有不同的版本,这里下载535版本:
需要知道自己机器显卡型号和安装的操作系统,先点击“搜索”,然后选择下载即可。
2.安装驱动
1)增加可执行权限
假设下载文件名为 ***.run
给驱动程序文件增加可执行权限:
sudo chmod +x ***.run
2)卸载原有驱动
sudo apt-get remove --purge nvidia*
3)禁止通用nouveau驱动
sudo gedit /etc/modprobe.d/blacklist.conf
配置文件最后增加
blacklist nouveau
保存文件后执行配置生效
sudo update-initramfs -u
4)重启查看
重启后在终端输入如下,没有任何输出表示屏蔽成功
lsmod | grep nouveau
5)从界面进入命令行
我这里可以正常进入
sudo telinit 3
如果不行,或者下面,
Ctrl + Alt + F1(到F6),我这里是Ctrl + Alt + F3
6)关闭桌面系统
sudo /etc/init.d/gdm3 stop
或
sudo /etc/init.d/lightdm stop
我的是gdm系统
停止成功
7)安装相关的库,一般都是gcc和make
sudo apt-get update
sudo apt install gcc
sudo apt install make
8)安装驱动
sudo sh **.run
9)gcc驱动问题解决
可能还是会出错,可能和linux版本更新时间有关,因为前期安装不会,后面这个问题出现过。根据提示,查看出错原因
less /var/log/nvidia-installer.log
Failed CC version check
cc: error:unrecognized command-line option ‘-ftrivial-auto-var-init=zero’
是cc版本引起,需要 gcc-12
删除驱动:
sudo apt-get purge nvidia
sudo apt-get autoremove
更新 gcc :
sudo apt-get install gcc-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
检查版本:
gcc --version
gcc (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0
重新nvidia驱动:
sudo sh ./NVIDIA-Linux-x86_64-550.67.run --no-opengl-files --no-x-check --no-nouveau-check
10)显卡驱动安装过程中
32位兼容库和运行x配置,都选择no,不要安装
11)安装后,运行下面可以重回到桌面系统
sudo /etc/init.d/gdm3 start
安装系统的CUDA和cudnn
1.安装CUDA
注意:这里12.2表示支持的最高版本,不是已经安装的,显卡支持不能超过这个版本
需要安装使用pytorch版本对应的CUDA和cudnn版本。
打开pytorch官网:PyTorch
查看对应的cuda版本
根据pytorch版本确定CUDA版本,这里选择12.1版本,后面部分还
有进一步介绍pytorch的安装。
目前最新的已经有12.4cuda显示。也可以选择用12.4
2、打开英伟达cuda官网
https://developer.nvidia.com/cuda-toolkit
点击Download Now,进入:
点击Archive of Previous CUDA Releases 进入
选择CUDA Toolkit 12.1.1 (April 2023), Versioned Online Documentation
逐步选择操作系统Linux、芯片架构x86_64、发行系统Ubuntu 、版本22.04和安装类型runfile,如下图
如何安装网站有说明,根据说明,先下载
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
再安装
sudo sh cuda_12.1.1_530.30.02_linux.run
会报错,因为没有安装gcc
sudo apt-get update
sudo apt-get install gcc
如果出现gcc版本问题,可能需要安装gcc12,看“安装英伟达显卡驱动-方法2-安装驱动中解决方法”
由于之前安装了驱动,这里取消选择Driver,如果没有安装显卡驱动,这里可以选择安装,具体操作:将光标置于Driver,回车即可,如下图
光标置于Install,回车安装
接下来设置到环境变量
在新终端输入:gedit ~/.bashrc
在文件最后输入:
export PATH=/usr/local/cuda-12.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH
点击Save后关闭该文件
在终端输入:source ~/.bashrc
最后验证安装是否成功,在终端输入:nvcc –V
出现下图说明安装成功:
2.安装cudnn
cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计,用来加速。
打开官方链接:https://developer.nvidia.com/cudnn
点击Download cuDNN Library按钮进入
依次选择操作系统Linux、芯片架构x86_64、发行系统Ubuntu 、版本22.04和安装类型,如下图
这里官方根据选择的信息,推荐安装cudnn-local-repo-ubuntu2204-9.1.1_1.0-1_amd64.deb
只要执行下面的安装命令即可。下面开始安装。
打开终端,输入:
sudo dpkg -i cudnn-local-repo-ubuntu2204-9.1.1_1.0-1_amd64.deb
执行完成后继续输入:
sudo cp /var/cudnn-local-repo-ubuntu2204-9.1.1/cudnn-*-keyring.gpg /usr/share/keyrings/
执行完成后继续输入:sudo apt-get update
执行完成后继续输入:sudo apt-get -y install cudnn
执行完成后安装成功
验证cuDNN安装成功,详见官网:https://docs.nvidia.com/deeplearning/cudnn/latest/installation/cross-compiling.html
这里交叉编译 位于usr/src/cudnn_sample_v9目录下的mnistCUDNN
具体步骤执行如下命令:
1)cp -r /usr/src/cudnn_samples_v9 $HOME
2)cd $HOME/cudnn_samples_v9/mnistCUDNN
3) sudo make 或者
make clean && make
4)最后输入./mnistCUDNN验证
如果没有安装make,执行make命令报错,执行以下两行代码:
sudo apt-get update
sudo apt-get install make
安装make,安装完成后再输入sudo make
没有安装 FreeImage 库,也会报错,
终端执行sudo apt-get install libfreeimage-dev安装
sudo apt-get install-essential
如果再有报错,网上一般可以查到解决方法,都是一些库没有安装好
安装即可。
安装后编译没有再报错
最后输入./mnistCUDNN验证,终端信息最后出现如下信息表示成功:
查看系统cudnn版本的命令:
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
可以看到是9.1.1版本,注意不同机器安装的cudnn_version.h的版本可能不同,根据自己调整。
需要注意:在安装人工智能平台框架(Pytorch或TensorFlow)的时候可以指定安装需要的版本CUDA,比如不同的pytorch版本和CUDA版本有严格的对应关系,看后面安装说明。此时会在pytorch的系统中安装对应的CUDA和对应的cudnn,后面会有讲述。
依赖pytorch运行的程序会使用自带安装的CUDA和cudnn,但是系统中很多库和包的安装是需要使用系统的CUDA和cudnn,所以也必须安装,同时和pytorch自带安装的保持一致。
机器学习原理与实践
https://www.bilibili.com/cheese/play/ss27274
优质课程,试听课一定听听,100%好评至今。