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

ICE when compiling large F77 file

Ben3
Beginner
615 Views
Hi,

I have a large (~2000 lines) F77 subroutine that I'm trying to compile. However, I get an ICE unless I completely turn off optimisation (-O0). I've been attempting to trace the source of the problem by commenting out sections, but it appears that it's a product of the sheer number of optimisations that the compiler is able to do (there's lots of vectorisation going on). This is the error:
[plain]bmenadue@weyl ~/bmenadue/Code/old/Align/vOverImpCoolSU3>ifort -extend-source -O2 -convert big_endian -c lotsaLoops.f
0_13171

lotsaLoops.f(6): 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 lotsaLoops.f (code 1)[/plain]

I originally commented out everything, and then piece by piece by uncomment sections until I got the ICE, but by commenting statements above the (what I thought was the) source of the error made the ICE go away (less optimisable statements), until I uncommented more lines below the error, when it reappeared (sufficient optimisations to trigger the error).

My ifort version:
[plain]bmenadue@weyl ~>ifort -V
Intel Fortran Intel 64 Compiler XE for applications running on Intel 64, Version 12.0.3.174 Build 20110309
Copyright (C) 1985-2011 Intel Corporation.  All rights reserved.
FOR NON-COMMERCIAL USE ONLY[/plain]
I've been told that it successfully compiled using ifort version 11.0.074, but I don't this old version to test it.

I've attached the offending f77 file, along with the included .h file, if anyone is game to have a look - ignore the HPF directives, it's old code. Otherwise, I'm not sure how to proceed.

Thanks,
Ben
0 Kudos
3 Replies
Kevin_D_Intel
Employee
615 Views
Thank you for the post, Ben. I confirmed the internal error and that the source compiles and vectorizes many loops/blocks with the 11.0.074 release. It appearsthetroubles with the code began in 11.1 wherecompilation triggers awarning that an internal resource was exceeded and the optimization level was reduced internally.

I reported this to Development but have not found any other work around to compiling with -O0. I will update the thread if Development finds any other work around.

(Internal tracking id: DPD200172621)

(Resolution Update on 5/20/2012): This defect is fixed in the Intel Fortran Composer XE 2011 Update 4 (2011.1.4.319 - Linux)
0 Kudos
Ben3
Beginner
615 Views
Thanks Kevin.

It appears to compile fine (even with optimisations) with the latest Windows compiler, but that doesn't help me much as my compute machine is Linux.

Ben
0 Kudos
Kevin_D_Intel
Employee
615 Views
Ben, please pardon the delayed update, this issuewas fixed in the earlier Intel Fortran Composer XE 2011 Update 4 (2011.1.4.319 - Linux). Newer updates are available at this time.
0 Kudos
Reply