Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

doacross internal compiler error

kay-diederichs
New Contributor I
327 Views

This is using the latest ifort 17.0.2 (same problem with 17.0.1; older versions not tested): when trying the examples for the OpenMP 4.5 doacross parallelization feature, I found that the compiler produces an ICE for https://github.com/OpenMP/Examples/blob/master/sources/Example_doacross.2.f90

 

% cat doacross.2.f90 
subroutine work( N, M, A, B, C )
  integer :: N, M, i, j
  real, dimension(M,N) :: A, B, C
  real, external :: foo, bar, baz

  !$omp do ordered(2)
  do j=2, N
    do i=2, M
      A(i,j) = foo(i, j)

    !$omp ordered depend(sink: j-1,i) depend(sink: j,i-1)
      B(i,j) = bar(A(i,j), B(i-1,j), B(i,j-1))
    !$omp ordered depend(source)

      C(i,j) = baz(B(i,j))
    end do
  end do
end subroutine
% ifort -qopenmp doacross.2.f90
doacross.2.f90: catastrophic error: **Internal compiler error: floating point exception signal raised** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
compilation aborted for 2.f90 (code 1)

It would be great if this could be fixed.

thanks,

Kay

0 Kudos
2 Replies
Kevin_D_Intel
Employee
327 Views

Thank you for reporting this. I can reproduce it. I forwarded this to Development.

(Internal tracking id: DPD200418277)

0 Kudos
Martyn_C_Intel
Employee
327 Views

A fix has been implemented for this issue. It should be available in the next major compiler version and also in the next 17.0 update.

0 Kudos
Reply