インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

GAP メッセージ (診断 ID 30525)

メッセージ

"%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 以上であることを確認してください。

確認

ループの反復回数が診断メッセージで指定された回数以上であることを確認してください。

関連情報