Linux多CUDA版本共存并切换使用

本文介绍了如何在Linux(Ubuntu 18.04)上安装和管理多个CUDA版本,包括降级gcc/g++以兼容CUDA9.0,并提供在不同CUDA版本间切换的方法,强调了软链接在版本管理中的作用以及cudnn的配合使用。

一、安装多个版本的CUDA

由于需要在linux服务器上配置多个实验环境,每个环境要求的cuda、pytorch等工具包是不同的版本。笔者是在安装了cuda10.1之后,在追加安装的cuda9.0。安装多个cuda工具包与安装一个的过程类似,详细步骤见这篇文章
这里就说一下安装多个cuda需要注意的点:(以追加安装cuda9.0为例)
1、首先,因为所用的Linux服务器为Ubuntu18.04,在Nvidia官网选择cuda版本时显示cuda9.0只支持17.04和16.04的Ubuntu,这里18.04版本的系统也是能够兼容16.04版本,所以选择16.04的安装文件下载即可。
2、在安装过程中驱动部分和是否创建软链接均先选择no
3、这里因为Ubuntu18.04版本使用了高版本的gcc和g++(7.4),要先将版本降下来才能安装cuda9.0版本(这里是降至6.5)
执行以下命令

sudo apt-get install gcc-6
sudo apt-get install g++-6

进入到/usr/bin目录下,通过

ls -l gcc*

可以看到gcc还是指向的gcc-7的。接下来需要修改软链接

# 备份
sudo mv gcc gcc.bak
sudo ln -s gcc-6 gcc
sudo mv g++ g++.bak
sudo ln -s g++-6 g++

再次查看版本指向6.5。这时开始cuda9.0的安装。
在这里插入图片描述
建议将cudnn加速库拷贝到相应的cuda目录中,这样在切换cuda使用时,不需要额外调整cudnn。比如配置cuda10.1的cudnn内容,下载cudnn包之后进行解压。执行以下命令将cudnn内容拷贝到对应版本的cuda目录中存放。cudnn安装细节见此篇

sudo cp cuda/include/cudnn.h /usr/local/cuda-10.1/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64/
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h
sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*

由于之前在~/.bashrc中设置的环境变量为

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

二、切换CUDA版本

在安装了多个cuda后,可以在/usr/local/目录下查看自己安装的cuda版本。
在这里插入图片描述
使用stat命令查看当前cuda软链接指向哪个cuda版本。这里指向的是9.0
在这里插入图片描述
当我们要使用其他版本的cuda,如cuda10.1,只需要重新建立软链接即可。(保持链接名称为cuda,与bashrc配置文件中保持一致)

sudo rm -rf cuda
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda

如下图所示。
在这里插入图片描述
要切换到其他版本同理,只需改动软链接cuda指向的路径即可。

参考资料

Ubuntu18.04配置安装CUDA9.0
多CUDA版本并存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值