[Mpi-22] Ticket #46: Add const Keyword to the C bindings-implementation

Jeff Squyres jsquyres at [hidden]
Tue Mar 17 18:50:45 CDT 2009



Yet another reason to drop the C++ bindings in MPI-3.0!

:-D

On Mar 17, 2009, at 7:20 PM, Erez Haba wrote:

> Okay, following your logic I would say that the MPI C++ binding  
> makes the MPI C bindings obsolete because it uses the const modifier  
> at the C++ level where it's not at the MPI C level. (The MPI C++  
> implementation is using the C bindings)
>
> Does this follow your logic correctly?
>
> Thanks,
> .Erez
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden] 
> ] On Behalf Of Supalov, Alexander
> Sent: Tuesday, March 17, 2009 1:05 AM
> To: MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keyword to the C  
> bindings-implementation
>
> Thanks. Then I have to disagree for the reasons mentioned below. In  
> my view, adding the const modifier at the MPI level does add to the  
> obsolescence down below by basically forcing the lower level  
> interfaces move toward the use of the const keyword, what they  
> currently and predominantly do not do.
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden] 
> ] On Behalf Of Erez Haba
> Sent: Monday, March 16, 2009 10:48 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keyword to the C  
> bindings-implementation
>
> It means that adding the const keyword is not relevant to the  
> obsoleteness of the lower level interface (ticket #45 is).
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden] 
> ] On Behalf Of Supalov, Alexander
> Sent: Monday, March 16, 2009 2:37 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keyword to the C  
> bindings-implementation
>
> Thanks. What does it mean here, "more "obsolete" or less  
> "obsolete""? Did you mean "more "obsolete" or less "advanced""?
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden] 
> ] On Behalf Of Erez Haba
> Sent: Monday, March 16, 2009 6:22 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keyword to the C  
> bindings-implementation
>
> Yes, I think we agree. Let me rephrase.
>
> With ticket #45 (send buffer access) being accepted, adding the  
> const keyword does make any network interface more "obsolete" or  
> less "obsolete".
>
>
> Thanks,
> .Erez
>
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden] 
> ] On Behalf Of Supalov, Alexander
> Sent: Monday, March 16, 2009 4:22 AM
> To: MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keyword to the C  
> bindings-implementation
>
> Dear Erez,
>
> Thanks. Before this becomes too involved, let's untangle this a  
> little.
>
> There are three topics here:
>
> 1. The send buffer change (#45).
> 2. The const pointer modifier (#46).
> 3. Bill's claim that 2. "simply captures the previously required  
> semantics of the interface in the syntax".
>
> My message contained two statements:
>
> A. I said that 2. can only be understood in relation to 1. rather  
> than the existing standard (say, MPI 2.1). I doubt this can be  
> refuted. The old standard did allow in-place buffer changes. This  
> would be impossible with the const buffer modifier. Hence my  
> statement.
>
> B. Now, at least for me, 2. simply seals 1. This is why I said that  
> this will make interfaces "obsolete". You object to this. Here's my  
> reasoning: if I have to cast the const away on a lower level  
> interface to make use of the MPI buffer, I surely have an issue. The  
> issue is that the new MPI interface advanced ahead of my lower level  
> networking interface. Thus, from the point of view of the MPI  
> interface, the respective lower level interface becomes "obsolete".  
> Hence my claim and hence the quotes - to point out that this is only  
> MPI POV. Note that this is, in essence, only a negative rewording of  
> Bill's "MPI should take the lead" clause. I doubt this can be  
> refuted either.
>
> Finally, you added that 1. makes some networking interfaces  
> "obsolete". Taking into account A. and B. above, I think we're in  
> violent agreement: both 1. and 2. make MPI lead, or, in other words,  
> make many networking interfaces "obsolete" from the MPI POV. This is  
> very brave on part of the MPI standard. Let's see what happens next.
>
> Best regards.
>
> Alexander
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden] 
> ] On Behalf Of Erez Haba
> Sent: Monday, March 16, 2009 11:53 AM
> To: MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keyword to the C  
> bindings-implementation
>
> Dear Alexander,
>
> Your claim that the const keyword might render some internal  
> networking interfaces as "obsolete" is not correct. The const  
> keyword has no effect on how relevant the network interface is. You  
> probably mean that ticket #45 (send buffer) might render these  
> interfaces as obsolete, and that would be a correct claim for those  
> network interfaces that modify the send buffer.
>
> Thanks,
> .Erez
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden] 
> ] On Behalf Of Supalov, Alexander
> Sent: Monday, March 16, 2009 3:43 AM
> To: MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keyword to the C  
> bindings-implementation
>
> Hi,
>
> I most respectively disagree with the "Const simply captures the  
> previously required semantics of the interface in the syntax"  
> statement. The standard did not prohibit a reversible in-place  
> modification of the send buffer until the very recent change related  
> to #45. Adding const on top will automatically make MPI not the  
> greatest common denominator - some internal networking interfaces  
> that were mentioned in this trail will suddenly become "obsolete".  
> That is, most of the existing networking interfaces will.
>
> Best regards.
>
> Alexander
>
> -----Original Message-----
> From: mpi-22-bounces_at_[hidden] [mailto:mpi-22-bounces_at_[hidden] 
> ] On Behalf Of William Gropp
> Sent: Sunday, March 15, 2009 9:59 PM
> To: MPI 2.2
> Subject: Re: [Mpi-22] Ticket #46: Add const Keyword to the C  
> bindings-implementation
>
> Actually, MPI has taken the lead in a number of areas, including  
> cross-
> language compatibility, to say nothing of the existence of MPI itself.
>
> And MPI has taken great pains to be the *greatest* common
> denominator.  Const simply captures the previously required semantics
> of the interface in the syntax, and is consistent with the MPI spirit.
>
> Bill
> On Mar 13, 2009, at 2:17 PM, Jeff Squyres wrote:
>
> > On Mar 13, 2009, at 9:40 AM, William Gropp wrote:
> >
> >> First, this is a chicken-and-egg problem; the low level
> >> interfaces are unlikely to change to add const unless there is some
> >> application that will take advantage of that (and internally, if
> >> their
> >> semantics allows it and their compiler can support it, they'll just
> >> cast to add the const).  So MPI should take the lead, particularly
> >> since using const also provides information to the user.
> >>
> >
> > This is a very scary statement to me.  MPI has not traditionally
> > "taken the lead" on forcing issues with other interfaces (look where
> > it has gotten us with Fortran...).  Indeed, MPI has taken great  
> pains
> > to be the lowest common denominator across a variety of language,
> > platforms, and operating systems.
> >
> > --
> > Jeff Squyres
> > Cisco Systems
> >
> > _______________________________________________
> > mpi-22 mailing list
> > mpi-22_at_[hidden]
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
>
> 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
>
>
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
> ---------------------------------------------------------------------
> 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.
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
> ---------------------------------------------------------------------
> 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.
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
> ---------------------------------------------------------------------
> 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.
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
> ---------------------------------------------------------------------
> 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.
>
>
> _______________________________________________
> mpi-22 mailing list
> mpi-22_at_[hidden]
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-22
>
>
> _______________________________________________
> 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