Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
4 Views

insufficient virtual memory

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
Highlighted
Employee
4 Views

Did you mean to type "14.0.4"

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
Highlighted
Beginner
4 Views

Thank you for your answer.

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
Highlighted
4 Views

>>a.out(16358,0xa4442000)

>>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
Highlighted
Employee
4 Views

ifort 14.0.4 is not

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
Highlighted
Beginner
4 Views

Yes, indeed, ifort-V returned

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
Highlighted
Employee
4 Views

You're welcome. Glad you

You're welcome. Glad you resolved it.

0 Kudos