インテル® Fortran コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
"%s loop count min(%d)" 文をループの直前 (行 %d) に挿入して、このループを並列化します。
"!DIR$ LOOP COUNT" を指定されたループの前に追加します。このディレクティブは、ループの並列化を有効にするためのループの最小反復回数を指定します。
次の例について考えてみます。
subroutine foo (n)
integer, parameter :: N2 = 10000
real (8) :: A(N2), B(N2)
integer :: i, n
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, n
!dir$ loop count min(128)
do i =1, n
A(i) = B(i) * B(i)
end do
end subroutine foo
ループの反復回数が 128 以上であることを確認してください。
ループの反復回数が診断メッセージで指定された回数以上であることを確認してください。