Re: [Mpi-22] Ticket #46: Add const Keyword to the C bindings-implementation
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
participants (1)
-
unknown@example.com