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



                                                                       
  From:       Dave Goodell <good...@mcs.anl.gov>                       
                                                                       
  To:         Open MPI Users <us...@open-mpi.org>                      
                                                                       
  Date:       03/03/2010 03:08 PM                                      
                                                                       
  Subject:    Re: [OMPI users] MPI_Init() and MPI_Init_thread()        
                                                                       
  Sent by:    users-boun...@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
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to