Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] meaning of MPI_THREAD_*
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2010-12-14 17:52:40


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:
> http://www.open-mpi.org/doc/v1.4/man3/MPI_Init_thread.3.php
> as well.

Done.

> 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.

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/