参考了这篇文章https://blog.csdn.net/m0_37748381/article/details/121168702
我是为了使用pytorch才安装的cuda和cudnn加速,anaconda里也有cuda,但是和我这里安装的cuda不是一个东西,为了防止大家混淆,这里要讲一下关于cuda和cuda toolkit(pytorch)
通常所说的cuda是指Nvidia官方提供的工具,是为“GPU通用计算”构建的运算平台
。cuda toolkit是nvidia官方提供的完整的安装工具包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。
这是一个anaconda官方提供的用来build pytorch的一个工具包,你可以用pip来安装,也可以用conda命令安装
dpkg -l | grep nvidia | awk '{ print $2 }' | xargs apt -y remove
apt -y autoremove
这样可以把自带的N卡卸载干净。
注:网上大部分教程使用的是这个命令
sudo apt autoremove nvidia-*
但由于我安装cuda时没有经验,觉得deb包很方便,结果安装时出现以来解决依赖解决不了的问题,后来用aptitude还是没有解决。结果就要重装NVIDIA驱动,但是因为之前安装了乱七八糟的一堆包,用上面这个命令卸不干净,所以采用了我说的第一种方法。
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
sudo update-initramfs -u
reboot
重启后查看nouveau有没有运行,没输出代表禁用生效
sudo service lightdm stop
务必下载正确的包,否则后面会出现各种各样令人崩溃的问题
NVIDIA驱动下载
记得一定要下载.run
文件!
如果不知道自己电脑的型号,可以用以下命令查看
sudo lshw -numeric -C display
进入下载目录
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
nvidia-settings
到此为止,nvidia驱动就安装成功了!
之前我们使用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即可
接下来会出现一个选择的界面,默认是全部选择的,但是我们之前已经安装过nvidia驱动了,所以这里需要手动去掉第一项(下面也写了,上/下键用来移动,左/右键用来展开选项,enter是选择即对该选项做出修改)。
在第一项上按enter,然后一直下,选中最后那个install选项,按enter即可。这里安装过程需等待一会,安装期间不会有输出。
安装完会有如下显示
在终端输入
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即为成功
此时就可以在终端输入nvcc -V
来验证查看cuda版本了
到此为止,cuda就成功安装了!
这里需要注册登录(有点麻烦),登录之后就可以下载。注意查看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*
cat /usr/local/cuda/include/cudnn.h
到此为止,cudnn也安装完成了!
进入pytorch官网,首页只提供了最新的安装,如果你的cuda版本不是最新的,就要安装之前的版本
进去之后往下滑,找到对应自己cuda版本的安装命令安装即可(使用conda或pip均可)