インテル® Fortran コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
次の例について考えてみます。
subroutine foo (n)
integer, parameter :: N2 = 10000
real (8) :: A(N2), B(N2)
integer :: i
do i =1, n
A(i) = B(i) * B(i)
end do
end subroutine foo
この例では、行 5 のループの反復回数が 128 以上の場合、LOOP COUNT 宣言子を使用してループを並列化します。
安全であることが分かっている場合は、次のように宣言子を追加できます。
subroutine foo (n)
integer, parameter :: N2 = 10000
real (8) :: A(N2), B(N2)
integer :: i
!dir$ loop count min(128)
do i =1, n
A(i) = B(i) * B(i)
end do
end subroutine foo
ループの反復回数が 128 以上であることを確認してください。