因为跑不同代码的需要,要切换不同的CUDA,现给出解决条件。
安装的CUDA的过程中,第一次会生成cuda-x.0文件夹的软链接/usr/local/cuda,这个文件夹是实际安装的cuda-x.0文件夹的链接,不包含实际文件,是方便系统设置环境变量直接调用cuda的,安装多个版本的CUDA,然后利用软链接就可以实现版本切换。
为实现多版本CUDA,就是要将先前添加到.bashrc里的环境变量路径全部指向cuda软链接,就是把环境变量的路径里所有cuda-x.0的名字都改成cuda,如下:
先添加环境变量
vim ~/.bashrc
然后找到cuda 的环境变量
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
保存退出,使其生效
source ~/.bashrc
安装新的CUDA时不选择安装驱动且不生成软链接,安装完成后可以在/usr/local/下看到cuda-9.0和cuda-10.0两个文件夹(cudnn的安装是把一个.h头文件和几个lib放到cuda的对应目录下面,记得sudo cp的时候写到真实的cuda-10.0这样的路径下,不要写到cuda软链接路径就好,这样不影响版本对应)
cuda版本切换过程:
sudo rm -rf /usr/local/cuda #删除之前生成的软链接
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda #生成新的软链接
完成后查看cuda版本
cat /usr/local/cuda/version.txt
查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2