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.
Hope this helps,
Brian
--
Brian Barrett
Open MPI developer
http://www.open-mpi.org/
|