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
、サブルーチン内でのみ開始するため、孤立したディレクティブではないことです。どんな助けでも大歓迎です。