[Mpi-forum] C++ types inaccessible after #281

Jeff Hammond jhammond at alcf.anl.gov
Tue Jun 26 16:16:50 CDT 2012


I think that it is critical to use the correct language.  Ticket #281
says that the "C++ bindings" are to be removed.  It says nothing about
removing any other C++ reference.  While it may be true that most of
the references to C++ in the standard are the bindings, the intent of
Ticket #281, as stated by many members of the Forum during
face-to-face meetings, is for the MPI standard to support C++ via the
C bindings.

Do you disagree that Ticket #281 really intends to "migrate C++
support in the MPI standard from the C++ bindings to the C bindings"
and not "to eradicate/remove/etc. C++ from the standard"?  If the goal
of the Forum is to not only remove the imperfect C++ bindings but make
it difficult or impossible to use C++ with MPI, then I'd like people
to raise their hand in Chicago that this is what they meant when they
voted for Ticket #281.

Jeff

On Tue, Jun 26, 2012 at 3:58 PM, Douglas Miller <dougmill at us.ibm.com> wrote:
>
> Thank you for changing your tone.
>
> I apologize for offending you with the word "eradicate". The term seemed to fit the actual work being done, though, which was essentially search for all "MPI::" and "C++" references in the MPI Standard document and remove them.
>
> All this being said, there are some pretty harsh accusations below. I don't feel I deserve them, and am certain that IBM does not.
>
>
>
> _______________________________________________
> Douglas Miller                  BlueGene Messaging Development
> IBM Corp., Rochester, MN USA                     Bldg 030-2 A401
> dougmill at us.ibm.com               Douglas Miller/Rochester/IBM
>
> Jeff Hammond ---06/26/2012 03:27:36 PM---Jeff Hammond <jhammond at alcf.anl.gov>
>
> Jeff Hammond <jhammond at alcf.anl.gov>
> Sent by: mpi-forum-bounces at lists.mpi-forum.org
>
> 06/26/2012 03:11 PM
>
> Please respond to
> Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>
>
>
> To
>
> Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>,
>
>
> cc
>
>
> Subject
>
> Re: [Mpi-forum] C++ types inaccessible after #281
>
>
> There is a huge difference between deprecating support for C++
> _bindings_ and deprecating support for C++ _altogether_.  The ticket
> is about the C++ bindings.  What Jed and I are trying to do is make
> sure that the C _bindings_ allow users to work effectively within C++,
> which means support std::complex<float/double/long double>.  Such
> support already exists in MPI 2.2, but it requires changing "::" to
> "_" so that one can use them with the C interface.
>
> It is absolutely true that the Forum wants better C++ bindings and
> will kill the original ones to make this happen.  However, you are the
> first and only person who has suggested that the goal is to remove
> support for C++ completely.  I believe that your statement "I thought
> the point of 281 was to eradicate C++ from the standard" is completely
> wrong and made with malice aforethought.  You're trying to rewrite
> history to further your campaign to punish C++ programmers.
>
> Many members of the Forum have made it clear that the goal is to
> support C++ via the C bindings.  That does not mean eradicating C++
> from the standard.  I assume that there will be text expressing the
> Forum's believe that the C bindings are sufficient for C++, so clearly
> there should be at least one mention of C++ in the standard.
>
> As I said before, the right way to support C++ datatypes for the C
> bindings is to restrict them to when a C++ compiler is used.  That
> solves your issue with not having a C++ compiler.  I don't see why
> you're arguing about the scenario when you don't have a C++ compiler.
> Do you really have this use case as an implementer or are you just
> making up silly arguments as part of your campaign of hate against
> C++?
>
> It is my understanding that your actions in regards to ticket #281 are
> approved by IBM.  If this ticket is not supported by IBM, then it
> would make me happy to hear this.
>
> Jeff
>
>
>
> On Tue, Jun 26, 2012 at 2:21 PM, Douglas Miller <dougmill at us.ibm.com> wrote:
> >
> > Jeff, This is inappropriate. Especially targeting IBM like that, and on a public mailing list. Ticket 281 has had plenty of discussions and passed votes. This is/was a Forum decision. The fact that I agreed with it, and volunteered to do a lot of the work, is why I am voicing my opinion on this.  We (the Forum) have said all along that anyone that has a better design for C++ bindings should bring that forward and make a proposal. Getting rid of the current, often considered "broken", C++ bindings is a good way to ensure any future proposal is free to change the design.
> >
> >
> >
> >
> > _______________________________________________
> > Douglas Miller                  BlueGene Messaging Development
> > IBM Corp., Rochester, MN USA                     Bldg 030-2 A401
> > dougmill at us.ibm.com               Douglas Miller/Rochester/IBM
> >
> > Jeff Hammond ---06/26/2012 02:09:59 PM---Jeff Hammond <jhammond at alcf.anl.gov>
> >
> > Jeff Hammond <jhammond at alcf.anl.gov>
> > Sent by: mpi-forum-bounces at lists.mpi-forum.org
> >
> > 06/26/2012 01:57 PM
> >
> > Please respond to
> > Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>
> >
> >
> > To
> >
> > Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>,
> >
> >
> > cc
> >
> >
> > Subject
> >
> > Re: [Mpi-forum] C++ types inaccessible after #281
> >
> >
> > Why do you want to make it so damn hard for anyone to use MPI in C++ codes?  You don't even have to do anything to support C++ because BG-MPI is based upon MPICH2.
> >
> > Can't we just for once try to take user needs into consideration instead of trying to reduce the workload of implementers as much as possible?
> >
> > Users matter.  In IBM land, they are called customers.  I assure you that some of your largest customers care a great deal about using MPI within C++.
> >
> > You're going out of your way to try and punish your customers for using C++.  Can't you just leave them alone?  Maybe we - the customers - need to leave IBM alone.
> >
> > Jeff
> >
> > On Tue, Jun 26, 2012 at 1:43 PM, Douglas Miller <dougmill at us.ibm.com> wrote:
> >
> > I think the issue is just that how can a standard that does not specify how C++ fits into things (after ticket 281) then go on to define a data type in terms of C++ types? If there is a need for a C (not C++) complex datatype, that should be a new proposal. But that datatype should not, in my opinion, be defined in terms of something like std::complex. If a platform does not support something like C99 complex types, then it will have to implement complex types and ops itself, or be incomplete.
> >
> >
> >
> >
> > _______________________________________________
> > Douglas Miller                  BlueGene Messaging Development
> > IBM Corp., Rochester, MN USA                     Bldg 030-2 A401
> > dougmill at us.ibm.com               Douglas Miller/Rochester/IBM
> >
> > Jeff Hammond ---06/26/2012 12:31:52 PM---Jeff Hammond <jhammond at alcf.anl.gov>
> >
> > Jeff Hammond <jhammond at alcf.anl.gov>
> > Sent by: mpi-forum-bounces at lists.mpi-forum.org
> >
> > 06/26/2012 12:21 PM
> >
> >
> >
> > Please respond to
> > Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>
> > To
> >
> > Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>,
> >
> > cc
> > Subject
> >
> > Re: [Mpi-forum] C++ types inaccessible after #281
> >
> >
> > as far as i'm concerned, these types are only valid with the C bindings when a C++ compiler is used.  does that solve it?
> >
> > jeff
> >
> > On Tue, Jun 26, 2012 at 11:41 AM, Douglas Miller <dougmill at us.ibm.com> wrote:
> >
> > I've got to raise a concern here. If we start defining MPI datatypes to be C++ types then how will an implementation support that with only a C compiler? I thought the point of 281 was to eradicate C++ from the standard (and start over later if C++ was to be defined in the standard).
> >
> >
> > _______________________________________________
> > Douglas Miller                  BlueGene Messaging Development
> > IBM Corp., Rochester, MN USA                     Bldg 030-2 A401
> > dougmill at us.ibm.com               Douglas Miller/Rochester/IBM
> >
> > Jed Brown ---06/26/2012 11:26:16 AM---Jed Brown <jedbrown at mcs.anl.gov>
> >
> > Jed Brown <jedbrown at mcs.anl.gov>
> > Sent by: mpi-forum-bounces at lists.mpi-forum.org
> >
> > 06/26/2012 11:14 AM
> >
> >
> >
> >
> >
> > Please respond to
> >
> > Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>
> > To
> >
> > Main MPI Forum mailing list <mpi-forum at lists.mpi-forum.org>,
> >
> > cc
> > Subject
> >
> > Re: [Mpi-forum] C++ types inaccessible after #281
> >
> >
> > On Tue, Jun 26, 2012 at 6:13 AM, Jeff Squyres <jsquyres at cisco.com> wrote:
> >
> > There are a few C++-specific datatypes for which it would be worth introducing new C datatypes (e.g., MPI_CXX_COMPLEX).  It's too bad that no one realized this until now, because this won't make the MPI-3 deadline.  But it could be part of MPI-3.1 or errata, or some such.
> >
> >
> > Two people in offline discussions have suggested that C bindings to the std::complex types (I'm not aware of anything else that #281 will lose) might qualify as ticket 0._______________________________________________
> > mpi-forum mailing list
> > mpi-forum at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
> >
> > _______________________________________________
> > mpi-forum mailing list
> > mpi-forum at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
> >
> >
> >
> >
> > --
> > Jeff Hammond
> > Argonne Leadership Computing Facility
> > University of Chicago Computation Institute
> > jhammond at alcf.anl.gov / (630) 252-5381
> > http://www.linkedin.com/in/jeffhammond
> > https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond(See attached file: pic32424.gif)_______________________________________________
> > mpi-forum mailing list
> > mpi-forum at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
> >
> > _______________________________________________
> > mpi-forum mailing list
> > mpi-forum at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
> >
> >
> >
> >
> > --
> > Jeff Hammond
> > Argonne Leadership Computing Facility
> > University of Chicago Computation Institute
> > jhammond at alcf.anl.gov / (630) 252-5381
> > http://www.linkedin.com/in/jeffhammond
> > https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond(See attached file: pic08490.gif)_______________________________________________
> > mpi-forum mailing list
> > mpi-forum at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
> >
> >
> > _______________________________________________
> > mpi-forum mailing list
> > mpi-forum at lists.mpi-forum.org
> > http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
>
>
>
>
> --
> Jeff Hammond
> Argonne Leadership Computing Facility
> University of Chicago Computation Institute
> jhammond at alcf.anl.gov / (630) 252-5381
> http://www.linkedin.com/in/jeffhammond
> https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
>
> _______________________________________________
> mpi-forum mailing list
> mpi-forum at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
>
>
>
> _______________________________________________
> mpi-forum mailing list
> mpi-forum at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum




--
Jeff Hammond
Argonne Leadership Computing Facility
University of Chicago Computation Institute
jhammond at alcf.anl.gov / (630) 252-5381
http://www.linkedin.com/in/jeffhammond
https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond




More information about the mpi-forum mailing list