Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] Is Open MPI 1.6.4 viable on Mac OS X 10.6.8 ?
From: Gustavo Correa (gus_at_[hidden])
Date: 2013-04-10 00:33:54

Dear Open MPI Pros

Somehow I am stuck offsite and I have to test/develop an MPI program on a super duper
2006 vintage Mac PowerBookPro with Mac OS X 10.6.8 (Snow Leopard).
This is a 32-bit machine with dual core Intel Core Duo processors and 2GB RAM.

Well, my under-development program using FFTW3 and OMPI 1.6.4 runs
flawlessly on Linux, but I am offsite and I have to use the darn Mac,
where I get all sorts of weird errors out of the blue, which are
very likely to be associated to the Mac OS X underlying memory management

I say so because the OMPI test programs (connectivity_c.c, etc), which do NOT
allocate memory (other than the MPI internal buffers, if so), run correctly, but once I
start using dynamic memory arrays, boomer, it breaks (but only on the Mac).

I enclose below one of the error messages, FYI.
[It shows up as a segfault, but the array and buffer boundaries are correct,
and the program runs perfectly on Linux. RAM is OK also, my batch of test
data is small. No automatic arrays on the code either.]

I read the OMPI FAQ on runtime issues, and a couple of them mention trouble for OMPI
with the Mac OS X memory management scheme. However, those FAQ are quite old,
refer to OMPI 1.2 and 1.3 series only, recommend linking to an OMPI library
that seems to have been phased out (-lopenmpi-malloc), and didn't shed the light
I was hoping for.

So, before I give this effort up as not viable, here are a few questions:

Are there specific recommendations on how to build OMPI 1.6.4 on Mac OS X 1.6.8?
Are there any additional linker flags that should be used to build OMPI applications under OS X?
Are there any runtime options that should be added to mpiexec to make OMPI programs
that allocate memory dynamically to run correctly on Mac OS X?

Thank you,
Gus Correa
************************ Error message *************************************************************
[1,0]<stderr>:[Macintosh-72:36578] *** Process received signal ***
[1,0]<stderr>:[Macintosh-72:36578] Signal: Segmentation fault (11)
[1,0]<stderr>:[Macintosh-72:36578] Signal code: Address not mapped (1)
[1,0]<stderr>:[Macintosh-72:36578] Failing at address: 0x6648000
[1,0]<stderr>:[Macintosh-72:36578] [ 0] 2 libSystem.B.dylib 0x9728c05b _sigtramp + 43
[1,0]<stderr>:[Macintosh-72:36578] [ 1] 3 ??? 0xffffffff 0x0 + 4294967295
[1,0]<stderr>:[Macintosh-72:36578] [ 2] 4 wcdp3d 0x0001be49 main + 1864
[1,0]<stderr>:[Macintosh-72:36578] [ 3] 5 wcdp3d 0x000027ad start + 53
[1,0]<stderr>:[Macintosh-72:36578] [ 4] 6 ??? 0x00000002 0x0 + 2
[1,0]<stderr>:[Macintosh-72:36578] *** End of error message ***