ホームページ  >  記事  >  バックエンド開発  >  OMP_NUM_THREADS=1 が失敗した場合に Numpy のスレッド使用率を制限するにはどうすればよいですか?

OMP_NUM_THREADS=1 が失敗した場合に Numpy のスレッド使用率を制限するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-19 12:28:02645ブラウズ

How to Limit Numpy's Thread Utilization When OMP_NUM_THREADS=1 Fails?

Numpy のスレッド数の制限

OMP_NUM_THREADS=1 を設定しようとしても、特定の状況では、Numpy が複数のスレッドを使用し続けることがあります。この問題の根本を特定し、行列乗算で望ましいスレッド数 1 を達成するために、スレッドの使用量を制御する環境変数を詳しく調べてみましょう。

numpy.show_config() を通じて取得できる Numpy の設定により、その用途が明らかになります。 BLAS (基本線形代数サブルーチン) ライブラリの 1 つであり、計算エンジンとして機能します。ただし、Numpy で使用される特定の BLAS 実装を特定するのは困難な場合があります。

BLAS で使用されるスレッドの数を制限するには、スクリプトを実行する前に環境変数を設定します。一般的に使用されるライブラリには、OpenBLAS、MKL (インテル マス カーネル ライブラリ)、NUMEXPR などがあります。

export MKL_NUM_THREADS=1
export NUMEXPR_NUM_THREADS=1
export OMP_NUM_THREADS=1

スクリプトを実行する前にこれらの変数を設定することが重要であることに注意してください。マルチスレッドがまだ続く場合は、スクリプト内の追加のライブラリやコードなど、別のソースからマルチスレッドが導入されていることを示している可能性があります。

以上がOMP_NUM_THREADS=1 が失敗した場合に Numpy のスレッド使用率を制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。