2

OpenMP のプライベート変数と共有変数に関する基本的な疑問。コードは次のようになります。配列arrには 1 から 10 までの変数が含まれており、グローバルです。

PROGRAM TEST
IMPLICIT NONE
INTEGER :: i,j
DO i=1,10
   call check()
END DO
END PROGRAM TEST

SUBROUTINE CHECK()
IMPLICIT NONE
INTEGER :: testvar,i
!$OMP PARALLEL DO
DO i = 1,10
   testvar = a(i)-1
   print testvar
END DO
!$END PARALLEL DO
END SUBROUTINE CHECK

質問:testvarサブルーチンに対してローカルな変数は、デフォルトでプライベートですか? ここでの主な違いは!$OMP PARALLEL、サブルーチン内でのみ開始するため、孤立したディレクティブではないことです。どんな助けでも大歓迎です。

4

1 に答える 1