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_
Beginner
664 Views

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 Replies
Kevin_D_Intel
Employee
664 Views

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?

0 Kudos
Christian_F_
Beginner
664 Views

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  ?

0 Kudos
jimdempseyatthecove
Honored Contributor III
664 Views

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

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

Jim Dempsey

0 Kudos
Kevin_D_Intel
Employee
664 Views

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

0 Kudos
Christian_F_
Beginner
664 Views

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!

0 Kudos
Kevin_D_Intel
Employee
664 Views

You're welcome. Glad you resolved it.

0 Kudos
Reply