Open-MPI support all thread models defined by the MPI standard if they are
available on the target system. Few years ago I did some work with MPI and
OpenMP and locking mechanism of existing MPI implementations was the
performance killer. We have work hard to remove this bottleneck on
Open-MPI. The lock are very specific and normally short term. We try to
find all available mechanisms on the running architecture in order to
avoid using thread locks for short term operations (we use atomic
operations). There are no (or very few) global locks. However, at the
current stage of developpement, few tests have been done in this
direction, mainly on the MPI_THREAD_MULTIPLE model (who work well as far
as we know).
Therefore, the short answer to your first query is yes and yes, at the
present tense not future. Today, it's possible to use MPI functions in
OpenMP regions (without additional locks) and/or OpenMP directive within
For the second query, we dont have start daemons similar to lamboot or
mpiboot. But someone from the RTE (RunTime Environment) can give your a
more precise answer.
On Tue, 15 Feb 2005, Neil Storer wrote:
> Two queries.
> 1) Is Open MPI thread-safe (assuming the system-supplied libraries are
> thread-safe)? In particular will it be possible to call MPI routines from
> OpenMP regions and will it be possible to use OpenMP directives within MPI
> 2) Does Open MPI use the same mechanism as LAM-MPI's "lamboot" (rsh/ssh) to
> start daemons on other nodes or is there a different mechanism altogether?
> Neil Storer
"We must accept finite disappointment, but we must never lose infinite
Martin Luther King