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

相关推荐
Ryan-Zhong1 分钟前
数字人口播视频 API 实战:Python 跑通模板合成、异步轮询与批量出片
开发语言·python·音视频
Z21-X3 分钟前
云原生运维实战笔记:华为云计算与网络类服务全景解析
运维·笔记·学习·云原生·华为云
Sayai4 分钟前
Elasticsearch ingest pipeline 被禁用之后:性能代价、安全治理与数据入库时间的四种替代方案
大数据·运维·安全·elasticsearch·搜索引擎·性能优化
阿愚先生4 分钟前
【从零手写GPT(一)】:RTX 5080 环境踩坑,我装错了两次 PyTorch
人工智能·pytorch·gpt
quantdash_cc6 分钟前
个人开发者用 QuantDash 读取港股行情:00700.HK 的 Python 函数封装与校验实践
python·数据分析·pandas·量化交易·股票数据·quantdash
kiros_wang6 分钟前
通用工具模块封装:防抖节流、参数校验公共工具类
linux·运维·ubuntu
fengci.9 分钟前
CTF2困难部分
开发语言·网络·python·安全·php
小小张说故事14 分钟前
Python 的 0.1 + 0.2 为什么不等于 0.3?拆开 IEEE 754 与那串死循环小数
后端·python
honsor16 分钟前
以太网温湿度传感器|动环监控核心采集设备,协议、组网、Zabbix接入实战
linux·服务器·ubuntu
Android系统攻城狮16 分钟前
Linux FFmpeg深度解析之avcodec_default_get_buffer2调用流程与实战(二十)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频