"%s loop count min(%d)" 文をループの直前 (行 %d) に挿入して、このループを並列化します。
"!DIR$ LOOP COUNT" を指定されたループの前に追加します。この宣言子は、ループの並列化を有効にするためのループの最小反復回数を指定します。
次の例について考えてみます。
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 以上であることを確認してください。
ループの反復回数が診断メッセージで指定された回数以上であることを確認してください。
© 1996-2011 Intel Corporation. 無断での引用、転載を禁じます。