Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Brian Barrett (brbarret_at_[hidden])
Date: 2007-10-23 20:57:37


On Oct 23, 2007, at 10:58 AM, Patrick Geoffray wrote:

> Bogdan Costescu wrote:
>> I made some progress: if I configure with "--without-memory-manager"
>> (along with all other options that I mentioned before), then it
>> works.
>> This was inspired by the fact that the segmentation fault occured in
>> ptmalloc2. I have previously tried to remove the MX support without
>> any effect; with ptmalloc2 out of the picture I have had test runs
>> over MX and TCP without problems.
>
> We have had portability problems using ptmalloc2 in MPICH-GM,
> specially
> relative to threads. In MX, we choose to use dlmalloc instead. It
> is not
> as optimized and its thread-safety has a coarser grain, but it is much
> more portable.
>
> Disabling the memory manager in OpenMPI is not a bad thing for MX, as
> its own dlmalloc-based registration cache will operate transparently
> with MX_RCACHE=1 (default).

If you're not packaging Open MPI with MX support, I'd configure Open
MPI with the extra parameters:

   --without-memory-manager --enable-mca-static=btl-mx,mtl-mx

This will provide the least possibility of something getting in the
way of MX doing its thing with its memory hooks. It causes libmpi.so
to depend on libmyriexpress.so, which is both a good and bad thing.
Good because the malloc hooks in libmyriexpress aren't "seen" when we
dlopen the OMPI MX drivers to suck in libmyriexpress, but they would
be with this configuration. Bad in that libmpi.so now depends on
libmyriexpress, so packaging for multiple machines could be more
difficult.

Brian