XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

omp_get_num_threads

omp_get_num_threads 関数は、その呼び出し元の並列領域を現在実行しているチーム内のスレッド数を戻します。この関数は、それを囲む最も近い PARALLEL ディレクティブにバインドします。

チーム内のスレッド数は、 omp_set_num_threads サブルーチンおよび OMP_NUM_THREADS 環境変数によって制御されます。スレッド数を明示的に設定しない場合、実行時環境は、マシン上のオンライン・プロセッサー数をデフォルトとして使用します。

プログラムの直列部分から、または逐次化されネストされた並列領域から omp_get_num_threads を呼び出すと、関数は 1 を戻します。

引き数タイプおよび属性

この関数への引き数はありません。

結果タイプおよび属性

デフォルトの整数

結果値

関数の呼び出し元の並列領域を現在実行しているチーム内のスレッド数。

      USE omp_lib
      INTEGER N1, N2
 
      N1 = omp_get_num_threads()
      PRINT *, N1
!$OMP PARALLEL PRIVATE(N2)
      N2 = omp_get_num_threads()
      PRINT *, N2
!$OMP END PARALLEL

コードの直列セクションでは omp_get_num_threads 呼び出しによって 1 が戻されるため、N1 には値 1 が割り当てられます。 N2 には並列領域を実行しているチーム内のスレッド数が割り当てられ、 2 番目の PRINT ステートメントの出力は、 omp_get_max_threads の戻り値以下の任意の数になります。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]