omp_get_thread_num()

目的

この関数は、チーム内の現在実行しているスレッドの数を戻します。 戻り値は、常に、0 から NUM_PARTHDS - 1 になります。NUM_PARTHDS は、 チーム内で現在実行中のスレッドの数です。 チームのマスター・スレッドは 0 の値を戻します。

直列領域内、逐次化されネストされた並列領域、 または並列領域の動的エクステントから omp_get_thread_num を 呼び出すと、関数は値 0 を戻します。

この関数は、最も近い並列領域にバインドします。

クラス

関数

引き数の型と属性

なし

結果の値と属性

デフォルトの整数

結果の値

0 から NUM_PARTHDS - 1 までの、チーム内で現在実行中の スレッドの値。NUM_PARTHDS は、チーム内で現在実行中のスレッドの数です。 逐次化されネストされた並列領域、または並列領域の 動的エクステントからの omp_get_thread_num 呼び出しは、0 を戻します。

      USE omp_lib
      INTEGER NP
 
!$OMP PARALLEL PRIVATE(NP)
      NP = omp_get_thread_num()
      CALL WORK(NP)
!$OMP MASTER
      NP = omp_get_thread_num()
      CALL WORK(NP)
!$OMP END MASTER
!$OMP END PARALLEL
      END
 
      SUBROUTINE WORK(THD_NUM)
      INTEGER THD_NUM
      PRINT *, THD_NUM
      END
IBM Copyright 2003