Linux安装多个CUDA版本可切换
参考https://blog.csdn.net/tangjiahao10/article/details/125228143
服务器的cuda版本比较老,需要更新,但很多人用的都是老版本cuda的代码,所以装个可切换的新版本。
安装CUDA
注意到11系列的11.3好像是长期支持的版本,就下这个吧
cuda11.3下载地址https://developer.nvidia.com/cuda-11.3.0-download-archive
下载cuda_11.3.0_465.19.01_linux.run文件
安装
sudo sh cuda_11.3.0_465.19.01_linux.run
出现协议说明,别人说可以按q
跳过,但我用一些远程软件连的时候不可以,只能pageDown翻页,但翻到最下面也显示不全
所以这一步推荐使用系统的cmd登陆服务器,再进行操作!会直接出来提示框!
输入accept回车
把driver去掉,不安装这个
想当然了,如果本身的驱动比这个低的话要安装,否则无法使用。需要安装的可以把Driver勾选即可,后续也可以单独勾选Driver安装,但要注意需要关闭所有的图形化访问,比如x server,正在运行cuda或nvidia driver的程序。
选择install回车
接着会问 “A symlink already exists at /usr/local/cuda. Update to this installation?”
符号链接,现在已经有一个了,为了不影响现有的CUDA环境,选择No
这样就装好了
安装cuDNN
接着下载cudnn,最新支持ubuntu16.04和CUDA 11.x的只有8.2.1版本
解压并进入,拷贝到cuda-11.3,并给所有用户添加读的权限
tar -xvf cudnn-11.3-linux-x64-v8.2.1.32.tgz cd cuda sudo cp lib64/* /usr/local/cuda-11.3/lib64/ sudo cp include/* /usr/local/cuda-11.3/include/ sudo chmod a+r /usr/local/cuda-11.3/lib64/* sudo chmod a+r /usr/local/cuda-11.3/include/*
查看cuDNN版本,指令(这一步可跳过)
cat /usr/local/cuda-11.3/include/cudnn.h | grep CUDNN_MAJOR -A2
更新软链接
cd /usr/local/cuda-11.3/lib64/ sudo rm -rf libcudnn.so libcudnn.so.8 sudo ln -s libcudnn.so.8.2.1 libcudnn.so.8 sudo ln -s libcudnn.so.8 libcudnn.so sudo ldconfig -v
最后执行
source /etc/profile
切换CUDA版本
登陆需要的用户
vim ~/.bashrc
添加或者修改以下代码,这个地方填的版本即是你要使用的版本,所有的版本可以在/usr/local/中找到
export PATH=/usr/local/cuda-11.3/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH
保存后更新环境即可
source ~/.bashrc