2016-05-17 7 views
1

です。私はLasagne/Theanoで複数のcpuコアのロジスティック回帰クラシファイアを実行しています。lasagne/Theanoはマルチコアを消費しませんが、check_blas.pyは

これは私の〜/ .theanorcファイルです:

[global] 
OMP_NUM_THREADS=20 

theano/miscの/ check_blas.pyすべての20個のコアを消費しますが、私のスクリプトにはありません。 私が実行したとき:

python -c 'import theano; print(theano.config)' 

私は、OpenMPの値がFalseであることを参照してください。

のOpenMP() ドク:許可(またはしない)のOpenMPとCPUの並列計算。 OpenMP並列化をサポートするOpを作成するときに使用されるデフォルト値です。 OpenMP並列化。 Theano 設定ファイル〜/ .theanorcまたは環境変数 THEANO_FLAGSを使用して定義することが望ましいです。並列化は、 が実装する一部の操作に対してのみ行われ、並列処理を実装する操作であっても、各操作はこのフラグを尊重するかどうかは自由です。環境変数OMP_NUM_THREADSで使用するスレッドの数を に制御できます。 1に設定すると、デフォルトでTheanoのopenmpが無効になります。 値:Falseの

は、誰もが、私は私のスクリプトのためのマルチコア機能を有効にする必要があります方法を知っていますか?

私のシステムには、blas、atlas、openmpなどがインストールされています。私はcheck_blas.pyで完全に動作すると言いました。

答えて

3

理由を見つけました。 OMP_NUM_THREADS = 20以外にも、openmp = Trueも〜/ .theanorcファイルに設定する必要があります。これで、20個のコアがすべて消費されます。あなたはsudoを使用している場合は、中/ルート.theanorcファイルを置く必要があることを

[global] 
OMP_NUM_THREADS=20 
openmp=True 
+1

注: マイ〜/ .theanorcファイルには、今のように見えます。 – Ash

+0

スレッドが作成されてもCPUを使用しない場合、1つの方法は、ソースからopenblasをインストールして、ソースからnumpyを構築し、ここで説明するようにnumpyを構築することです。http://stackoverflow.com/questions/11443302/compiling-numpy-with-openblas-integration – Ash

+0

既にインストールされているnumpyをopenblasに接続したい場合は、次のように読んでください:http://stackoverflow.com/questions/21671040/link-atlas-mkl-to-an-installed- numpy – Ash

関連する問題