不同linux账户切换不同的cuda版本

原因

由于服务器中安装了两个版本的cuda(cuda10.1和cuda11.1),不同项目可能需要应用不同的cuda版本,但是自己又没有root权限或者只想在使用指定conda环境时改为用指定的cuda版本 。总结起来有三种方法:

1、修改软链接指向,但是这样会使得所有环境以及所有账户的cuda版本都改变,会影响其他人**(强烈不推荐)**

2、修改 ~.bashrc 文件(修改方法见"不同linux账户切换不同的cuda版本"),这样不会改变其他账户的cuda版本,但是自己账户下的所有conda环境都会改变cuda版本,有时候不同conda环境安装的torch版本不一样,用到的cuda版本也可能不一样。(不太推荐

3、增加env_vars.sh 文件 (修改方法见"不同conda环境切换不同的cuda版本")。这样修改则是不同的conda环境使用的cuda版本不一样(强烈推荐 )。

下面介绍方法2的修改

修改步骤

1、查看默认的cuda版本

一般而言,默认会在/usr/local/下面创建一个软链接,指向某个cuda版本。

如下图

cd /usr/local 定位到目标夹

ls -al 即可查看,cuda指向的是10.1版本

我们来验证一下是不是所有的项目都默认采用cuda10.1编译器。

SAM环境中为cuda,(即指向cuda10.1)
yolov5环境中为cuda,(即指向cuda10.1)

2、修改 ~/.bashrc 文件

vim ~/.bashrc

加上下列代码,保存。(我是想将默认的cuda软链接路径,改成cuda11.1,根据你自己的cuda版本自行修改)

3、验证是否切换成功

修改好了.bashrc 文件后,必须要
source ~/.bashrc
重置环境才生效
。也可以切换到其他环境,再切换回来,总之就是要重置 ~/.bashrc 一次。

yolov5环境的cuda版本切换成功。

SAM环境的cuda版本也切换成功。虽然刚刚修改 .bashrc的操作是在yolov5环境下,但是因为 .bashrc 是针对该账户的,因此登录该账户的所有conda环境都会改变cuda版本。

大功告成

4、顺便提一句(torch编译时的cuda版本和运行时的cuda版本)

上面的 torch.utils.cpp_extension.CUDA_HOME 是运行时用到的cuda版本

torch.version 显示的是编译时用到的cuda版本

相关推荐
christine-rr2 分钟前
【25软考网工】第六章(4)VPN虚拟专用网 L2TP、PPTP、PPP认证方式;IPSec、GRE
运维·网络·网络协议·网络工程师·ip·软考·考试
程序猿小三9 分钟前
python uv的了解与使用
开发语言·python·uv
oioihoii11 分钟前
C++23 views::slide (P2442R1) 深入解析
linux·算法·c++23
T0uken12 分钟前
【Python】UV:单脚本依赖管理
chrome·python·uv
乐言36130 分钟前
如何用Jmeter实现自动化测试?
运维·jmeter·自动化
郭逍遥36 分钟前
[工具]B站缓存工具箱 (By 郭逍遥)
windows·python·缓存·工具
hnlucky38 分钟前
《基于 Kubernetes 的 WordPress 高可用部署实践:从 MariaDB 到 Nginx 反向代理》
运维·数据库·nginx·云原生·容器·kubernetes·mariadb
Jerry&Louis1 小时前
【Ubuntu】neovim & Lazyvim安装与卸载
linux·ubuntu
风筝超冷1 小时前
获取高德地图JS API的安全密钥和Key的方法
服务器·mysql·js api
工头阿乐1 小时前
PyTorch中的nn.Embedding应用详解
人工智能·pytorch·embedding