Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

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

Jeff Squyres
For corporate legal information go to: