- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am developing a Fortran code on a computer with a Quad Core Intel Xeon E5345 and 16Gb of RAM.
The arrays are dynamically allocated. When I run the program for a total required memory allocation of about 3 Gb, I get the message : forttl: severe(41) : insuficcient virtual memory.
My Linux OS is Ubuntu 7.10 (64 bits)
I have looked at the available memory with the command : 'cat /proc/meminfo' and I get "MemTotal : 3368228 kB" although I do have 16 Gb (I have checked that I have 8x2Gb using the command : 'sudo dmidecode -t memory')
Does anybody know how to fix this ?
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you install a 32bit OS instead of the 64bit OS?
uname -a
should tell you. You should see something like:
Linux spd20 2.4.21-37.EL #1 SMP Wed Sep 7 13:32:18 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux
Note the "x86_64", this is the clue that you have a 64bit OS. If you see "i386" then you have a 32bit OS loaded.
AND, once that is done, Make sure you use -mcmodel medium or -mcmodel large during compilation. Did you do that? The default is -mcmodel small which uses 32bit pointers for data.
ron
uname -a
should tell you. You should see something like:
Linux spd20 2.4.21-37.EL #1 SMP Wed Sep 7 13:32:18 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux
Note the "x86_64", this is the clue that you have a 64bit OS. If you see "i386" then you have a 32bit OS loaded.
AND, once that is done, Make sure you use -mcmodel medium or -mcmodel large during compilation. Did you do that? The default is -mcmodel small which uses 32bit pointers for data.
ron
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your answer.
In fact I get 'i686' when I type 'uname -a'
and the command 'dmidecode -t system' gives 'Access Method : Memory Map Physical 32-bit address'
It seems that I have to install a 64bit version of Ubuntu.
After this, can I use the usual Intel Fortran Compiler that I used previously (ifort version 10.1) or is there a specific 64bit version ?
In fact I get 'i686' when I type 'uname -a'
and the command 'dmidecode -t system' gives 'Access Method : Memory Map Physical 32-bit address'
It seems that I have to install a 64bit version of Ubuntu.
After this, can I use the usual Intel Fortran Compiler that I used previously (ifort version 10.1) or is there a specific 64bit version ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well, I believe you have installed a 32bit OS. Here I have a Quad core Intel system, Ubuntu 7.04 Fiesty Fawn. Here is what I see:
# uname -a
Linux hostname 2.6.20-15-generic #2 SMP Sun Apr 15 06:17:24 UTC 2007 x86_64 GNU/Linux
I believe the "i686" is a signifier of a 32bit OS. Also, check out what I see for dmidecode:
dmidecode -t system | grep -i access
Access Method: General-purpose non-volatile data functions
Let me go check on a 32bit Linux OS and uname:
uname -a
Linux hostname 2.4.21-47.ELsmp #1 SMP Wed Jul 5 20:38:41 EDT 2006 i686 i686 i386 GNU/Linux
now this is a Redhat system, still the "i686" indicates 32bits, as does your 'Access Method'. So yes, time to load a new OS.
And yes, you are correct: there is a 32bit and 64bit compiler installed on a 64bit system. The 32bit compiler is in /opt/intel/fc/
The 64bit compiler in /opt/intel/fce/
To select the 64bit compiler:
source /opt/intel/fce//bin/ifortvars.sh
ron
# uname -a
Linux hostname 2.6.20-15-generic #2 SMP Sun Apr 15 06:17:24 UTC 2007 x86_64 GNU/Linux
I believe the "i686" is a signifier of a 32bit OS. Also, check out what I see for dmidecode:
dmidecode -t system | grep -i access
Access Method: General-purpose non-volatile data functions
Let me go check on a 32bit Linux OS and uname:
uname -a
Linux hostname 2.4.21-47.ELsmp #1 SMP Wed Jul 5 20:38:41 EDT 2006 i686 i686 i386 GNU/Linux
now this is a Redhat system, still the "i686" indicates 32bits, as does your 'Access Method'. So yes, time to load a new OS.
And yes, you are correct: there is a 32bit and 64bit compiler installed on a 64bit system. The 32bit compiler is in /opt/intel/fc/
The 64bit compiler in /opt/intel/fce/
To select the 64bit compiler:
source /opt/intel/fce/
ron
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot for your help.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page