实验室管理多个cuda环境,优雅实现多个cuda共存,解决nvcc –V查看的cuda版本不是软链接的cuda对应的

多个cuda共存,解决nvcc –V查看的cuda版本不是软链接的cuda对应的

发现问题

服务器里面装了很多个版本的cuda.
1.查看/usr/local里面 cuda 版本的软链接——cuda
在这里插入图片描述
进入/usr/local目录 使用 stat cuda命令,可以看到指向的是cuda-8.0版本。

stat cuda

 
 
  • 1

在这里插入图片描述

2.一般情况下,nvcc –V查看的cuda版本就是软链接这里的8.0,但是查了之后发现,nvcc –V的是9.1:
在这里插入图片描述

解决问题

*修改环境变量PATH

流程

换了有管理员权限的账户进行操作的。

1.查看当前nvcc –V指向哪里的nvcc

在这里插入图片描述

2.查找原因,为什么没有指向软链接好的地方

查看环境变量path,命令:
echo $PATH
在这里插入图片描述
发现原因:是因为/usr/bin(①处)在PATH中相较/usr/local/cuda(②处)靠前,因此优先级高,所以nvcc –V命令会按照PATH顺序,先去①里面找,应该是在这文件夹里的nvcc中找到了9.1版本的cuda,所以就不去别的地方找了,就没有找到②处我们想要的cuda版本;

3.排除问题

首先,将/usr/bin/nvcc保存成其他格式的,会发现再调用nvcc –V命令会提示没有文件了:
:
其次,更改PATH内①和②顺序,采用的方法是将环境变量②位置提前:

export PATH=/usr/local/cuda/bin:$PATH

 
 
  • 1

在这里插入图片描述
$PATH:如果PATH不为空,则指的是PATH原来的内容,在这里就是把PATH赋值给②+原来的PATH内容;如果PATH为空,则指的就是空内容。

4.成功解决

nvcc命令成功指向软链接/usr/local/cuda里面的cuda版本-8.0
在这里插入图片描述

所以,接下来想用什么版本的cuda,都可以通过更改软链接的方式,直接指向想要用的cuda版本即可

更改软链接cuda版本

因为我想要使用10.0的cuda,所以需要如下命令:作者:Maple2014 安装多版本 cuda ,多版本之间切换
在/usr.local目录下:

#切换cuda版本
rm -rf /usr/local/cuda #删除之前创建的软链接
sudo ln -s /usr/local/cuda-8.0/ cuda

 
 
  • 1
  • 2
  • 3

最后文件名与参考帖有一点不同,其实没必要再加/usr/local/ 了,直接写cuda即可。
在这里插入图片描述
但是,服务器这里提示我没有权限,sudo rm删除旧的cuda版本需要我的账户有管理员权限,找同学用管理员账户给了我了管理员权限:
在这里插入图片描述
切换cuda版本:8.0→10.0,nvcc -V 查看转换成功!
在这里插入图片描述

参考帖

在此感谢实验室同学cw的帮助。

安装多版本 cuda ,多版本之间切换

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值