[mpi-21] Ballot 4 - MPI_THREAD_FUNNELED - was Re: Attending, topics, etc

Rolf Rabenseifner rabenseifner at [hidden]
Thu Jan 31 14:26:07 CST 2008



Dick, I fully agree. I withdraw my proposals with OpenMP and come 
back to your text, adding the forward reference to MPI_IS_THREAD_MAIN:

>> >>> MPI_THREAD_FUNNELED The process may be multi-threaded, but the
>> >>> application
>> >>> must insure that only the main thread makes MPI calls
       (for the definition of main thread, see MPI_IS_THREAD_MAIN).

By the way, this clarification is independent of any 
additional level of thread support taht may be specified in
further MPI versions. 

Best regards
Rolf

On Thu, 31 Jan 2008 14:13:17 -0500
 Richard Treumann <treumann_at_[hidden]> wrote:
>See MPI_IS_THREAD_MAIN on page 198.  The definition of "main thread" is
>there.  Maybepage 198 is not the best place for a definition of a term that
>is used on page 196 but the standard does provide one.
>
>I am reluctant to mention OpenMP in the context of defining
>MPI_THREAD_FUNNELED because then we would need to discuss other ways an
>application could become multi threaded too.
>
>Dick Treumann  -  MPI Team/TCEM
>IBM Systems & Technology Group
>Dept 0lva / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601
>Tele (845) 433-7846         Fax (845) 433-8363
>
>
>mpi-21-bounces_at_[hidden] wrote on 01/31/2008 12:58:59 PM:
>
>> What is the definition of a "main thread" ? The OpenMP example is
>> still vague.
>>
>> I think we should clarify what we expect the "main thread" to be. From
>> my perspective, this "main thread" is the one that called the
>> MPI_Init_thread function, as the MPI library is then allowed to attach
>> some kind of private key(s) to it (pthread_key_create).
>>
>>    Thanks,
>>      george.
>>
>> On Jan 31, 2008, at 11:09 AM, Rolf Rabenseifner wrote:
>>
>> > Sorry Rich,
>> >
>> > but MPI 2.0 has defined "main thread", and not less!
>> >
>> > The open question was only, who is responsible for guaranteing this.
>> >
>> > Dicks text is fine:
>> >>> MPI_THREAD_FUNNELED The process may be multi-threaded, but the
>> >>> application
>> >>> must insure that only the main thread makes MPI calls.
>> >
>> > My first proposal
>> >>>>>>>  MPI_THREAD_FUNNELED The process may be multi-threaded, but only
>> >>>>>>>  the main thread will make MPI calls (all MPI calls are
>> >>>>>>> "funneled"
>> >>>>>>>  to the main thread, e.g., by using the OpenMP directive
>> >>>>>>> "master"
>> >>>>>>>  in the application program).
>> > has the advantage, that "main thread" is defined by refering to
>> > the OpenMP-Standard where "OpenMP master thread" is defined (and not
>> > "main").
>> >
>> > We can combine this to:
>> >  MPI_THREAD_FUNNELED The process may be multi-threaded, but the
>> > application
>> >  must insure that only the main thread makes MPI calls, e.g., by
>> > using the
>> >  OpenMP directive "master".
>> >
>> > (This clearly tells that OpenMP single directive is not enough.)
>> >
>> > Best regards
>> > Rolf
>> >
>> >
>> > On Thu, 31 Jan 2008 10:50:35 -0500
>> > Richard Graham <rlgraham_at_[hidden]> wrote:
>> >> Why restrict this to a standard specified thread (main thread), why
>> >> not word
>> >> it
>> >> as a singe thread, and let the app decide what thread this is,
>> >> based on
>> >> what
>> >> ever criteria it wants to use to select this thread ?
>> >>
>> >> Rich
>> >>
>> >>
>> >> On 1/31/08 10:27 AM, "Richard Treumann" <treumann_at_[hidden]> wrote:
>> >>
>> >>> How about::
>> >>> MPI_THREAD_FUNNELED The process may be multi-threaded, but the
>> >>> application
>> >>> must insure that only the main thread makes MPI calls.
>> >>>
>> >>>
>> >>> Dick Treumann  -  MPI Team/TCEM
>> >>> IBM Systems & Technology Group
>> >>> Dept 0lva / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601
>> >>> Tele (845) 433-7846         Fax (845) 433-8363
>> >>>
>> >>>
>> >>> mpi-21-bounces_at_[hidden] wrote on 01/31/2008 09:44:08 AM:
>> >>>
>> >>>>> A simpler change which would seem to achieve the desired
>> >>>>> clarification
>> >>>>> would be :-
>> >>>>>
>> >>>>>   MPI_THREAD_FUNNELED The process may be multi-threaded, but
>> >>>>> only the
>> >>>>> main
>> >>>>>   thread is allowed to make MPI calls.
>> >>>>>
>> >>>>> (and you could add
>> >>>>>   If other threads make MPI calls the behavior is undefined.
>> >>>>> if you want to be verbose about it).
>> >>>>>
>> >>>>> -- Jim
>> >>>>>
>> >>>>> James Cownie <james.h.cownie_at_[hidden]>
>> >>>>> SSG/DPD/PAT
>> >>>>> Tel: +44 117 9071438
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>>> -----Original Message-----
>> >>>>>>> From: mpi-21-bounces_at_[hidden]
>[mailto:mpi-21-bounces_at_[hidden]
>> >>>>>>> ]
>> >>>>> On
>> >>>>>>> Behalf Of Rolf Rabenseifner
>> >>>>>>> Sent: 31 January 2008 14:31
>> >>>>>>> To: mpi-21_at_[hidden]
>> >>>>>>> Subject: [mpi-21] Ballot 4 - MPI_THREAD_FUNNELED - was Re:
>> >>>>>>> Attending,
>> >>>>>>> topics, etc
>> >>>>>>>
>> >>>>>>> This is a proposal for MPI 2.1, Ballot 4.
>> >>>>>>>
>> >>>>>>> I'm asking especially
>> >>>>>>>  Greg Lindahl,
>> >>>>>>> the participants of the email-discussion in 2007, to review this
>> >>>>> proposal.
>> >>>>>>>
>> >>>>>>> This is a follow up to:
>> >>>>>>>  Which thread is the funneled thread?
>> >>>>>>>  in
>http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-
>> >>>>>>> errata/index.html
>> >>>>>>> with mail discussion in
>> >>>>>>>  http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-
>> >>>>>>> errata/discuss/funneled/
>> >>>>>>> ___________________________________
>> >>>>>>>
>> >>>>>>> Proposal:
>> >>>>>>> MPI-2.0 Sect. 8.7.3, MPI_Init_thread, page 196, lines 25-26
>> >>>>>>> read:
>> >>>>>>>
>> >>>>>>>  MPI_THREAD_FUNNELED The process may be multi-threaded, but only
>> >>>>>>>  the main thread will make MPI calls (all MPI calls are
>> >>>>>>> "funneled"
>> >>>>>>>  to the main thread).
>> >>>>>>>
>> >>>>>>> but should read:
>> >>>>>>>
>> >>>>>>>  MPI_THREAD_FUNNELED The process may be multi-threaded, but only
>> >>>>>>>  the main thread will make MPI calls (all MPI calls are
>> >>>>>>> "funneled"
>> >>>>>>>  to the main thread, e.g., by using the OpenMP directive
>> >>>>>>> "master"
>> >>>>>>>  in the application program).
>> >>>>>>> ___________________________________
>> >>>>>>> Rationale for this clarification from the email from Greg
>> >>>>>>> Lindahl:
>> >>>>>>>  The existing document doesn't make it clear that
>> >>>>>>>  the MPI user has to funnel the calls to the main thread;
>> >>>>>>>  it's not the job of the MPI library. I have seen multiple
>> >>>>>>>  MPI users confused by this issue, and when I first read
>> >>>>>>>  this section, I was confused by it, too.
>> >>>>>>> ___________________________________
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> Best regards
>> >>>>>>> Rolf
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> Dr. Rolf Rabenseifner . . . . . . . . . .. email
>rabenseifner_at_[hidden]
>> >>>>>>> High Performance Computing Center (HLRS) . phone +
>> >>>>>>> +49(0)711/685-65530
>> >>>>>>> University of Stuttgart . . . . . . . . .. fax ++49(0)711 /
>> >>>>>>> 685-65832
>> >>>>>>> Head of Dpmt Parallel Computing . . .
>www.hlrs.de/people/rabenseifner
>> >>>>>>> Nobelstr. 19, D-70550 Stuttgart, Germany . (Office:
>> >>>>>>> Allmandring 30)
>> >>>>>>> _______________________________________________
>> >>>>>>> mpi-21 mailing list
>> >>>>>>> mpi-21_at_[hidden]
>> >>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/mpi-21
>> >>>>>
>---------------------------------------------------------------------
>> >>>>> Intel Corporation (UK) Limited
>> >>>>> Registered No. 1134945 (England)
>> >>>>> Registered Office: Pipers Way, Swindon SN3 1RJ
>> >>>>> VAT No: 860 2173 47
>> >>>>>
>> >>>>> This e-mail and any attachments may contain confidential
>> >>>>> material for
>> >>>>> the sole use of the intended recipient(s). Any review or
>> >>>>> distribution
>> >>>>> by others is strictly prohibited. If you are not the intended
>> >>>>> recipient, please contact the sender and delete all copies.
>> >>>>>
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> mpi-21 mailing list
>> >>>>> mpi-21_at_[hidden]
>> >>>>> http://lists.cs.uiuc.edu/mailman/listinfo/mpi-21
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> mpi-21 mailing list
>> >>> mpi-21_at_[hidden]
>> >>> http://lists.cs.uiuc.edu/mailman/listinfo/mpi-21
>> >>
>> >>
>> >
>> >
>> >
>> > Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner_at_[hidden]
>> > High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
>> > University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
>> > Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
>> > Nobelstr. 19, D-70550 Stuttgart, Germany . (Office: Allmandring 30)
>> > _______________________________________________
>> > mpi-21 mailing list
>> > mpi-21_at_[hidden]
>> > http://lists.cs.uiuc.edu/mailman/listinfo/mpi-21
>>
>> [attachment "smime.p7s" deleted by Richard
>> Treumann/Poughkeepsie/IBM]
>_______________________________________________
>> mpi-21 mailing list
>> mpi-21_at_[hidden]
>> http://lists.cs.uiuc.edu/mailman/listinfo/mpi-21

Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner_at_[hidden]
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
Nobelstr. 19, D-70550 Stuttgart, Germany . (Office: Allmandring 30)



More information about the Mpi-21 mailing list