Skip to content
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

MPI needs a standard ABI #751

Open
jeffhammond opened this issue Aug 31, 2023 · 0 comments
Open

MPI needs a standard ABI #751

jeffhammond opened this issue Aug 31, 2023 · 0 comments
Assignees
Labels
mpi-4.2 scheduled no-no vote No-No vote is scheduled for the next meeting scheduled reading Reading is scheduled for the next meeting wg-abi ABI Working Group
Milestone

Comments

@jeffhammond
Copy link
Member

jeffhammond commented Aug 31, 2023

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:

  • describe how calling conventions work
  • header, module and shared library names
  • status object
  • integer types
  • handle types
  • integer constants
  • handle constants
  • callback constants

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:

  • Python, Julia and Rust bindings.
  • Users of containers.

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

@jeffhammond jeffhammond self-assigned this Aug 31, 2023
@jeffhammond jeffhammond added the wg-abi ABI Working Group label Aug 31, 2023
@wesbland wesbland added the scheduled reading Reading is scheduled for the next meeting label Nov 27, 2023
@wesbland wesbland added this to the December 2023 milestone Nov 27, 2023
@wesbland wesbland modified the milestones: December 2023, March 2024 Feb 5, 2024
@wesbland wesbland added the scheduled no-no vote No-No vote is scheduled for the next meeting label Mar 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mpi-4.2 scheduled no-no vote No-No vote is scheduled for the next meeting scheduled reading Reading is scheduled for the next meeting wg-abi ABI Working Group
Projects
Status: In Progress
Development

No branches or pull requests

2 participants