Open MPI logo

Open MPI User's Mailing List Archives

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

From: George Bosilca (bosilca_at_[hidden])
Date: 2006-05-26 15:51:56

On May 26, 2006, at 6:55 AM, Jeff Squyres ((jsquyres)) wrote:

> MPI_THREAD_MULITPLE is "somewhat" supported, meaning that support
> for it was designed in to Open MPI, but it has not been fully
> stress tested. As such, there is likely to still be bugs when
> using multiple user threads with MPI_THREAD_MULTIPLE.
> fork() is not technically supported by the MPI standard. If you
> *need* to fork(), you might want to look at alternate mechanisms if
> you need to move between multiple MPI implementations because
> support for it is not likely to be portable.
> Within Open MPI, fork() will almost certainly fail if you use the
> OS-bypass networks (Myrinet, InfiniBand). The mechanisms that
> these networks use for high-speed/low latency are quite problematic
> with fork(). If you are using tcp or shared memory, fork() *might*
> work, but this is not something that we have extensively tested.

I did some work on that last week. Jeff is right all OS bypass
network don't like fork. Once you fork the status of the application
is "not usable". SM and TCP kind of support it, if you never do
communications on the child. But that's not what you're looking for.
Therefore the generic answer is never use fork in an MPI application
once you called MPI_Init (not even after MPI_Finalize).


> From: users-bounces_at_[hidden] [mailto:users-bounces_at_open-
>] On Behalf Of imran shaik
> Sent: Friday, May 26, 2006 1:50 AM
> To: openMPI mailing list
> Subject: [OMPI users] Thread Safety
> Hi,
> I am a newbie to OpenMPI.
> Can anyone say how the support for MPI_THREAD_MULTIPLE is
> implemented in openMPI?
> Is thread safety completely provided in openMPI? or does it still
> has some bugs?
> I am currently using LAM/MPI.But i need concurrent threads making
> MPI calls. So i am planning to move to another implementation of
> MPI. Can i choose openMPI?
> Also, is "fork"(for child preoces creation) still a no-no in
> openMPI too? Can a child process(forked) make concurrent MPI calls
> along with its parent ?
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> _______________________________________________
> users mailing list
> users_at_[hidden]

"Half of what I say is meaningless; but I say it so that the other
half may reach you"
                                   Kahlil Gibran