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

2024-06-25 23:33:56 发布

您现在位置:Python中文网/ 问答频道 /正文

如果python工具需要专用的GPU(只能通过bumblebeeoptirun使用虚拟环境和click这样的库),那么如何运行该工具呢?你知道吗

示例:

#normally (with nvidia driver being the default)
agent --run-with-tf-gpu train

agent脚本触发基于click的应用程序,然后使用venv/bin/python二进制文件。你知道吗

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


Tags: 工具答案示例gpudriverwith虚拟环境agent
1条回答
网友
1楼 · 发布于 2024-06-25 23:33:56

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

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文件的末尾插入以下三行:

#setting optirun to be used when running python in venv
alias python="optirun python"
alias python3="optirun python3"

选项3:前后开关卡

根据arch wiki,下面还将全局启用该卡,这样就可以很容易地使用IDE,否则会使用绝对路径等执行一些复杂的调用:

tee /proc/acpi/bbswitch <<< ON

现在,当你启动一个CUDA应用程序,它将自动加载所有必要的模块。你知道吗

使用CUDA后关闭英伟达卡:

rmmod nvidia_uvm
rmmod nvidia
tee /proc/acpi/bbswitch <<< OFF

相关问题 更多 >