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

Possible ICE with ifort 17 and -xMIC-AVX512

eric_n_
Beginner
434 Views

 

Hello,

Please find below an issue (and reproducer) encountered by one of our development

team members.

Thanks,

Eric

 

_______________________________________________________
Encountered an ICE in ifort 17.0.1.132 Build 20161005 attempting to cross-compile AVX512 on a Xeon.
 
CPU: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz
OS: Linux K-li2 2.6.32-642.13.1.el6.centos.plus.x86_64 #1 SMP Thu Jan 12 11:45:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
 
Example code:
program main
  implicit none
  real(8) :: turb, baseterm, sw
  turb = 1.0_8
  sw = 1.0_8
  baseterm = turb * (-1.0_8)*1.0_8/sw + 1.0_8/sw 
end program
_______________________________________________________
Other info:
 
No error on versions:
15.3.187
16.0.109
16.2.181
16.3.210
17.0.098
_______________________________________________________
Log showing only certain flag combos trigger the ICE:
 
user@K-li2% ifort -std03 -xMIC-AVX512 -O2 -fpe0 -c -o turb_spalart_mod.o turb_spalart_mod.f90
catastrophic error: **Internal compiler error: segmentation violation 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 turb_spalart_mod.f90 (code 1)
 
user@K-li2% ifort -std03 -xMIC-AVX512 -O2 -fpe1 -c -o turb_spalart_mod.o turb_spalart_mod.f90
[no error]
user@K-li2% ifort -std03 -xMIC-AVX512 -O2 -fpe0 -fp-model strict -c -o turb_spalart_mod.o turb_spalart_mod.f90
[no error]
user@K-li2% ifort -std03 -xMIC-AVX512 -O2 -fpe0 -fp-model precise -fp-model except -c -o turb_spalart_mod.o turb_spalart_mod.f90
010101_14277
 
catastrophic error: **Internal compiler error: internal abort** 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 turb_spalart_mod.f90 (code 1)
 
_______________________________________________________
 
Avoided the error with the following tweak:
  baseterm = 1.0_8/sw - turb*1.0_8/sw
0 Kudos
1 Reply
Martyn_C_Intel
Employee
434 Views

Hi Eric,

     I believe the error may be occurring during constant folding (constant evaluation) during compilation - that's why changing how the expression is evaluated works around. I'm not sure why -fpe0 triggers it. The good news is that this problem no longer occurs with the version 17.0.2 (2017 update 2) compiler that was posted to the Intel Registration Center last week. Please try that compiler on your larger application, and let us know if there are still any problems.

0 Kudos
Reply