LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2005-06-30 21:02:18


I have a guess as to what is happening, but it depends on your
situation. Are you using the gm or ib RPI devices (which is why you
say you need the memory manager)?

What OS are you running on? If it's Linux, is it 2.4 or 2.6?

I should say that technically, MPI does not guarantee that fork will
work. Indeed, gm and ib apps may not even guarantee that fork works
properly (it's been a while since I've checked; I don't know whether
they currently support it or not). Hence, you might have larger
problems than LAM's memory manager, and we can't really help you. :-\

An alternate approach might be to pre-fork jobs (i.e., before
MPI_INIT), similar to what Apache does, and then communicate with them
(potentially via pipes) when you need to use them.

Or perhaps you can mpirun all the additional processes that you need,
and simply have the extras blocking in an MPI_RECV waiting for
instructions.

Are any of these possible?

On Jun 30, 2005, at 7:36 AM, Philip Mason wrote:

> I am trying to run a simple program (np=2) using LAM 7.1.1
> on Linux. The parent program spawns(forks) a new process
> and then performs a few malloc/putenvs. However, this
> forked-process dies inexplicably in one of the calls to malloc.
>
> I am using simple LAM setup and have tried on various linux
> machines including SLES8(AMD64), RH72(IA32).
>
> I have tried to run with LAM configured with memory manager off
> (i.e. --with-memory-manager=none) and this seems to fix the problem.
> However, I do want the memory-manager to be activated.

-- 
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/