On Apr 25, 2008, at 4:10 PM, Brian Barrett wrote:
On Apr 25, 2008, at 2:06 PM, Gregory John Orris wrote:
produces a core dump on a machine with 12Gb of RAM.
and the error message
mpiexec noticed that job rank 0 with PID 75545 on node mymachine.com
exited on signal 4 (Illegal instruction).
However, substituting in
float *X = new float[n];
for
float X[n];
Succeeds!
You're running off the end of the stack, because of the large amount
of data you're trying to put there. OS X by default has a tiny stack
size, so codes that run on Linux (which defaults to a much larger
stack size) sometimes show this problem. Your best bets are either to
increase the max stack size or (more portably) just allocate
everything on the heap with malloc/new.
Where are Fortran 90 arrays allocated, stack or heap? I can't see us
using malloc in our Fortran 90 codes, I need to understand this before
I start configuring a new clusters, I was planning for it to run OS X
instead of Linux. At the moment I don't have an OS X system with
enough RAM to test this.
Michael