ループ不変ではない OpenMP* SCHEDULE 節の chunk_size

OpenMP* SCHEDULE 節で使用される chunk_size 式はループ不変の正の整数でなければなりません。

ID

問題箇所

説明

1

OpenMP* 宣言

不正な chunk_size 式が指定された場所

2

メモリー書き込み

chunk_size が変更された場所


    integer :: I, J
    integer :: OMP_GET_THREAD_NUM
    J = 10
    call OMP_SET_NUM_THREADS(3)
!$OMP PARALLEL SHARED(J)
!$OMP DO ORDERED SCHEDULE(STATIC, J)
    do I = 1, 100
!$OMP CRITICAL
! Bad: schedule chunk size modified in loop
        J = J + I
!$OMP END CRITICAL
!$OMP ORDERED
        print *, I, OMP_GET_THREAD_NUM()
!$OMP END ORDERED
    end do
!$OMP END DO
!$OMP END PARALLEL
    end
        

© 2010 Intel Corporation. 無断での引用、転載を禁じます。