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

insufficient virtual memory

Christian_F_
Einsteiger
1.561Aufrufe

Hi all,

I am running the Intel® Fortran Composer XE for OS X vs. 14.0.4 on a Mac OSX 10.11.5. with i7 and 16 GB RAM.

I am allocating arrays dynamically and everything works fine when the program needs less than about 1GB

RAM (checked with activity monitor). However, as soon as get over 1 GB I get the error message

a.out(16358,0xa4442000) malloc: *** mach_vm_map(size=2128674816) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
forrtl: severe (41): insufficient virtual memory

although almost 10 GB RAM should be available.

I compile in command line mode with no extra flags apart from different optimization levels (no difference here).

Can someone please help me ? 

Thank you!

 

 

0 Kudos
6 Antworten
Kevin_D_Intel
Mitarbeiter
1.561Aufrufe

Did you mean to type "14.0.4" or "16.0.4"?  The former is not officially supported on OS X* 10.11.5.

I'm not finding much helpful. Are you compiling for 64-bit?

Christian_F_
Einsteiger
1.561Aufrufe

Thank you for your answer.

Indeed I meant to type 14.0.4. (upgraded OSX from Snow Leopard to El Capitan without upgrading compiler). Is this the problem ?  

Also: when I compile without any flags isn't it 64-bit by default  ?

jimdempseyatthecove
Geehrter Beitragender III
1.561Aufrufe

>>a.out(16358,0xa4442000) malloc...

0xa44420000 is a 32-bit address. It appears that you are producing a 32-bit application.

Jim Dempsey

Kevin_D_Intel
Mitarbeiter
1.561Aufrufe

ifort 14.0.4 is not officially supported under the OS X 10.11.5 so that also means it was never tested. We introduced support for that version of OS X in our 16.0.4 release (almost 2 years later). You should consider upgrading to a newer version when its convenient.

If you do not explicitly source compilervars.sh/csh and pick an architecture, the default ifort link setup on OS X most times refers to Intel 64. It is gated by what was installed last.

To check use: ifort -V

Christian_F_
Einsteiger
1.561Aufrufe

Yes, indeed, ifort-V returned

"Intel(R) Fortran Compiler XE for applications running on IA-32, Version 14.0.4.201 Build 20140805"

Changed path in .profile from ...bin/ia32 to ...bin/intel64 and ... everything works fine:

ifort -V returns 

"Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.4.201 Build 20140805"

as it should and all RAM can be used.

Thank you very much for your help!

Kevin_D_Intel
Mitarbeiter
1.561Aufrufe

You're welcome. Glad you resolved it.

Antworten