On Mar 14, 2005, at 5:03 PM, Juraj Tlsty wrote:
> Hi folks,
> is there any thread-safe, non-commercial implementation of MPI for
> Linux?
> Thanks
It depends on what you mean by "thread-safe" :). The MPI standard
gives four levels of thread safety:
MPI_THREAD_SINGLE: Only one thread will execute.
MPI_THREAD_FUNNELED: The process may be multi-threaded, but only
the main thread
will make MPI calls (all MPI calls are ``funneled'' to the main
thread).
MPI_THREAD_SERIALIZED: The process may be multi-threaded, and
multiple threads
may make MPI calls, but only one at a time: MPI calls are not
made
concurrently from two distinct threads (all MPI calls are
``serialized'').
MPI_THREAD_MULTIPLE: Multiple threads may call MPI, with no
restrictions.
LAM/MPI supports MPI_THREAD_SINGLE to MPI_THREAD_SERIALIZED since the
7.0 release. If you need MPI_THREAD_MULTIPLE support, I would
recommend looking at LA-MPI from Los Alamos National Laboratory:
http://public.lanl.gov/lampi/
The LAM/MPI team and LA-MPI team are collaborating on Open MPI, to be
released this year. It will also support MPI_THREAD_MULTIPLE, along
with oodles of other features not found in LA-MPI or LAM/MPI.
Brian
--
Brian Barrett
LAM/MPI developer and all around nice guy
Have an LAM/MPI day: http://www.lam-mpi.org/
|