【问题标题】:How to enable php run python script on GPU? [closed]如何在 GPU 上启用 php 运行 python 脚本? [关闭]
【发布时间】:2016-09-03 18:42:16
【问题描述】:

在我的 php 网站中,我使用 theano 调用 python 脚本并在 GPU 上运行。

但是,当从 php 调用此 python 脚本时,似乎 apache 对 GPU 没有任何权限,因此程序依赖于 CPU,与 GPU 相比效率要低得多。

如何授予 apache 在 GPU 上运行程序的权限?

【问题讨论】:

  • 您是否确定您的theano 已启用 GPU 处理 (deeplearning.net/software/theano/tutorial/using_gpu.html)?此外,您可能需要检查Numba(专门研究 NumPy 的即时编译器(来自 Continuum Analytics))GPU 的使用情况。见drive.google.com/drive/u/0/folders/0Bw5McUt95YdeanU5M0FFUlFsSjg
  • 可能值得使用解决方法。从普通用户(或 cron)开始循环脚本(bash?),等待工作(运行 python 脚本)。从 php 添加作业(可以是带参数的文本文件)。
  • 使用 sudo 调用 PHP 脚本。配置您的系统,以便 Apache 用户可以在没有密码的情况下使用 sudo 来执行此 Python 脚本。完成。
  • 我同意 @AlexeyRytikov 的观点,您应该使用一种解决方法,也许是外部 bash 脚本。

标签: php python apache gpu theano


【解决方案1】:

我会将其拆分,将需求作为事件保存在某个存储中(例如 redis 甚至是 rabbitmq)并使用一些守护脚本来监听它(cron 将是一个坏事,因为它很难让它运行得更频繁每一分钟)。该脚本将使用结果更新存储条目,您可以在 http 堆栈中再次访问它。您可以通过 ajax 实现功能或使用 php 中的 usleep 命令等待结果。如果使用 while 循环,不要忘记在 1 秒后中断它,这样请求不会运行太久。

您的问题可能是执行 php 二进制文件的配置用户 - 它可能不允许访问您系统上的这些二进制文件。通常是 www-data 用户。通过将 www-data 用户添加到必要的组中,您可能能够在不拆分所有的情况下解决它。查看二进制文件的所有权和权限以找出答案。

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 2022-07-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多