因为pytorch版本与cuda版本有一定的对应要求,服务器上的cuda是不能自己随便动的,所以需要在自己账户中安装其他版本的cuda,而不能影响其他账户中已安装的cuda。这里参考了多篇博文总结出以下要点。
1. nvcc和nvidia-smi显示的版本不一致的问题
首先关注一个问题:自己账户中安装了其他版本的cuda后,nvcc -V命令会显示自己安装的cuda版本,但nvidia-smi显示的版本不会被更改,关于两者cuda版本的关系,这里直接引用这篇博客:
这里需要注意,按照上面的博客,自己安装的cuda版本(nvcc -V中显示的runtime api版本),是不能高于nvidia-smi中显示的cuda driver api版本的。
2. 安装cuda
从官网下载对应版本的cuda,注意,理论上如果要求cuda版本为11.3,那么下载11.3.x版本的cuda都是可以的。以下以11.3.0为例。
这里推荐下载runfile版本,与deb版本不同的是,runfile可以选择是否安装显卡驱动,因为涉及到额外版本的cuda安装,所以一般是已安装过显卡驱动的,所以不推荐以deb类型安装。按照红框内的命令行下载和安装。
如果第二行安装命令报错:“ Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.”
只需在后面加“–override”即可:
sudo sh cuda_11.3.0_465.19.01_linux.run --override
如下具体的安装过程参考这篇博文:
1. 存在驱动,是否删除之前的驱动继续下面的操作?
Existing package manager installation of the driver found. It is strongly recommended that you remove this before continuing. Abort
Continue
选择 [Continue],回车
2. 是否接受协议
Do you accept the above EULA? (accept/decline/quit):
accept
选择 [accept],回车
3. 选择安装选项
CUDA Installer
- [ ] Driver
[ ] 450.51.05
+ [X] CUDA Toolkit 11.0
[X] CUDA Samples 11.0
[X] CUDA Demo Suite 11.0
[X] CUDA Documentation 11.0
Options
Install
不选驱动(向上移动到“Driver”处,取消“X”),选择 [Install],回车
4. 是否创建软链接
A symlink already exists at /usr/local/cuda. Update to this installation?
Yes
No
#首次安装,选Yes,安装额外的版本,选No
这里是指将“/usr/local/cuda”所指向的原版本,重新指向新安装的cuda,由于其他账户很可能使用了这个默认的软链接,这里如果选yes,可能会导致该系统下的其他账户需要重新设置。而我们可以后续在自己账户里重新编辑cuda路径,而不使用这个软链接,因此这里选择 [No],回车。
3. 安装cudnn
cudnn版本需要和cuda版本对应,如11.3可以下载8.5、8.6或8.7,这里以8.5的Tar版本为例。
下载后首先解压:
$ tar -xvf cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz
之后在解压后的文件夹下打开终端,运行以下命令:
sudo cp include/cudnn.h /usr/local/cuda-11.3/include
sudo cp lib/libcudnn* /usr/local/cuda-11.3/lib64
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h /usr/local/cuda-11.3/lib64/libcudnn*
安装完成,可以删除下载和解压的cudnn文件了。运行nvcc -V命令可以看一下是否安装成功。
文章出处登录后可见!