如果该工具需要只能通过click或optirun
才能使用的专用GPU,该人如何运行使用虚拟环境和bumblebee之类的库的python工具? >
示例:
#normally (with nvidia driver being the default)
agent --run-with-tf-gpu train
agent
脚本触发基于 click 的应用程序,然后使用venv/bin/python
二进制文件。
我有一个解决方案(请参阅下面的答案),但我很高兴以“正确答案”来奖励更好的解决方案。
答案 0 :(得分:0)
p=`pwd`
cd venv/bin
rm python #soft link to python3.6
echo 'optirun $p/venv/bin/python3.6 "$*"' > python
chmod +x python
仅在未使用绝对路径调用python时有效。
在venv/bin/activate
文件末尾插入以下三行:
#setting optirun to be used when running python in venv
alias python="optirun python"
alias python3="optirun python3"
根据arch wiki,以下操作还将全局启用卡,因此人们可以轻松地使用IDE,否则它们将使用绝对路径等执行一些复杂的调用:
tee /proc/acpi/bbswitch <<< ON
现在,当您启动CUDA应用程序时,它将自动加载所有必要的模块。
要在使用CUDA后关闭nvidia卡,请执行以下操作:
rmmod nvidia_uvm
rmmod nvidia
tee /proc/acpi/bbswitch <<< OFF