Skip to content

Commit 5725bdd

Browse files
authored
Merge pull request #11498 from wckzhang/mpi4doc
doc: Add MPI-4.0 partial compliance features
2 parents b3f2a3b + 56b1a42 commit 5725bdd

File tree

4 files changed

+50
-12
lines changed

4 files changed

+50
-12
lines changed

docs/conf.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@
5252
autoconf_min_version = f"{ompi_data['autoconf_min_version']}"
5353
libtool_min_version = f"{ompi_data['libtool_min_version']}"
5454
flex_min_version = f"{ompi_data['flex_min_version']}"
55-
mpi_standard_version = f"{ompi_data['mpi_standard_version']}"
56-
mpi_standard_subversion = f"{ompi_data['mpi_standard_subversion']}"
55+
mpi_standard_major_version = f"{ompi_data['mpi_standard_version']}"
56+
mpi_standard_minor_version = f"{ompi_data['mpi_standard_subversion']}"
5757

5858
# "release" is a sphinx config variable: assign it to the computed
5959
# Open MPI version number. The ompi_ver string begins with a "v"; the
@@ -219,8 +219,9 @@ def _doit(topdir):
219219
.. |autoconf_min_version| replace:: {autoconf_min_version}
220220
.. |libtool_min_version| replace:: {libtool_min_version}
221221
.. |flex_min_version| replace:: {flex_min_version}
222-
.. |mpi_standard_version| replace:: {mpi_standard_version}
223-
.. |mpi_standard_subversion| replace:: {mpi_standard_subversion}
222+
.. |mpi_standard_version| replace:: {mpi_standard_major_version}.{mpi_standard_minor_version}
223+
.. |mpi_standard_major_version| replace:: {mpi_standard_major_version}
224+
.. |mpi_standard_minor_version| replace:: {mpi_standard_minor_version}
224225
.. |deprecated_favor| replace:: this routine is deprecated in favor of
225226
226227
"""

docs/man-openmpi/man3/MPI_Get_version.3.rst

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,19 @@ OUTPUT PARAMETERS
4646
-----------------
4747

4848
* ``version`` : The major version number of the corresponding standard
49-
(integer).
49+
(integer).
5050
* ``subversion`` : The minor version number of the corresponding
51-
standard (integer).
51+
standard (integer).
5252
* ``ierror`` : Fortran only: Error status (integer).
5353

5454
DESCRIPTION
5555
-----------
5656

57-
Since Open MPI is MPI-|mpi_standard_version|.|mpi_standard_subversion| compliant, this function will return a
58-
``version`` value of |mpi_standard_version| and a subversion value of |mpi_standard_subversion| for this release.
57+
Since Open MPI |ompi_ver| is MPI-|mpi_standard_version| compliant (see
58+
:ref:`this page for more details about Open MPI standards conformance
59+
<mpi-standard-conformance-label>`) this function will return a
60+
``version`` value of |mpi_standard_major_version| and a ``subversion``
61+
value of |mpi_standard_minor_version| for this release.
5962

6063
NOTE
6164
----

docs/man-openmpi/man7/Open-MPI.7.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ portable.
2424

2525
The outcome, known as the MPI Standard, was first published in 1993; its
2626
most recent version (MPI-4.0) was published in June 2021. Open MPI
27-
includes all MPI |mpi_standard_version|.|mpi_standard_subversion|-compliant routines.
27+
includes all MPI |mpi_standard_version|-compliant routines.
2828

2929
For more information about Open MPI, see https://www.open-mpi.org.
3030

docs/release-notes/mpi.rst

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
MPI Functionality and Features
22
==============================
33

4+
.. _mpi-standard-conformance-label:
5+
46
MPI Standard conformance
57
------------------------
68

7-
In the Open MPI |ompi_series| series, all MPI-|mpi_standard_version|.|mpi_standard_subversion| functionality is
8-
supported. Some MPI-4.0 functionality is supported, but not all of
9-
it.
9+
In the Open MPI |ompi_series| series, all MPI-|mpi_standard_version|
10+
functionality is supported. *Some* MPI-4.0 functionality is
11+
supported.
1012

1113
As such, ``MPI_VERSION`` is set to 3 and ``MPI_SUBVERSION`` is set
1214
to 1.
@@ -31,6 +33,38 @@ For historical reference:
3133
* - MPI-3.1
3234
- Open MPI v2.0
3335

36+
MPI-4.0 partial compliance
37+
^^^^^^^^^^^^^^^^^^^^^^^^^^
38+
39+
In the Open MPI |ompi_series| series, only partial MPI-4.0 functionality is
40+
supported. This section contains a list of features added for the release.
41+
42+
* Added support for MPI Sessions.
43+
* Added partitioned communication using persistent sends and persistent receives.
44+
* Added persistent collectives to the ``MPI_`` namespace (they were previously
45+
available via the ``MPIX_`` prefix).
46+
* Added support for :ref:`MPI_Isendrecv()<mpi_isendrecv>` and its variants.
47+
* Added support for :ref:`MPI_Comm_idup_with_info()<mpi_comm_idup_with_info>`.
48+
* Added support for :ref:`MPI_Info_get_string()<mpi_info_get_string>`.
49+
* Added support for ``initial_error_handler`` info key and the
50+
``MPI_ERRORS_ABORT`` infrastructure.
51+
* Added support for ``mpi_minimum_alignment`` info key.
52+
* Added support for ``MPI_COMM_TYPE_HW_GUIDED`` and
53+
``MPI_COMM_TYPE_HW_UNGUIDED``.
54+
* Added support for :ref:`MPI_Info_create_env()<mpi_info_create_env>`.
55+
* Added error handling for "unbound" errors to ``MPI_COMM_SELF``.
56+
* Added ``MPI_F_STATUS_SIZE``, ``MPI_F_SOURCE``, ``MPI_F_TAG``, and
57+
``MPI_F_ERROR``.
58+
* Made :ref:`MPI_Comm_get_info()<mpi_comm_get_info>`,
59+
:ref:`MPI_File_get_info()<mpi_file_get_info>`, and
60+
:ref:`MPI_Win_get_info()<mpi_win_get_info>` MPI-4.0 compliant.
61+
* Info keys that are not understood by Open MPI will be silently ignored and
62+
dropped on communicators, files, and windows.
63+
* Deprecated :ref:`MPI_Sizeof()<mpi_sizeof>`.
64+
* Deprecated :ref:`MPI_Cancel()<mpi_cancel>` on send requests.
65+
* Deprecated :ref:`MPI_Info_get()<mpi_info_get>` and
66+
:ref:`MPI_Info_get_valuelen()<mpi_info_get_valuelen>`.
67+
3468
Removed MPI APIs
3569
----------------
3670

0 commit comments

Comments
 (0)