Ubuntu多版本CUDA, gcc, g++切换
参考说明
:本博客主要参考知乎文章:Ubuntu多版本CUDA,GCC切换,并添加部分图片和解释。
保证多个CUDA和GCC版本共存的前提是NVIDIA的驱动都能支持你所安装的CUDA版本。
不同版本的CUDA和gcc可以在同一台机器上共存,只不过我们在不同项目的使用中,需要通过改动对应CUDA或gcc创建的软链接(调用接口),来切换调用不同版本,解决不同的软件要求不同的环境问题。
1. 切换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版本:
cat /usr/local/cuda/version.txt
-
将cuda-11.0切换成cuda-9.0的过程如下
sudo rm -rf /usr/local/cuda #删除之前生成的软连接 sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda #生成新的软连接
-
再查看此时cuda版本:
cat /usr/local/cuda/version.txt
2. 切换gcc版本
linux上可以gcc多版本共存,可以通过修改软连接的方式选择自己要用的gcc版本,该方法简单方便,可以随时依据自己的需求将gcc降级或升级,解决不同的软件要求不同的环境问题。
-
apt-get 安装gcc、g++,默认下载最新版本的,此时执行命令
gcc -v
和g++ -v
可以看到Ubuntu里的gcc和g++版本均为7.5.0。sudo apt-get install gcc sudo apt-get install g++ gcc -v #查看的版本为7.5.0,如下图 g++ -v #查看的版本为7.5.0,如下图
-
apt-get安装gcc、g++4.8版本。
sudo apt-get install -y gcc-4.8 sudo apt-get install -y g++-4.8
-
删除原有的gcc链接重新建立软连接。
cd /usr/bin sudo rm -r gcc #移除之前的软链接 sudo ln -sf gcc-4.8 gcc #建立gcc-4.8的软链接 sudo rm -r g++ #同上 sudo ln -sf g++-4.8 g++ #同上
-
版本更新完成。按照上述方法可以根据不同项目需求自由切换CUDA和gcc版本。