Ubuntu实现多版本CUDA切换——CUDA9.0与CUDA10.0切换

参考链接:https://blog.csdn.net/qq_18649781/article/details/89787858       

        git clone到的深度学习的代码需要使用各种不同版本的Tensorflow、PyTorch等库,而这些库不同版本所依赖的CUDA版本也不尽相同,所以在配置环境时会带来麻烦,实现不同版本CUDA的直接切换十分必要。

       保证多个CUDA版本共存的前提是NVIDIA的驱动都能够支持你所安装的CUDA版本,所以驱动的版本尽可能高,越新的驱动支持的CUDA版本越多,博主的418能够支持9.0和10.0。

       在先前安装的CUDA的过程中,大家一般都会选择生成cuda-x.0文件夹的软链接/usr/local/cuda,这个文件夹是实际安装的cuda-x.0文件夹的链接,不包含实际文件,是方便系统设置环境变量直接调用cuda的,安装多个版本的CUDA,然后利用软链接就可以实现版本切换。

       实现多版本CUDA共存的第一步,就是要将先前添加到.bashrc里的环境变量路径全部指向cuda软链接,也就是环境变量的路径里所有cuda-x.0的名字都改成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}}

      原先安装的是CUDA-9.0,所以nvcc -V指令可以获得版本信息:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

      安装新的CUDA-10.0时记得不要选择安装驱动且不要生成软链接,安装完成后可以在/usr/local/下看到cuda-9.0和cuda-10.0两个文件夹(cudnn的安装是把一个.h头文件和几个lib放到cuda的对应目录下面,记得sudo cp的时候写到真实的cuda-10.0这样的路径下,不要写到cuda软链接路径就好,这样不影响版本对应)。

      将cuda-9.0切换成cuda-10.0的过程如下:

sudo rm -rf /usr/local/cuda  #删除之前生成的软链接
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda #生成新的软链接

      完成之后即可看到nvcc -V输出的cuda版本已经变成了10.0。再想切回cuda-9.0只需要再用上述指令给9.0的路径生成新的同名软链接即可。

PS:由于改变了cuda版本,原先安装的某些包可能出现不兼容,需要卸载重装。

你可能感兴趣的:(牢骚)