On Dec 6, 2010, at 9:26 AM, Hicham Mouline wrote:
> Thanks, it is now clarified that a call to MPI_INIT has the same effect as a call to MPI_INIT_THREAD with
> a required = MPI_THREAD_SINGLE. Perhaps it should be added here:
> as well.
> It is still unclear to me the difference between MPI_THREAD_SINGLE and MPI_THREAD_FUNNELED.
In Open MPI, there's no difference. In other MPI's there may be. The language defining these levels in the MPI spec is intentionally squirrely so that implementations can do different things if they want/need to.
> Whether a program is or no multi threaded, if using MPI only from 1 thread (the one that calls MPI_INIT) would have no bearing on the mpi implementation, or?
In Open MPI, it's ok if you a) have a multi-threaded program that b) uses MPI_THREAD_SINGLE and c) only uses MPI from one thread.
Technically, that's not what the standard says, though -- MPI_THREAD_SINGLE is supposed to be used only with single-threaded applications.
For corporate legal information go to: