次の方法で共有


3.1.1 omp_set_num_threads 関数

omp_set_num_threads 関数は、num_threads 句が指定されていない後続の並行領域に対して使用される既定のスレッド数を設定します。 形式は次のとおりです。

#include <omp.h>
void omp_set_num_threads(int num_threads);

パラメーター num_threads の値は正の整数である必要があります。 この関数の効果は、スレッド数の動的調整が有効になっているかどうかによって異なります。 omp_set_num_threads 関数とスレッドの動的調整間の関係を調べる包括的な規則のセットについては、8 ページのセクション 2.3 を参照してください。

この関数は、omp_in_parallel 関数が 0 を返すプログラム内から呼び出される場合に、上記の動作が発生します。 omp_in_parallel 関数が 0 以外の値を返すプログラムから呼び出される場合のこの関数の動作は未定義です。

この関数の呼び出しは OMP_NUM_THREADS 環境変数より優先されます。 omp_set_num_threads の呼び出しまたは OMP_NUM_THREADS 環境変数の設定によって指定されるスレッド数の既定値は、num_threads 句を指定することにより、単一の parallel ディレクティブにおいて明示的にオーバーライドされます。

クロス リファレンス

  • omp_set_dynamic 関数については、39 ページのセクション 3.1.7 を参照してください。

  • omp_get_dynamic 関数については、40 ページのセクション 3.1.8 を参照してください。

  • OMP_NUM_THREADS 環境変数については、48 ページのセクション 4.2 および 8 ページのセクション 2.3 を参照してください。

  • num_threads 句については、8 ページのセクション 2.3 を参照してください。