LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Brian Barrett (brbarret_at_[hidden])
Date: 2005-03-14 12:07:21


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/