Numpy のスレッド制限
基礎となるスレッド管理の決定
numpy.show_config() の出力により、NumPy が ATLAS を利用していることがわかります。線形代数演算。行列乗算専用のスレッド数を制限するには、ATLAS のスレッド構成をターゲットにする必要があります。
スレッド制限構成
スクリプトを実行する前に、次の環境フラグを設定します。
- export MKL_NUM_THREADS=1: このフラグは、NumPy の特定の操作に使用されるインテル マス カーネル ライブラリ (MKL) によって使用されるスレッドの数を制限します。
- export NUMEXPR_NUM_THREADS=1: このフラグは、 NumExpr の並列処理レベル。NumPy で高速な数値計算に使用されるライブラリです。
- export OMP_NUM_THREADS=1: このフラグは、場合によっては NumPy で使用される並列コンピューティング プラットフォームである OpenMP のスレッド数を設定します。
マルチスレッドのトラブルシューティング
上記のフラグで問題が解決しない場合は、他のライブラリがマルチスレッドを導入していないかどうかを調査する価値があります。これらのライブラリの環境フラグの設定も調べてください。
- export BLAS_NUM_THREADS=1: NumPy で一般的に使用される線形代数ライブラリである BLAS のスレッド数を指定します。
- export LAPACK_NUM_THREADS=1: BLAS と統合された線形代数ライブラリである LAPACK のスレッド数を設定します。
以上がパフォーマンスを向上させるために Numpy でスレッドの使用を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。