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.
[mailto:users-bounces_at_[hidden]] On Behalf Of imran shaik
Sent: Friday, May 26, 2006 1:50 AM
To: openMPI mailing list
Subject: [OMPI users] Thread Safety
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