Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: [OMPI users] Memory question and possible bug in 64bit addressing under Leopard!
From: Gregory John Orris (gregory.orris_at_[hidden])
Date: 2008-04-25 16:06:56


OK folks,

Whilst testing cases of ratcheting up memory usage under Mac OSX
Leopard I ran into a peculiar problem of segmentation faults that just
should not be happening. I whittled down the code to find where the
error took place and well, for this simple code...

#include <mpi.h>
#include <iostream>

int main(int argc, char **argv)
{

         MPI_Init( &argc, &argv);
         int n = 10000000;
         float X[n];
         MPI_Finalize();

         return 0;

}

Using mpic++ -m64 test.cpp -o test
and mpiexec -np 1 ./test

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!

Before we get too far, the implication and the reason I found the
error in the first place is that I was allocating 2D arrays that were
pretty large with the line
float X[n][m];
and they were failing. However the total size times the number of
processors was well within the RAM of the machine.

Am I missing something? Has this been seen before?

Regards,
Greg