机器安装不同版本的cuda
之前的直观感觉是,一台机器一旦安装完一个版本的cuda之后,比如cuda8或者cuda10,基本上就固定了,如果我想run别人的代码的话,需要在不同的机器上进行切换,是一件很麻烦的事情
实际上一台机器可以安装不同版本的cuda,软件在用cuda 的时候回从系统变量中寻找cuda的路径,所以只需要更改~/.bashrc中的变量值
但是针对一个用户而言,run不同的代码频繁地更改.bashrc中的变量显然是不可取的
对于anaconda用户而言,我不同的虚拟环境不仅python版本不一致,a naive and intuitive question is that, can we gather python version and cuda version together?
实际上是可以的
用什么版本的cuda,只要是看.bashrc中的value of following variable
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:"$LD_LIBRARY_PATH:/usr/loacl/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export PATH=/usr/local/cuda-10.0/bin:$PATH
所以,如果在激活虚拟环境的时候,重新输入上面的变量,并且只在虚拟环境中有效的话,这样就能够在虚拟环境中使用特定的cuda
如下图
test_cuda是我创建的虚拟环境,在如上的虚拟环境中的两个文件夹的两个文件,其中activate.sh输入的内容为
ORIGINAL_CUDA_HOME=$CUDA_HOME
ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
ORIGINAL_PATH=$PATH
export CUDA_HOME=/usr/local/cuda-9.0
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:"$LD_LIBRARY_PATH:/usr/loacl/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export PATH=/usr/local/cuda-9.0/bin:$PATH
deactivate.sh输入的内容为
export CUDA_HOME=$ORIGINAL_CUDA_HOME
export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.0/bin:$PATH
unset ORIGINAL_CUDA_HOME
unset ORIGINAL_LD_LIBRARY_PATH
意思就是把原来的变量备份一下,当激活虚拟环境的时候,export我需要的cuda版本,然后deactivate的时候,再把原来的$CUDA_HOME等变量变为原来的值
测试了一下,确实好使
posted on 2020-02-21 18:26 YongjieShi 阅读(952) 评论(1) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?