deepin20.9安装nvidia+cuda+cudnn

参考了这篇文章https://blog.csdn.net/m0_37748381/article/details/121168702

前言

我是为了使用pytorch才安装的cuda和cudnn加速,anaconda里也有cuda,但是和我这里安装的cuda不是一个东西,为了防止大家混淆,这里要讲一下关于cuda和cuda toolkit(pytorch)

cuda toolkit

通常所说的cuda是指Nvidia官方提供的工具,是为“GPU通用计算”构建的运算平台。cuda toolkit是nvidia官方提供的完整的安装工具包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。

cuda toolkit(python中)

这是一个anaconda官方提供的用来build pytorch的一个工具包,你可以用pip来安装,也可以用conda命令安装

安装NVIDIA驱动

卸载自带N卡驱动

卸载N卡驱动包

dpkg -l | grep nvidia | awk '{ print $2 }' | xargs apt -y remove
apt -y autoremove

这样可以把自带的N卡卸载干净。

注:网上大部分教程使用的是这个命令

sudo apt autoremove nvidia-*

但由于我安装cuda时没有经验,觉得deb包很方便,结果安装时出现以来解决依赖解决不了的问题,后来用aptitude还是没有解决。结果就要重装NVIDIA驱动,但是因为之前安装了乱七八糟的一堆包,用上面这个命令卸不干净,所以采用了我说的第一种方法。

禁用NVIDIA开源驱动Nouveau

编辑blacklist文件

sudo deepin-editor /etc/modprobe.d/blacklist-nouveau.conf

添加内容,保存并关闭

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

在终端继续输入,禁用Nvidia开源驱动

sudo update-initramfs -u

重启

reboot

重启后查看nouveau有没有运行,没输出代表禁用生效

sudo service lightdm stop

安装驱动

官网下载驱动

务必下载正确的包,否则后面会出现各种各样令人崩溃的问题

NVIDIA驱动下载

记得一定要下载.run文件!

如果不知道自己电脑的型号,可以用以下命令查看

sudo lshw -numeric -C display
deepin20.9安装nvidia+cuda+cudnn_第1张图片

给文件添加权限

进入下载目录

cd ~/Downloads

添加执行权限

sudo chmod +x NVIDIA***.run  #文件名改成自己下载的文件。

一般情况下,这里只要输入NVI,点击tab,系统就会帮你补全文件名

关闭图形界面

按Ctrl+alt+F2进入tty界面

关闭lightdm(不知道这是啥,应该是图形化界面的什么程序),否则待会会报x server的错误

sudo service lightdm stop

安装驱动

sudo ./NVIDI**.run  #文件名改成自己下载的文件

期间会分别出现三个安装选项,都选yes就行

安装完成后重启

reboot

检验是否安装成功

nvidia-smi
deepin20.9安装nvidia+cuda+cudnn_第2张图片
nvidia-settings
deepin20.9安装nvidia+cuda+cudnn_第3张图片

到此为止,nvidia驱动就安装成功了!

cuda安装

下载cuda toolkit

之前我们使用nvidia-smi对驱动进行了验证,注意在第一行输出了driver支持的cuda版本,我的是12.0,那么在选择cuda toolkit版本时就不能超过该版本(nvidia driver高版本向下兼容)。

如果你还是不确定应该选择什么,可以参考这个网站。

这里需要注意,作者在安装配置这些环境的时候是在deepin20.9上,系统时给予debian10,有些版本的cuda没有debian10对应的包(比如11.6一直到11.8),因此需要谨慎选择。

查看系统Debian版本

cat /etc/debian_version

我选择的是cuda-11.3.0

注意!!!这里一定要选择.runfile!

选择好之后,网站会显示安装命令,进入下载目录,打开终端执行即可(下面是我选择的版本的安装命令)

wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sudo sh cuda_11.3.0_465.19.01_linux.run

安装过程

安装选项

执行上述命令后会出现一个协议,输入accept即可

deepin20.9安装nvidia+cuda+cudnn_第4张图片

接下来会出现一个选择的界面,默认是全部选择的,但是我们之前已经安装过nvidia驱动了,所以这里需要手动去掉第一项(下面也写了,上/下键用来移动,左/右键用来展开选项,enter是选择即对该选项做出修改)。

deepin20.9安装nvidia+cuda+cudnn_第5张图片

在第一项上按enter,然后一直下,选中最后那个install选项,按enter即可。这里安装过程需等待一会,安装期间不会有输出。

deepin20.9安装nvidia+cuda+cudnn_第6张图片

完成安装

安装完会有如下显示

deepin20.9安装nvidia+cuda+cudnn_第7张图片

添加环境变量

在终端输入

vim ~/.bashrc

按i进入编辑模式,将以下代码添加到环境变量

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64

按esc退出编辑模式,输入:wq保存退出

刷新下环境变量

source ~/.bashrc

在系统/usr/local目录下创建toolkit11.3的软连接

sudo ln -s /usr/local/cuda-11.3 /usr/local/cuda

验证

$ cd ~/NVIDIA_CUDA-11.3_Samples/1_Utilities/deviceQuery
$ make
$ ./deviceQuery

出现pass即为成功

deepin20.9安装nvidia+cuda+cudnn_第8张图片

此时就可以在终端输入nvcc -V来验证查看cuda版本了

deepin20.9安装nvidia+cuda+cudnn_第9张图片

到此为止,cuda就成功安装了!

cudnn安装

下载cudnn

这里需要注册登录(有点麻烦),登录之后就可以下载。注意查看cudnn支持的cuda版本。

解压

下面的cudnn包名换成你自己下载的包名

tar -xvf cudnn-linux-x86_64-****.tar.xz

安装

其实就是将cudnn的库文件(include和lib)复制到cuda的安装目录

sudo cp -p lib/* /usr/local/cuda/lib64/
sudo cp -p include/* /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

查看cudnn版本

cat /usr/local/cuda/include/cudnn.h

到此为止,cudnn也安装完成了!

关于安装pytorch的GPU版本

进入pytorch官网,首页只提供了最新的安装,如果你的cuda版本不是最新的,就要安装之前的版本

deepin20.9安装nvidia+cuda+cudnn_第10张图片

进去之后往下滑,找到对应自己cuda版本的安装命令安装即可(使用conda或pip均可)

你可能感兴趣的:(pytorch,python,人工智能)