不同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版本

相关推荐
OPHKVPS1 分钟前
Anthropic官方Git MCP服务器曝三重漏洞:提示注入即可实现文件读写与远程代码执行
运维·服务器·git
小江的记录本3 分钟前
【JEECG Boot】JEECG Boot 系统性知识体系全方位结构化总结
java·前端·spring boot·后端·python·spring·spring cloud
SomeB1oody4 分钟前
【Python深度学习】1.2. 多层感知器MLP(人工神经网络)实现非线性分类理论
开发语言·人工智能·python·深度学习·机器学习·分类
正经教主4 分钟前
【docker基础】第三课:镜像管理与Dockerfile基础
运维·docker·容器
清水白石0087 分钟前
《从同步到消息驱动:现代后端交互模式的深度解析与工程实践》
python·交互
老虎06277 分钟前
Nginx
运维·nginx
deephub1 小时前
机器学习特征工程:缩放、编码、聚合、嵌入与自动化
人工智能·python·机器学习·特征工程
科雷软件测试6 小时前
Python中itertools.product:快速生成笛卡尔积
开发语言·python
lwx9148528 小时前
Linux-特殊权限SUID,SGID,SBIT
linux·运维·服务器
派大星~课堂8 小时前
【力扣-142. 环形链表2 ✨】Python笔记
python·leetcode·链表