2016-05-09 4 views
5

私のPHPのウェブサイトでは、私はtheanoを使用し、GPU上で実行されているPythonスクリプトを呼び出します。GPUでPHPを実行するPythonスクリプトを有効にするには?

しかし、このpythonスクリプトをphpから呼び出すと、apacheはGPUに対する権限を持たないように見えるので、プログラムはGPUに比べてはるかに効率的ではありません。

GPUでプログラムを実行するためのApacheの権限をどのように付与できますか?

+0

あなたの 'theano'がGPU処理を有効にしていることを確認しましたか(http://deeplearning.net/software/theano/tutorial/using_gpu.html)?また、NumPyに特化した「Numba」(Continuum AnalyticsのJust-In-Timeコンパイラ)のGPU使用状況をチェックしたい場合があります。 https://drive.google.com/drive/u/0/folders/0Bw5McUt95YdeanU5M0FFUlFsSjgをご覧ください。 – boardrider

+1

回避策を使用する価値があります。通常のユーザ(またはcron)からループしたスクリプト(bash?)を開始し、ジョブを待っているスクリプト(pythonスクリプトを実行)を開始します。 php addジョブから(引数を持つテキストファイルにすることができます)。 –

+0

また、これをチェックしてください:http://stackoverflow.com/a/5637909/3042057 –

答えて

0

私はそれを分割して、いくつかのストレージ(例えば、redisやrabbitmqなど)にイベントとして必要条件を保存し、デーモンスクリプトを使用してそれに耳を傾けます(cronは、毎分よりも)。スクリプトは結果を格納するエントリを更新し、httpスタックに再度アクセスすることができます。 functionallityをajaxで実装するか、PHPでusleepコマンドを使用して結果を待つことができます。 whileループを使用している場合は、1秒後などにブレークするのを忘れないようにしてください。

あなたの問題はphpバイナリを実行する設定されたユーザーかもしれません。システム上のバイナリにアクセスすることは許可されていないかもしれません。典型的にはそのwwwデータユーザ。必要なグループにwww-dataユーザーを追加することで、すべてを分割することなく解決できます。バイナリの所有権とそれを把握する権限を見てください。

関連する問題