Skip to content

Correctly document ABI issues between v4.x and v5.0 #10099

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

Closed
jsquyres opened this issue Mar 9, 2022 · 3 comments
Closed

Correctly document ABI issues between v4.x and v5.0 #10099

jsquyres opened this issue Mar 9, 2022 · 3 comments

Comments

@jsquyres
Copy link
Member

jsquyres commented Mar 9, 2022

Per #10098 and ed9a670, we will need to update several sections about ABI in the docs. For example, several sections in docs/building-apps/removed-mpi-constructs.rst will need to be updated.

It should also probably be mentioned prominently somewhere what the ABI differences are (e.g., if the C MPI bindings ABI was maintained, but the Fortran MPI bindings ABI was not).

@jsquyres jsquyres added this to the v5.0.0 milestone Mar 9, 2022
@jsquyres jsquyres self-assigned this Mar 9, 2022
@jsquyres jsquyres changed the title Update the "REMOVED MPI CONSTRUCTS" documentation Correctly document ABI issues between v4.x and v5.0 Mar 9, 2022
@edgargabriel
Copy link
Member

edgargabriel commented Jul 10, 2023

This is a list of functions in the MPI document that have been deprecated meanwhile but are not mentioned in our docs:

Starting from MPI-2.0 (See chapter 16.1 in MPI-4.0)

  • MPI_Keyval_create -> MPI_Comm_reate_keyval
  • MPI_Copy_function -> MPI_Comm_copy_attr_function
  • MPI_Delete_function -> MPI_Comm_delete_attr_function
  • MPI_Kevval_free -> MPI_Comm_free_keyval
  • MPI_Attr_put -> MPI_Comm_set_attr
  • MPI_Attr_get -> MPI_Comm_get_attr
  • MPI_Attr_delete -> MPI_Comm_delete_attr

Deprecated since MPI-2.2 (see section 16.2 in MPI 4.0)

  • MPI_Comm_errhandler_fn -> MPI_Comm_errhandler_function
  • MPI_File_errhandler_fn -> MPI_File_errhandler_function
  • MPI_Win_errhandler_fn -> MPI_Win_errhandler_function

Deprecated since MPI-4.0 (see section 16.3 in MPI 4.0)

  • MPI_Info_get -> MPI_Info_get_string
  • MPI_Info_get_valuelen -> MPI_Info_get_string
  • MPI_Sizeof() -> c_sizeoff() or storage_size() (Note: Fortran only)
  • All C++ bindings

@edgargabriel edgargabriel self-assigned this Jul 10, 2023
@edgargabriel
Copy link
Member

According to my (limited) tests, I can confirm that a code compiled with ompi 4.1.4 is correctly running if I change the MPI installation to ompi 5.0 without having to recompile the application.

Tested with a C code and some Fortran testcodes as well.

edgargabriel added a commit to edgargabriel/ompi that referenced this issue Jul 14, 2023
This commit address issue open-mpi#10099

Update documentation with the list of depreacted functions in MPI 2.2
and MPI-4.0. Add some examples and explanation on how to convert
code from the deprecated interfaces to the new ones.

Add a new section on ABI compatibility to Open MPI 4.1

Signed-off-by: Edgar Gabriel <Edgar.Gabriel@amd.com>
edgargabriel added a commit to edgargabriel/ompi that referenced this issue Jul 14, 2023
This commit address issue open-mpi#10099

Update documentation with the list of depreacted functions in MPI 2.2
and MPI-4.0. Add some examples and explanation on how to convert
code from the deprecated interfaces to the new ones.

Add a new section on ABI compatibility to Open MPI 4.1

Signed-off-by: Edgar Gabriel <edgar.gabriel@amd.com>
edgargabriel added a commit to edgargabriel/ompi that referenced this issue Jul 14, 2023
This commit address issue open-mpi#10099

Update documentation with the list of depreacted functions in MPI 2.2
and MPI-4.0. Add some examples and explanation on how to convert
code from the deprecated interfaces to the new ones.

Add a new section on ABI compatibility to Open MPI 4.1

Signed-off-by: Edgar Gabriel <edgar.gabriel@amd.com>
edgargabriel added a commit to edgargabriel/ompi that referenced this issue Jul 14, 2023
This commit address issue open-mpi#10099

Update documentation with the list of depreacted functions in MPI 2.2
and MPI-4.0. Add some examples and explanation on how to convert
code from the deprecated interfaces to the new ones.

Add a new section on ABI compatibility to Open MPI 4.1

Signed-off-by: Edgar Gabriel <edgar.gabriel@amd.com>
edgargabriel added a commit to edgargabriel/ompi that referenced this issue Jul 24, 2023
This commit address issue open-mpi#10099

Update documentation with the list of depreacted functions in MPI 2.2
and MPI-4.0. Add some examples and explanation on how to convert
code from the deprecated interfaces to the new ones.

Add a new section on ABI compatibility to Open MPI 4.1
Add text about Fortran ABI issues.

Signed-off-by: Edgar Gabriel <edgar.gabriel@amd.com>
Co-authored-by: Jeff Squyres <jeff@squyres.com>
edgargabriel added a commit to edgargabriel/ompi that referenced this issue Jul 24, 2023
This commit address issue open-mpi#10099

Update documentation with the list of depreacted functions in MPI 2.2
and MPI-4.0. Add some examples and explanation on how to convert
code from the deprecated interfaces to the new ones.

Add a new section on ABI compatibility to Open MPI 4.1
Add text about Fortran ABI issues.

Signed-off-by: Edgar Gabriel <edgar.gabriel@amd.com>
Co-authored-by: Jeff Squyres <jeff@squyres.com>
(cherry picked from commit 30ec7e1)
@jsquyres
Copy link
Member Author

Has now been merged on both main and v5.0.x. Closing!

bosilca pushed a commit to bosilca/ompi that referenced this issue Aug 15, 2023
This commit address issue open-mpi#10099

Update documentation with the list of depreacted functions in MPI 2.2
and MPI-4.0. Add some examples and explanation on how to convert
code from the deprecated interfaces to the new ones.

Add a new section on ABI compatibility to Open MPI 4.1
Add text about Fortran ABI issues.

Signed-off-by: Edgar Gabriel <edgar.gabriel@amd.com>
Co-authored-by: Jeff Squyres <jeff@squyres.com>
bosilca pushed a commit to bosilca/ompi that referenced this issue Feb 14, 2024
This commit address issue open-mpi#10099

Update documentation with the list of depreacted functions in MPI 2.2
and MPI-4.0. Add some examples and explanation on how to convert
code from the deprecated interfaces to the new ones.

Add a new section on ABI compatibility to Open MPI 4.1
Add text about Fortran ABI issues.

Signed-off-by: Edgar Gabriel <edgar.gabriel@amd.com>
Co-authored-by: Jeff Squyres <jeff@squyres.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants