Hi Jeff,

To be clear, C++ currently calls/uses the C99 interface for MPI (unless it uses 
the no-long-standard but possibly-still-present-in-libraries C++ bindings). 
That will still be true after these BigCount changes: C++ will see only the C99 
symbols, just like any other non-C11-compliant compiler. Polymorphism will not 
be supported in C++ because it cannot use C11 _Generic (because that is part of 
the C11 standard and is *not* part of the C++ standard). It also cannot use C++ 
overloading because are choosing not to define any new C++ bindings in the 
MPI-4.0 standard. If libraries choose to supply C++ overloads, they may do so 
but they are not going to be part of the MPI-4.0 standard (they will have the 
same status as the Java bindings offered by Open MPI).

Dr Daniel Holmes PhD
Architect (HPC Research)
Phone: +44 (0) 131 651 3465
Mobile: +44 (0) 7940 524 088
Address: Room 2.09, Bayes Centre, 47 Potterrow, Central Area, Edinburgh, EH8 9BT
The University of Edinburgh is a charitable body, registered in Scotland, with 
registration number SC005336.

On 31 Jul 2019, at 16:03, Jeff Squyres (jsquyres) via mpi-forum 
<mpi-forum@lists.mpi-forum.org<mailto:mpi-forum@lists.mpi-forum.org>> wrote:

On Jul 31, 2019, at 10:52 AM, Jeff Hammond 
<jeff.scie...@gmail.com<mailto:jeff.scie...@gmail.com>> wrote:

You’re going to have to mention C++. You can’t just pretend that C++ supports 
C11 generic, because it explicitly doesn’t.

We are mentioning C++.  Please re-read my prior email.

And you really should do this because it’s ridiculous not to use C++ 
polymorphism if we use C11’s.

There are three options:

1. Re-introduce C++ bindings, delay MPI-4.
2. Re-introduce C++ bindings, BigCount misses the MPI-4 train.
4. Do not re-introduce C++ bindings, BigCount catches the MPI-4 train.

The feedback from the Forum was that BigCount was a blocker/gating issue for 
MPI-4.  Hence, this is why the BigCount WG is not planning at this time to 
re-introduce C++ bindings via BigCount.

There is a longer term plan (think: MPI-5) to introduce a full-featured set of 
C++ bindings to MPI -- one that does not necessarily have a 1:1 correspondence 
to the C bindings.  That is a different, much longer effort, and will 
definitely not make it into MPI-4.

Jeff Squyres

mpi-forum mailing list

mpi-forum mailing list

Reply via email to