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

Compiler Crash

dajum
Novice
710 Views

I get the following message:

ilio_malloc: out of memory -- e3406e8 bytes requested

when trying to compile a program. Is there something else I can do figure out how to work around this? WIthout changing the source code. I know the problem is a subroutine that is 300000+ lines long that are all subroutine calls. But the code is generated by another program I have no control over. So it would be much easier if the compiler could handle it.

Dave

0 Kudos
4 Replies
Steven_L_Intel1
Employee
710 Views
Given that error, the only thing I can suggest is to drop the optimization level. What options are you using?

That's one heck of a subroutine! Is it full of computed GOTOs or arithmetic IFs? (A lot of generated code I have seen does this.)
0 Kudos
jimdempseyatthecove
Honored Contributor III
710 Views

Dajum,

You also might want to turn off (if on) gen-interfaces/check-interfaces.

/nogen-interfaces /warn:nointerfaces

Jim

0 Kudos
dajum
Novice
710 Views

The routine is all subroutine calls. No IFs, GOTOs or anything but CALL ...

I tried with and without optimization. I turned on and off several flags, none of them seemed to change the result, although I did get a different message in a couple cases, but still related to running out of memory. Used to work in CVF with all the optimization turned on.

The basic set of flags is:

astap.for /Od /fpe:0 /names:lowercase /Zi /Oy- /iface:cref /libs:dll /MT /iface:mixed_str_len_arg /nologo /assume:byterecl /extend_source:132 /list /traceback /link /OUT:"astap.exe" /INCREMENTAL:NO /NOLOGO /NODEFAULTLIB:"msvcrt.lib" /SUBSYSTEM:CONSOLE /MAP

Dave

0 Kudos
Steven_L_Intel1
Employee
710 Views
Please submit an issue to Intel Premier Support and attach the source.
0 Kudos
Reply