[MITgcm-support] Compiler options for ifort on x86_64

Lucas Merckelbach lmm at noc.soton.ac.uk
Mon Oct 24 05:41:59 EDT 2005


On Fri, 21 Oct 2005, Constantinos Evangelinos wrote:

> On Friday 21 October 2005 09:17, Lucas Merckelbach wrote:
>> Constantinos, thanks for your message. It helped me a bit, but it didn't
>> solved the problem. Yet, I hope.
>
> I'll need to try things out on an EMT64 system and get back to you.

Thanks!

If you need any assistance in the form of my model setup, I'm happy to 
give that to you.

The dimensions that run without any problem at all:
256x256x32 grid points,

and runs into trouble on both amd64 and em64T:
512x512x32

On both platforms the exe immediately returns with "Killed".

In an earlier email I told you on the results of your test program, that 
compiled on both platforms using scenario 2) (-mcmodel=medium) and it only 
ran on the amd64 and gave a "killed" on the em64t. Well, it gave a 
"killed| because a 256x256x32 job was running as well. Without that job, 
your test program does run on the em64t as well. could it be related to a 
memory problem?

My memory with no jobs running:

nova:~$ free -m
              total       used       free     shared    buffers     cached
Mem:          2008       1818        189          0         45       1109
-/+ buffers/cache:        663       1345
Swap:         4094        521       3572


When I run the test program (declares 6e8 doubles) it eats 80% of my swap 
file, so both the mitmodel running and the test program is too much.)
Running two instances of the test program simultaneously paralyses the 
system (load goes up to 20), in the end it comes back to life and one of 
the exe's made it until the end, the other got Killed as well. But only 
after a minute or 5.

What i suspect is that the 512x512x32 is just too big to fit in the 
memory. If I enlarge the number of elements in the test program by a 
factor of 10 (6e9 elements), it also quits immediately. The transition 
between killed and not killed is between 6.5e8 - 7e8 elements. This is 
about 77 times larger than what is required for one variable defined on 
the whole grid. I can understand that this is pretty tight. Plugging in 
more memory, would that help?

If you think that available RAM is the bottelneck here, then please don't 
spend too much time on this. I guess for me the solution is to move to the 
IA64 platform, where it does seem to work.

Thanks,
lucas









More information about the MITgcm-support mailing list