服务器的GPU使用了几年之后,驱动已经落后了,和新版本的pytorch无法兼容,因此需要重新更新一下驱动,这次也把NVIDIA的驱动和cudatoolkit以及cudnn等的关系给弄清楚了。
首先,需要卸载原来的驱动,这里不需要手动卸载,只需要将原来的安装文件执行加一个–uninstall的后缀:
./NVIDIA-Linux-x86_64-465.31.run --uninstall
之后,将服务器重启,并去官网下载与自己的GPU型号符合的驱动,进行安装。如果出现是否要安装lib32 兼容包的提示,可以选择不安装,如果选择安装,但是不成功也没有关系,继续安装完成即可。
用nvidia-smi命令查看,驱动更新完成后,显示的cuda版本号是系统可以兼容的最高cuda版本号。我们可以自己配置python的不同cuda版本的环境,这样就可以实现不同cuda版本的调用。
这里建议使用conda来安装和配置环境。先安装libmamba库来加速conda install的安装速度,同时这个库还可以更好地解决环境的依赖问题:
conda install -n base conda-libmamba-solver
conda config --set solver libmamba
接下来,去pytorch的官网,挑选比GPU显示的cuda版本低的任意一版与我们搭建的python环境适配的cuda版本的命令运行就可以了。我搭建的conda环境是python3.10的,GPU更新之后的cuda版本最高可以到12.5,但是我这里选的是cuda11.8,想要安装pytorch2.1,因此选的命令是:
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=11.8 -c pytorch -c nvidia
输入完命令,等待安装结束就好了,就是这么简单^_^。