-
Notifications
You must be signed in to change notification settings - Fork 3
Remove C++ Bindings #281
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Originally by jsquyres on 2011-07-20 20:41:12 -0500 As expected, there was much discussion about this at the Forum. The usual points were brought up:
|
Originally by ftillier on 2011-09-01 13:04:35 -0500 Withdrawing this ticket, as ticket #279 makes the C++ bindings optional and is far less contentious, as well as a lot easier in terms of LaTeX changes. |
Originally by dougmill on 2011-10-25 14:00:51 -0500 accepting as potential work to enumerate chagens required to delete C++ bindings |
Originally by dougmill on 2011-11-02 08:59:27 -0500 Added a first-pass at removing the C++ bindings. I created a new chapter "Removed Language Interfaces" and moved all C++ function prototypes there, as well as the design discussion and listings of Language Constants. In most cases, the original text is marked with "ticket281" and the removed C++ text colored as DELETE. There were some impracticalities so tables with removed C++ columns and some "trivial" references to things like "C/C++" are not marked, however I have revision history in my repository to track those. I'm not sure I captured the original intent for "removing C++ bindings", but it is a start. What's the next step? |
Originally by ftillier on 2011-11-02 10:04:36 -0500 I'd suggest naming the new chapter "Removed Interfaces" to not make it programming language specific. For example, there is a ticket I started, to remove some of the deprecated MPI-1 routines. For these, all bindings would be removed, and it would be nice if this new chapter could capture these too. I think the language should be faily brief in the deleted chapter. It should reference the names of the objects/APIs/constants/etc, say they were deleted, and just reference the last standard that included them. |
Originally by dougmill on 2011-11-29 14:00:07 -0600 Updated svn with new name for removed interfaces section. attached new pdf. |
Originally by ftillier on 2011-12-02 13:05:37 -0600 Hi Doug, I've reviewed the document, and it looks good overall. Here's the few comments I came up with: |
Originally by jsquyres on 2012-01-06 13:23:55 -0600 Doug -- a few comments on the PDF.
|
Originally by dougmill on 2012-01-06 13:40:23 -0600 Replying to jsquyres:
|
Originally by dougmill on 2012-01-06 14:58:20 -0600 updated attached document with "ticket0" changes from Jeff Squyres. |
Originally by jsquyres on 2012-01-10 22:10:08 -0600 Proposal was read in the Jan 2012 Forum meeting. Even more textual cuts were proposed by the Forum. Additionally, several C++ sections were missed that need to be cut. So the proposal will be revised a bit more and brought up again for a reading at the next meeting. |
Originally by dougmill on 2012-01-11 16:47:56 -0600 Attachment added: |
Originally by RolfRabenseifner on 2012-07-18 06:53:10 -0500 Passed July 17, 2012 with 15 YES, 4 NO, 2 ABSTAIN. |
Originally by RolfRabenseifner on 2012-07-18 07:04:02 -0500 The sources for this ticket, i.e.,
There are part(s) that are deleted from the source without any notification (e.g. macro or some comments telling else that this is a change due to #281). A grep 281 /.tex does not show all modified locations! Example:
I hope, that this is the only such modification without notification. We need that this is clarified by the ticket responsibles, otherwise a correct implementation in the approved latex source is hard. |
Originally by jsquyres on 2012-07-18 07:12:05 -0500 What you're saying is that the 281 authors didn't consistently use \MPIdelete and whatnot. That is correct. I actually went through a PDF built from that tree and manually added the relevant \MPIdelete (etc.) in the bindings chapter. It was a little annoying, but I think I found all the Right places where 281 removed text. |
Originally by dougmill on 2012-07-18 07:22:35 -0500 This was discussed, at least at all the readings I did. No objections were raised at the time. That branch was created with initial, un-modified, files from the trunk at that time. Diffing between the initial rev and current rev should show all changes made. So, are we keeping the \MPIdelete, etc, macros for the "proof" copy of the doc? I was under the impression that the doc would be unreadable with all the annotations from all tickets kept in it. |
Originally by jsquyres on 2012-07-18 07:33:23 -0500 Yes, the macros serve multiple purposes:
Since they're macros, it's easy to produce proofing copies for internal use in the forum (i.e., showing all the deleted text, etc.), but then also with the flick of a switch, not show all the deleted text (etc.) and generate a final, clean copy for production that doesn't include all the deleted text (etc). |
Originally by RolfRabenseifner on 2012-07-18 07:44:15 -0500 Replying to dougmill:
A svn diff between which svn releases of |
Originally by jsquyres on 2012-07-18 07:50:53 -0500 Yes. For example:
shows the cumulative diff in the bindings chapter of all the changes made on the 281 branch. Edit the URL to show whichever chapter you want, or remove the chapter directory to show all changes. |
Originally by htor on 2012-07-18 12:42:18 -0500 Small updates to coll chapter based on Howard's comment (thanks). --> http://www.unixer.de/sec/mpi-report.pdf Thanks, |
Originally by buntinas on 2012-07-18 14:46:13 -0500 Applied to Info chapter in r1422. -d |
Originally by schulzm on 2012-07-18 16:02:24 -0500 Applied to Environment Chapter 8 |
Originally by RolfRabenseifner on 2012-07-18 18:19:09 -0500 Committed to approved/chap-appLang as r1440 |
Originally by jsquyres on 2012-07-18 18:24:01 -0500 The removed chapter reviewed ok. |
Originally by jsquyres on 2012-07-18 18:24:38 -0500 All text appears to have been committed; moving to the "Waiting for PDF reviews" state. |
Originally by buntinas on 2012-07-18 18:37:40 -0500 Topo chapter reviewed and fixed. OK |
Originally by anhvo on 2012-07-18 18:42:48 -0500 pt2pt reviewed. OK |
Originally by buntinas on 2012-07-18 19:21:58 -0500 Bindings chapter reviewed and fixed. OK |
Originally by anhvo on 2012-07-19 12:02:30 -0500 In clean doc R1473 I'm still seeing a couple C++ bindings in chapter 13 (I/O). Page 541 and 542 (MPI_Datarep_extent_function and MPI_Datarep_conversion_function) |
Originally by rsthakur on 2012-07-19 13:07:30 -0500 Also disabled the \mpicpptypedefbind and \mpicpptypedefemptybind macros to remove the above C++ typedefs in the I/O chapter |
Uh oh!
There was an error while loading. Please reload this page.
Originally by ftillier on 2011-06-23 17:13:11 -0500
This ticket removes the deprecated C++ bindings.
Motivation
The C++ bindings are problematic for binary distributions of implementations because there is no standard for C++ name mangling. This requires implementors to either ship multiple binaries (one set of binaries per target compiler), restrict customer choice in compiler suites, or ship the C++ bindings in source form, requiring them to be layered above the C bindings.
Further, new MPI-3.0 routines have no C++ bindings, requiring C++ applications to use the C bindings.
Backward Compatibility
Applications requiring support for these can request support for them from their MPI implementations. There are no problems with concurrent support of different versions of the standard, allowing implementations to be compliant with both MPI 2.2 as well as MPI 3.0. The C++ bingings can thus be provided via MPI 2.2 support, while new MPI-3.0 specific functionality can be used via the C bindings.
The text was updated successfully, but these errors were encountered: