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

ABI: Fortran ABI TODO #6948

Closed
5 tasks
hzhou opened this issue Mar 16, 2024 · 3 comments
Closed
5 tasks

ABI: Fortran ABI TODO #6948

hzhou opened this issue Mar 16, 2024 · 3 comments

Comments

@hzhou
Copy link
Contributor

hzhou commented Mar 16, 2024

The next step for MPI ABI after swappable libmpi.so is to make libmpifort.so swappable. This issue is for discussion and tracking todo list.

TODO list

  • Add to Fortran binding scripts to generate ABI versions based on ABI header mpi_abi.h
  • F77
    • MPI Calls are directly linked to named-mangled symbols -- nothing to be done, but double check
    • Need standardize common blocks names. Currently it is like
00000000000d3570 B mpifcmb5_
00000000000d3560 B mpifcmb9_
00000000000d3550 B mpifcmba_
  • F90
    • Double check
  • F08
    • Remove the internal modules
      The symbols are tied to the module name, e.g. __mpi_f08_callbacks_MOD_mpi_comm_dup_fn. It need be __mpi_f08_MOD_mpi_comm_dup_fn

Discussion

Hmm, likely there will be more issues. Fortran ABI will likely require standardizing Fortran binding implementation. I think it is more sensible to release a stand-alone libmpifort_abi.so that is built on top of libmpi_abi.so

@dalcinl
Copy link
Contributor

dalcinl commented Mar 16, 2024

it is more sensible to release a stand-alone libmpifort_abi.so that is built on top of libmpi_abi.so

Definitely. Moreover, you better do not mess with the current internal Fortran module names or you will break the MPICH ABI for Fortran users in a really bad way (unless Fortran is not covered by the MPICH ABI initiative?).

@hzhou
Copy link
Contributor Author

hzhou commented Mar 16, 2024

it is more sensible to release a stand-alone libmpifort_abi.so that is built on top of libmpi_abi.so

Definitely. Moreover, you better do not mess with the current internal Fortran module names or you will break the MPICH ABI for Fortran users in a really bad way (unless Fortran is not covered by the MPICH ABI initiative?).

That's okay. The new ABI is an opt-in.

@hzhou
Copy link
Contributor Author

hzhou commented Apr 10, 2024

Closing this issue. Follow #6953 for Fortran binding on top of MPI ABI.

@hzhou hzhou closed this as completed Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants