-
Notifications
You must be signed in to change notification settings - Fork 8
MPI needs a standard ABI #751
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
@jeffhammond -- Feedback from Intel (@alexander-sannikov, @ddurnov, @garzaran):
Ultimately, the extensibility questions push in the direction of asking "how useful is the Huffman code going forward?" |
There is also plenty of space after the We can also add another branch for datatypes but before we do that, we ought to think whether we should instead use the unnamed predefined datatype route, which is what we discussed in Boston (unfortunately, it was offline) for solving the AI float types problem. We have these for F90 |
|
|
I think it's useful and I worked really hard to make sure it's future-proof. We are using less than 1/3 of the 1024 bits I intended to use, and we can go all the way up to 4095 if necessary. I think if we are considering adding a lot more predefined handles, we ought to evaluate whether that is the right design in the first place. |
Your work on this proposal is valuable and we're all grateful you've taken on another topic like this (large count, etc.). Apologies if my phraseology gave the wrong impression there. Perhaps we won't know the answer to this until we've all implemented the existing scheme and then extended it a bunch of times in the future. |
However, if you want, we can reserve the last 1024 bits of the predefined space for experimentation. I think that's more than enough. This is valuable feedback and I appreciate the care taken in making the proposal better. |
I think a specific reservation for experimentation (and differentiation) would be very useful. Thanks @jeffhammond. |
This passed a 1st vote.
|
This passed a no-no vote.
|
This passed a 2nd vote.
|
Problem
This issue needs to exist so I can submit a pull request to solve it, because of our voting procedures.
The problem is described in some detail in https://arxiv.org/abs/2308.11214. I do not want to repeat it here.
Proposal
Define a standard ABI for MPI. This includes:
We will need a way to detect the existence and versions of the ABI.
The primary impact is on C but there are Fortran aspects too.
Changes to the Text
Write a completely new chapter to define all of the above. Define relevant terms. State the constraints.
Add all the constants to tables.
Impact on Implementations
The implementation of this in an MPI library is not trivial but not profound, either.
There is a prototype in MPICH already: pmodels/mpich#6390.
Impact on Users
Some users are desperate for this, because they are tired of compiling all their MPI software two or more times.
Use cases include:
References and Pull Requests
Pull request:
https://github.com/mpi-forum/mpi-standard/pull/875
Related issues:
#744
#743
#735
#709
#704
#702
#654
#642
#159
#107
The text was updated successfully, but these errors were encountered: