[Mpi-22] Another MPI-2.2 attribute ambiguity?
Jeff Squyres
jsquyres at [hidden]
Mon May 18 10:24:57 CDT 2009
I'm most curious to know what current MPI implementations do in this
scenario.
On May 14, 2009, at 1:05 PM, Jeff Squyres wrote:
> Another question about this issue...
>
> Since all fortran values are passed by reference, does the MPI care
> if the callback function changes the EXTRA_STATE value? I see 2
> choices:
>
> 1. The MPI copies the value of extra_state when MPI_*_CREATE_KEVAL
> is invoked to internal storage. This internal storage is passed to
> all the callbacks when invoked. If any of the callbacks change the
> value, then subsequent invocations of the callback get the changed
> value.
>
> 2. The MPI copies the value of extra_state when MPI_*_CREATE_KEVAL
> is invoked to internal storage. This internal storage is copied any
> time a callback is invoked; the copy is passed to the callback (and
> freed when the callback returns). In this way, the same EXTRA_STATE
> value that was originally passed to the keyval constructor will
> always be passed to any callbacks.
>
> What do current MPI implementations do?
>
> OMPI's development trunk has been updated to do #1; I'm wondering if
> it should do #2.
>
>
>
> On Apr 17, 2009, at 10:21 AM, Jeff Squyres (jsquyres) wrote:
>
>> Ok, I'll file an MPI-3 ticket for this.
>>
>> (for everyone else on the 2.2 list wondering why you just got
>> blitzkrieged with a whole pile of emails on this topic: the
>> listserver
>> sent all these mails to moderation because of the lengthy CC list.
>> IU
>> just approved all the mails to go through this morning)
>>
>>
>> On Apr 17, 2009, at 9:40 AM, William Gropp wrote:
>>
>> > Yes, this is worth an ATI - the fact that we traded this much
>> mail on
>> > it is proof of that :)
>> >
>> > Thanks, Jeff.
>> >
>> > Bill
>> >
>> > On Apr 17, 2009, at 8:14 AM, Jeff Squyres wrote:
>> >
>> > > Someone pointed out to me this morning that there's no
>> restriction
>> > on
>> > > the value of EXTRA_STATE when CREATE_KEYVAL is invoked -- it may
>> > be an
>> > > expression, for example. I think that pretty much seals the deal
>> > that
>> > > #2 is the correct way.
>> > >
>> > > I think that this is worth an ATI in the text; does anyone
>> disagree?
>> > > I volunteer to write it up/make a 3.0 ticket (hey, first ticket
>> for
>> > > the Misc WG! :-) ) if no one disagrees.
>> > >
>> > >
>> > > On Apr 17, 2009, at 8:59 AM, Supalov, Alexander wrote:
>> > >
>> > >> Hi,
>> > >>
>> > >> Intel MPI (and most likely other MPICH2 derivatives) appears
>> to use
>> > >> method #2.
>> > >>
>> > >> Best regards.
>> > >>
>> > >> Alexander
>> > >>
>> > >> -----Original Message-----
>> > >> From: Jeff Squyres [mailto:jsquyres_at_[hidden]]
>> > >> Sent: Thursday, April 16, 2009 4:19 PM
>> > >> To: MPI 2.2; Rajeev Thakur; William Gropp; Rolf Rabenseifner;
>> > Hubert
>> > >> Ritzdorf; Terry Dontje; Dave Goodell; Darius Buntinas; Pavan
>> > Balaji;
>> > >> Supalov, Alexander; Bronis de Supinski; David Solt; Hans
>> Westgaard
>> > >> Ry; Håkon Bugge
>> > >> Subject: Another MPI-2.2 attribute ambiguity?
>> > >>
>> > >> This is related to -- but different from -- MPI 2.2 ticket #55
>> > >> ("MPI-2.1 Cross-language attribute example is wrong").
>> Explicitly
>> > >> adding all the #55 CC members to this mail, plus a few others.
>> > >>
>> > >> I cannot find any text in MPI-2.1 (e.g., p223-225) describing
>> > >> specific
>> > >> behavior regarding the EXTRA_STATE arguments passed to the
>> Fortran
>> > >> keyval copy and delete functions (both the ADDRESS_KIND and
>> > >> deprecated
>> > >> flavors). I see two choices:
>> > >>
>> > >> 1. pass the user's original EXTRA_STATE argument by reference to
>> > the
>> > >> callbacks, or
>> > >> 2. copy the user's original EXTRA_STATE into internal MPI
>> storage
>> > and
>> > >> pass *that* value by reference to the callbacks
>> > >>
>> > >> ==> Open MPI currently does #1. What do other implementations
>> do?
>> > >>
>> > >> I raise this issue because the text does not indicate which
>> way is
>> > >> right. And I just ran across an old Sun test that assumed
>> #2. But
>> > >> our internal copy of the Intel MPI tests assume #1 (to be
>> fair: I
>> > >> have
>> > >> no idea if the Intel tests originally assumed #2 and we changed
>> > them
>> > >> to #1 over time). Indeed, #2 is actually in-line with the
>> > philosophy
>> > >> of storing attribute values in internal MPI storage. E.g.:
>> > >>
>> > >> INTEGER foo = 4
>> > >> INTEGER bar
>> > >> CALL MPI_COMM_SET_ATTR(comm, keyval, foo, ierr)
>> > >> foo = 5
>> > >> CALL MPI_COMM_GET_ATTR(comm, keyval, bar, flag, ierr)
>> > >>
>> > >> bar should equal 4, not 5 (right?).
>> > >>
>> > >> So what does that mean (or imply) about the EXTRA_STATE value
>> > passed
>> > >> to the Fortran callbacks?
>> > >>
>> > >> --
>> > >> Jeff Squyres
>> > >> Cisco Systems
>> > >>
>> > >>
>> >
>> ---------------------------------------------------------------------
>> > >> Intel GmbH
>> > >> Dornacher Strasse 1
>> > >> 85622 Feldkirchen/Muenchen Germany
>> > >> Sitz der Gesellschaft: Feldkirchen bei Muenchen
>> > >> Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes
>> Schwaderer
>> > >> Registergericht: Muenchen HRB 47456 Ust.-IdNr.
>> > >> VAT Registration No.: DE129385895
>> > >> Citibank Frankfurt (BLZ 502 109 00) 600119052
>> > >>
>> > >> 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.
>> > >>
>> > >>
>> > >
>> > >
>> > > --
>> > > Jeff Squyres
>> > > Cisco Systems
>> > >
>> >
>> > William Gropp
>> > Deputy Director for Research
>> > Institute for Advanced Computing Applications and Technologies
>> > Paul and Cynthia Saylor Professor of Computer Science
>> > University of Illinois Urbana-Champaign
>> >
>> >
>> >
>> >
>>
>>
>> --
>> Jeff Squyres
>> Cisco Systems
>>
>>
>> _______________________________________________
>> mpi-22 mailing list
>> mpi-22_at_[hidden]
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
>
>
> --
> Jeff Squyres
> Cisco Systems
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
--
Jeff Squyres
Cisco Systems
More information about the Mpi-22
mailing list