【问题标题】:Run python scripts in virtual environment using optirun使用 optirun 在虚拟环境中运行 python 脚本
【发布时间】:2018-07-12 20:46:06
【问题描述】:

如果该工具需要仅通过bumblebeeoptirun 提供的专用GPU,那么如何运行使用虚拟环境和库(如click)的python 工具?

例子:

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

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

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

【问题讨论】:

    标签: python virtualenv nvidia


    【解决方案1】:

    选项 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 后关闭 nvidia 卡:

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

    【讨论】:

      猜你喜欢
      • 2016-07-05
      • 1970-01-01
      • 2023-03-31
      • 2022-01-11
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 2020-02-10
      • 1970-01-01
      相关资源
      最近更新 更多