-
Notifications
You must be signed in to change notification settings - Fork 7
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
specify normative language references (particularly for ISO C) #139
Comments
@jeffhammond I believe that Microsoft has updated their compiler to support most of C99 (and probably C11). Someone from Microsoft will have to confirm but otherwise I fully support clarifying it as being at least ISO C99. |
If I recall correctly the fixed-width integer MPI types are optional as well. How do people feel about introducing support for C integer types (e.g. |
@omor1 I think this is covered by another proposal. The idea is to allow the MPI implementation to make datatypes for every language type if it is defined. Can't remember the ticket number. I am hoping at the same time we can deprecate the poorly-named MPI_LONG_INT, and MPI_SHORT_INT at the same time as those names collide with C types and do not represent the C types. |
@omor1 The proposal was along the lines of MPI_LANGUAGE_TYPE. So, MPI_C_INT64_T for example. |
It's useful for C or C++ programmers who call MPI functions directly. It's not so useful for writing C++ bindings. In practice, we create C++ bindings by template-specializing some traits class and/or function for every built-in type that's actually a type, not a typedef. |
A related side-note: what does standard say about when an optional type, e.g. MPI_LONG_LONG_INT, is not available in an implementation? |
MPI_LONG_LONG_INT .... now there is some great consistency for you :) |
It is just adding on top of existing mess, ...so, why not? Personally I would see just another direction. How about only specifying sized-types, i.e. MPI_INT_8, MPI_UINT_8, ..., MPI_INT_32, MPI_UINT_32, ... . Plus get-functions, e.g. |
@hzhou I personally don't think that is the best path forward. As I already mentioned, there is a proposal to allow the MPI implementation to define any type available in the binding language. IMHO that is the best path forward. See PR mpi-forum/mpi-standard#54 |
Hi when did that happen ? It was not case as of recently ... is there evidence ? A URL? Generics weren’t there in C when I looked a month or so ago ...
Anthony Skjellum, PhD
205-807-4968
… On Jun 4, 2019, at 2:01 PM, Nathan Hjelm ***@***.***> wrote:
@jeffhammond I believe that Microsoft has updated their compiler to support most of C99 (and probably C11). Someone from Microsoft will have to confirm but otherwise I fully support clarifying it as being at least ISO C99.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@tonyskjellum From Microsoft's website: "C99 Conformance Visual Studio 2015 fully implements the C99 Standard Library, with the exception of any library features that depend on compiler features not yet supported by the Visual C++ compiler". They were the last to add support for it. |
Write it up IMHO :-)
size_t is unsigned ; isn’t both MPI_Count and MPI_Aint signee ?
Are these guarantees
Anthony Skjellum, PhD
205-807-4968
… On Jun 4, 2019, at 4:30 PM, Omri Mor ***@***.***> wrote:
If I recall correctly the fixed-width integer MPI types are optional as well.
How do people feel about introducing support for C integer types (e.g. size_t, ptrdiff_t)? MPI does support its own version of each (MPI_Count, MPI_Aint), but doesn’t have built-in types for the C language types.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@hjelmn wrote:
The link appears to be broken -- would you happen to have a working link? Thanks! |
It works fine, you need to login to github.
…On Wed, Jun 5, 2019, 4:22 PM Mark Hoemmen ***@***.***> wrote:
@hjelmn <https://github.com/hjelmn> wrote:
See PR mpi-forum/mpi-standard#54
<mpi-forum/mpi-standard#54>
The link appears to be broken -- would you happen to have a working link?
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#139?email_source=notifications&email_token=AD2CIBKYSAAACTKTD4PHQNTPZAVBNA5CNFSM4HS7RGN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXBBZIA#issuecomment-499260576>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AD2CIBIPLFLNHNEAS5OKRLLPZAVBNANCNFSM4HS7RGNQ>
.
|
@puribangalore wrote:
Does one need access permissions? I'm typing this comment in my browser window while logged into GitHub. |
@mhoemmen You need to have access to the MPI Forum repo. If you agree to these terms, we can give you access. |
@jsquyres I do so agree; thanks! |
Thanks @jsquyres ! :-D |
Wow, @jsquyres will just let anyone have access :) |
@hjelmn well the link clearly lays out that anyone can have access as long as they agree to the listed terms ¯\_(ツ)_/¯. |
Closing in favor of #693 |
Sorry, missed this. |
So did I 😄 |
Problem
We say "ISO C" many times without defining it or citing a specific ISO document.
On the other hand, we cite specific documents for Fortran 2008, POSIX, Unicode, etc.
Proposal
Define what ISO means and cite the document that defines it, e.g. ISO/IEC 9899:2011.
Changes to the Text
TODO
Impact on Implementations
None in most cases, but Microsoft may have a problem if we refer to a version of C that their compiler doesn't support. On the other hand, MPI references
int64_t
already, which was introduced in C99, so there is already an implicit requirement of C99 support, which Microsoft's compiler lacks (although they support fixed-width integer types, which are also defined in C++11).Impact on Users
Users almost certainly don't care what the standard says about ISO standard languages, as long as their MPI implementation works with their compiler.
References
#137 (comment)
The text was updated successfully, but these errors were encountered: