ompi icon indicating copy to clipboard operation
ompi copied to clipboard

Documentation: random Open MPI v4.1.x --> v5.0.x changes

Open jsquyres opened this issue 2 years ago • 17 comments

Originally taken from the "to-do" section in the Open MPI docs:

  • [x] Document what MPI-4.0 items are supported, e.g., sessions, persistent communication, ...
  • [x] What specifically does --disable-io-romio do?
  • [x] Do we still have AMCA files?
  • [x] Do we still have --tune files?
  • [x] Document v5.0.x’s backwards-compatibility relationship with v4.x (including ABI and mpirun command line options). It will likely be:
    • [x] C bindings are ABI compatible
    • [x] Fortran mpif.h should be ok (but probably bears checking).
    • [x] Fortran module ABIs may have changed. These definitely need checking (e.g., w.r.t. MPI_Status and friends…?).
  • [x] MPI-1 deleted functions are always included in the library.
    • This is a reversal from what we previously publicly stated would happen in Open MPI v5.0.x
    • Per Brian: the behavior is the same as Open MPI 4.x. The deleted functions are not declared in mpi.h unless Open MPI was compiled with --enable-mpi1-compatibility.
  • [x] Add a note somewhere about “These HTML docs are available at docs.open-mpi.org and in distribution tarballs in docs/_build/html/index.html.
  • [x] Make “setting an MCA param” docs prominent in the doc (this already exists somewhere, but we need to make it prominent).

William (Removed FAQ item as it's covered under #11363)

jsquyres avatar Jun 17 '22 13:06 jsquyres

For - Make “setting an MCA param” docs prominent in the doc (this already exists somewhere, but we need to make it prominent). how do you want it to be more prominent? It's not too hard to find on sidebar it's under "8. The Modular Component Architecture (MCA)" as "8.2 Setting MCA parameter values." It seems to be fairly prominent unless your intention is to have it be one of the numbered items on the sidebar

wckzhang avatar Mar 02 '23 00:03 wckzhang

@wckzhang Put yourself in the mindset of an Open MPI newbie: will they find these docs? Setting an MCA param is a common thing to do. Should we put it in one of the "quick start" pages (or have a new quick start for it, or ...?). Suggestions and proposals are welcome here.

jsquyres avatar Mar 02 '23 00:03 jsquyres

Hmm, I'm not sure a user would know what an MCA parameter is unless they read about MCA, maybe in the quick start guide there can be a section after launch MPI such as "Customize run-time options." which can link to the setting MCA parameter doc

wckzhang avatar Mar 02 '23 01:03 wckzhang

https://github.com/open-mpi/ompi/pull/11459 - For Make “setting an MCA param” docs prominent in the doc (this already exists somewhere, but we need to make it prominent).

wckzhang avatar Mar 02 '23 21:03 wckzhang

It looks like "Add a note somewhere about “These HTML docs are available at docs.open-mpi.org and in distribution tarballs in docs/_build/html/index.html." was completed already, see f33d3d4d9a2 I'm going to mark that as completed

wckzhang avatar Mar 02 '23 21:03 wckzhang

https://github.com/open-mpi/ompi/pull/11468 - For What specifically does --disable-io-romio do? I'm not sure if I fulfilled the intention behind this todo. Added a link to the ROMIO doc in the --disable-io-romio option and added detail in the description that it is an implementation of the internal io framework.

wckzhang avatar Mar 03 '23 21:03 wckzhang

I looked into Document v5.0.x’s backwards-compatibility relationship with v4.x (including ABI and mpirun command line options). It will likely be: yesterday but waiting on merging/test status of - https://github.com/open-mpi/ompi/pull/11365 before I write anything

wckzhang avatar Mar 03 '23 22:03 wckzhang

It looks like --am option still works, but it's deprecated and users should instead use --tune. I can add a section in the set mca params for this

wckzhang avatar Mar 10 '23 21:03 wckzhang

I'm a little confused about this section:

MPI-1 deleted functions are always included in the library.
This is a reversal from what we previously publicly stated would happen in Open MPI v5.0.x
Per Brian: the behavior is the same as Open MPI 4.x. The deleted functions are not declared in mpi.h unless Open MPI was compiled with --enable-mpi1-compatibility.

Are deleted MPI-1 functions "always" included or only when compiled with "--enable-mpi1-compatibility"?

wckzhang avatar Mar 10 '23 22:03 wckzhang

@jsquyres are you aware of the full list of MPI-4.0 items that are supported - or do you know who would know? I'm not aware of what items we have implemented

wckzhang avatar Mar 13 '23 17:03 wckzhang

ABI compatibility was added in this PR: https://github.com/open-mpi/ompi/pull/11486

wckzhang avatar Mar 13 '23 21:03 wckzhang

Found:

MPI-4.0 updates and additions:

Support for MPI Sessions has been added.

Added partitioned communication using persistent sends and persistent receives.

Added persistent collectives to the MPI_ namespace (they were previously available via the MPIX_ prefix).

Added MPI_Isendrecv() and its variants.

Added support for MPI_Comm_idup_with_info().

Added support for MPI_Info_get_string().

Added support for initial_error_handler and the ERRORS_ABORT infrastructure.

Added error handling for “unbound” errors to MPI_COMM_SELF.

Made MPI_Comm_get_info(), MPI_File_get_info(), and MPI_Win_get_info() compliant to the standard.

Droped unknown/ignored info keys on communicators, files, and windows.

Initial implementations of MPI_COMM_TYPE_HW_GUIDED and MPI_COMM_TYPE_HW_GUIDED added.

in the news, not sure if it's comprehensive but I will refer to this information for the documentation.

wckzhang avatar Mar 17 '23 18:03 wckzhang

Added subsection containing MPI-4.0 features - https://github.com/open-mpi/ompi/pull/11498

wckzhang avatar Mar 17 '23 19:03 wckzhang

This is a reversal from what we previously publicly stated would happen in Open MPI v5.0.x
Per Brian: the behavior is the same as Open MPI 4.x. The deleted functions are not declared in mpi.h unless Open MPI was compiled with --enable-mpi1-compatibility.

This section has already been completed. See - 3.5.2. Removed MPI APIs

wckzhang avatar Mar 17 '23 19:03 wckzhang

@jsquyres - I believe this can be closed as completed. Can you please confirm?

qkoziol avatar Jun 05 '23 23:06 qkoziol

Ping @jsquyres - Is this ready to close?

qkoziol avatar Jun 22 '23 16:06 qkoziol

Given the amount of time it's taken for me to reply, it would probably be best if someone else verifies that each of the check marks in the description on this issue are actually complete.

jsquyres avatar Jul 07 '23 14:07 jsquyres

I will double check.

wenduwan avatar Mar 06 '24 16:03 wenduwan

Docs LGTM

wenduwan avatar Mar 06 '24 17:03 wenduwan