在我的php网站中,我使用theano调用了一个在GPU上运行的python脚本。但是,在从php调用此python脚本时,似乎apache没有GPU权限,因此程序退回到CPU上,与GPU相比效率要低得多。
如何授予apache在GPU上运行程序的权限?
如何授予apache在GPU上运行程序的权限?
我会将其拆分,将要求保存为事件存储在某个存储中(例如redis或甚至rabbitmq),并使用一些守护脚本来监听它(cron不是一个好选择,因为很难使其每分钟运行多次)。该脚本将使用结果更新存储条目,您可以再次在http堆栈中访问它。您可以通过ajax实现功能或利用php中的usleep命令等待结果。如果使用while循环,请不要忘记在1秒后或其他时间后中断它,以便请求不会运行太长时间。
您的问题可能是配置的用户,执行php二进制文件的用户可能无权访问系统上的那些二进制文件。通常是www-data用户。通过将www-data用户添加到必要的组中,您可能能够在不全部拆分的情况下解决它。查看二进制文件的所有权和权限以找出解决方法。
theano
启用了GPU处理吗(http://deeplearning.net/software/theano/tutorial/using_gpu.html)?此外,您可能还想检查`Numba`(一种即时编译器(来自Continuum Analytics),专门用于NumPy)对GPU的使用。请参见https://drive.google.com/drive/u/0/folders/0Bw5McUt95YdeanU5M0FFUlFsSjg。 - boardrider