Re: [Mpi-forum] "BigCount" rendering in PDF

2019-08-02 Thread N.M. Maclaren via mpi-forum
On Aug 2 2019, Joseph Schuchart via mpi-forum wrote: > In any case, we can't design MPI around ignorant users who don't read about features they're using. I'm not advocating to change the design, i.e., I'm not arguing against having C11 _Generic selectors. I just think it would be

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-08-02 Thread Joseph Schuchart via mpi-forum
> Are you saying that a C99 compiler won’t complaint if the user passes a 64b int to a 32b int argument? That’s a pretty stupid compiler if you ask me. It is perfectly valid in C *and* C++ to pass a 64bit integer value as an argument to a 32bit integer parameter. The 64bit integer value will

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-08-01 Thread Jeff Hammond via mpi-forum
Are you saying that a C99 compiler won’t complaint if the user passes a 64b int to a 32b int argument? That’s a pretty stupid compiler if you ask me. I’m fine with putting MPI C11 in separate header that can #error if C11 isn’t supported. That’s a pretty obvious user experience win that costs

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-08-01 Thread Joseph Schuchart via mpi-forum
I think the point he wanted to make was that you won't see a compile-time error if you /think/ you're using the MPI_Count overloads but are in fact not, i.e., you are modernizing a legacy code base that is stuck in the nineties and you introduce MPI_Count for size arguments because the

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-08-01 Thread Jeff Hammond via mpi-forum
That’s why there will be C90/C99 compatible symbols as well. If you don’t like C11, don’t use it. Nothing will happen. BigCount will still work. C11 has been the default in GCC and Clang for a while. What compilers are going to limit users to C99 for years to come? Jeff > On Aug 1, 2019, at

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-08-01 Thread N.M. Maclaren via mpi-forum
On Jul 30 2019, Jeff Squyres (jsquyres) via mpi-forum wrote: B. C11 _Generic polymorphism kinda sucks, *and* we're in a transition period where not all C compilers are C11-capable. Hence, we're exposing up to *3* C bindings per MPI procedure to applications (including explicitly exposing the

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jed Brown via mpi-forum
"Jeff Squyres \(jsquyres\) via mpi-forum" writes: > On Jul 31, 2019, at 12:59 PM, Jeff Hammond wrote: >> >> “C++ compilers shall produce the same result as C11 generic.” Why does this >> need to say anything different for profiling and tools? Is this impossible? > > Is there a way to have

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Squyres (jsquyres) via mpi-forum
On Jul 31, 2019, at 12:59 PM, Jeff Hammond wrote: > > “C++ compilers shall produce the same result as C11 generic.” Why does this > need to say anything different for profiling and tools? Is this impossible? Is there a way to have C++ overloading call the same symbols that we'll dispatch to

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Joseph Schuchart via mpi-forum
I agree with Jeff H that excluding C++ from the BigCount polymorphism seems unfortunate (and unintuitive for C++ developers). The _Generic selectors in C11 map a call to MPI_YYY() to either MPI_YYY(int) or MPI_YYY_x(MPI_Count). A C++ interface could do the same, with some macro work in the

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Hammond via mpi-forum
> On Jul 31, 2019, at 9:50 AM, Jeff Squyres (jsquyres) > wrote: > >> On Jul 31, 2019, at 12:14 PM, Jeff Hammond wrote: >> >>> You're ignoring the long tail of consequences here -- what about >>> PMPI/tools? What about other C++ features that we should be using, too? >>> ...? >> >> No

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Squyres (jsquyres) via mpi-forum
On Jul 31, 2019, at 12:14 PM, Jeff Hammond wrote: > >> You're ignoring the long tail of consequences here -- what about PMPI/tools? >> What about other C++ features that we should be using, too? ...? > > No scope creep. No slippery slope. Do the one thing we need to go and stop. > Leave the

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Hammond via mpi-forum
> >> If you don’t say C++, there’s no reason OMPI and MPICH can’t do the obvious, >> trivial and intelligent thing. > > I guess I disagree with all three of those hyperbolic assertions. :-) > > You're ignoring the long tail of consequences here -- what about PMPI/tools? > What about other

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Squyres (jsquyres) via mpi-forum
On Jul 31, 2019, at 11:59 AM, Jeff Hammond wrote: > > It’s a long email to read on my phone while on vacation. Then stop reading on your phone while on vacation and defer this until next week! ;-) > If you don’t say C++, there’s no reason OMPI and MPICH can’t do the obvious, > trivial and

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Hammond via mpi-forum
It’s a long email to read on my phone while on vacation. You just need a sentence that says C++ compilers support C bindings, including the C11 generic stuff, just using a very different mechanism. Is that going to delay MPI-4? In any case, all the issues with polymorphism is exactly why it’s

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread HOLMES Daniel via mpi-forum
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

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Squyres (jsquyres) via mpi-forum
On Jul 31, 2019, at 10:52 AM, Jeff Hammond 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

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Hammond via mpi-forum
You’re going to have to mention C++. You can’t just pretend that C++ supports C11 generic, because it explicitly doesn’t. And you really should do this because it’s ridiculous not to use C++ polymorphism if we use C11’s. Jeff > On Jul 31, 2019, at 6:14 AM, Jeff Squyres (jsquyres) via mpi-forum

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Jeff Squyres (jsquyres) via mpi-forum
On Jul 31, 2019, at 4:31 AM, Joseph Schuchart via mpi-forum wrote: > Should we mark in the interface the fact that the MPI_Count overloads are > only available in C11? I'm thinking about something similar to cppreference's > distinction between C/C++ standard versions, e.g., > > > ``` > int

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-31 Thread Joseph Schuchart via mpi-forum
Jeff, The first look at the definitions might indeed be a bit confusing, as it is strange to see overloaded C functions (even though C11 _Generic has been around for a while). It is also not clear when the second variant (using MPI_Count) is available, that is only if C11 _Generic is

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-30 Thread Jeff Squyres (jsquyres) via mpi-forum
In the text: - We consciously put the "old" binding first (i.e., the int/INTEGER-enabled one), just for familiarity. In Annex A: - It's an alphabetical listing. - I don't have strong feelings about this. If the popular opinion is to move the C/F08 Count-enabled bindings first in the

Re: [Mpi-forum] "BigCount" rendering in PDF

2019-07-30 Thread Bangalore, Purushotham via mpi-forum
Any reason why the function with MPI_Count appears first in the function index while it appears second in the chapter? Get Outlook for Android From: mpi-forum on behalf of Jeff Squyres (jsquyres) via mpi-forum Sent: Tuesday, July 30,