You are right Dave, FUNNELED allows the application to have multiple threads but only the man thread calls MPI.

An OpenMP/MPI hybrid program that makes MPI calls only in between parallel sections is usually a FUNNELED user of MPI

Thanks

Dick Treumann - MPI Team
IBM Systems & Technology Group
Dept X2ZA / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601
Tele (845) 433-7846 Fax (845) 433-8363


Inactive hide details for Dave Goodell ---03/03/2010 03:08:26 PM---On Mar 3, 2010, at 11:35 AM, Richard Treumann wrote: > If thDave Goodell ---03/03/2010 03:08:26 PM---On Mar 3, 2010, at 11:35 AM, Richard Treumann wrote: > If the application will make MPI calls from m


From:

Dave Goodell <goodell@mcs.anl.gov>

To:

Open MPI Users <users@open-mpi.org>

Date:

03/03/2010 03:08 PM

Subject:

Re: [OMPI users] MPI_Init() and MPI_Init_thread()

Sent by:

users-bounces@open-mpi.org





On Mar 3, 2010, at 11:35 AM, Richard Treumann wrote:
> If the application will make MPI calls from multiple threads and  
> MPI_INIT_THREAD has returned FUNNELED, the application must be  
> willing to take the steps that ensure there will never be concurrent  
> calls to MPI from the threads. The threads will take turns - without  
> fail.
>
Minor nitpick: if the implementation returns FUNNELED, only the main  
thread (basically the thread that called MPI_INIT_THREAD, see MPI-2.2  
pg 386 for def'n) may make MPI calls.  Dick's paragraph above is  
correct if you replace FUNNELED with SERIALIZED.

-Dave

_______________________________________________
users mailing list
users@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users