首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用optirun在虚拟环境中运行python脚本

使用optirun在虚拟环境中运行python脚本
EN

Stack Overflow用户
提问于 2018-07-13 04:46:06
回答 1查看 232关注 0票数 0

如果python工具需要专用图形处理器(只能通过bumblebeeoptirun获得),如何运行使用虚拟环境和库的python工具(如click

示例:

代码语言:javascript
复制
#normally (with nvidia driver being the default)
agent --run-with-tf-gpu train

agent脚本触发基于单击的应用程序,然后该应用程序使用venv/bin/python二进制文件。

我有一个解决方案(见下面的答案),但我很高兴给出一个更好的“正确答案”。

EN

回答 1

Stack Overflow用户

发布于 2018-07-13 04:46:06

选项1:用包装器替换二进制文件

代码语言:javascript
复制
p=`pwd`
cd venv/bin
rm python #soft link to python3.6
echo 'optirun $p/venv/bin/python3.6 "$*"' > python
chmod +x python

选项2:创建别名

仅当未使用绝对路径调用python时才有效。

venv/bin/activate文件的末尾插入以下三行:

代码语言:javascript
复制
#setting optirun to be used when running python in venv
alias python="optirun python"
alias python3="optirun python3"

选项3:在前后打开和关闭卡

根据arch wiki的说法,以下内容还将全局启用该卡,因此可以很容易地使用IDE,否则,这些IDE将执行一些复杂的调用,并具有绝对路径等:

代码语言:javascript
复制
tee /proc/acpi/bbswitch <<< ON

现在,当您启动CUDA应用程序时,它将自动加载所有必要的模块。

要在使用CUDA后关闭nvidia卡,请执行以下操作:

代码语言:javascript
复制
rmmod nvidia_uvm
rmmod nvidia
tee /proc/acpi/bbswitch <<< OFF
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51314176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档