Skip to content

Commit f07cf0b

Browse files
authored
Merge pull request #12021 from awlauria/v5.0.x_news
v5.0.0 news updates
2 parents 23d856a + e83b605 commit f07cf0b

File tree

1 file changed

+59
-134
lines changed

1 file changed

+59
-134
lines changed

docs/news/news-v5.0.x.rst

Lines changed: 59 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ Open MPI v5.0.x series
44
This file contains all the NEWS updates for the Open MPI v5.0.x
55
series, in reverse chronological order.
66

7-
Open MPI version 5.0.0rc15
7+
Open MPI version 5.0.0
88
--------------------------
9-
:Date: 19 October 2023
9+
:Date: 25 October 2023
1010

1111
.. admonition:: The MPIR API has been removed
1212
:class: warning
@@ -66,22 +66,42 @@ Open MPI version 5.0.0rc15
6666
Libevent symbols and then statically pulled the
6767
library into ``libmpi.so``.
6868

69-
- Changes since rc15:
69+
- Internal PMIx and PRRTe versions:
7070

71-
- Update PMIx to release tag v4.2.7 hash: ``57c405c52ad76bab0be9f95e29a6df660673081e``.
72-
- Update PRRTE to release tag v3.0.2 hash: ``1552e36f0852bbc6d901ec95983369f0a3c283f6``.
71+
- PMIx release tag v4.2.7. Commit hash: ``57c405c52ad76bab0be9f95e29a6df660673081e``.
72+
- PRRTE release tag v3.0.2. Commit hash: ``1552e36f0852bbc6d901ec95983369f0a3c283f6``.
7373

7474
- All other notable updates for v5.0.0:
7575

76+
- MPI-4.0 updates and additions:
77+
78+
- Support for MPI Sessions has been added.
79+
- Added partitioned communication using persistent sends
80+
and persistent receives.
81+
- Added persistent collectives to the ``MPI_`` namespace
82+
(they were previously available via the ``MPIX_`` prefix).
83+
- Added ``MPI_Isendrecv()`` and its variants.
84+
- Added support for ``MPI_Comm_idup_with_info()``.
85+
- Added support for ``MPI_Info_get_string()``.
86+
- Added support for ``initial_error_handler`` and the
87+
``ERRORS_ABORT`` infrastructure.
88+
- Added error handling for unbound errors to ``MPI_COMM_SELF``.
89+
- Made ``MPI_Comm_get_info()``, ``MPI_File_get_info()``, and
90+
``MPI_Win_get_info()`` compliant to the standard.
91+
- Droped unknown/ignored info keys on communicators, files,
92+
and windows.
93+
- Initial implementations of ``MPI_COMM_TYPE_HW_GUIDED`` and
94+
``MPI_COMM_TYPE_HW_GUIDED`` added.
95+
- ``MPI_Info_get()`` and ``MPI_Info_get_valuelen()`` are now
96+
deprecated.
97+
- Issue a deprecation warning when ``MPI_Cancel()`` is called for
98+
a non-blocking send request.
99+
76100
- New Features:
77101

78102
- ULFM Fault Tolerance support has been added. See :ref:`the ULFM
79103
section <ulfm-label>`.
80104
- CUDA is now supported in the ``ofi`` MTL.
81-
- New MCA parameter ``ompi_display_comm``, enabling a
82-
communication report. When set to ``mpi_init``, display the
83-
report when ``MPI_Init()`` is invoked. When set to
84-
``mpi_finalize``, display the report during ``MPI_Finalize()``.
85105
- A threading framework has been added to allow building Open MPI
86106
with different threading libraries. It currently supports
87107
`Argobots <https://www.argobots.org/>`_, `Qthreads
@@ -106,30 +126,14 @@ Open MPI version 5.0.0rc15
106126
``memory_patcher``. Thanks to Rich Welch for the contribution.
107127
- ``coll/ucc``: Added support for the ``MPI_Scatter()`` and
108128
``MPI_Iscatter()`` collectives.
109-
110-
- MPI-4.0 updates and additions:
111-
112-
- Support for MPI Sessions has been added.
113-
- Added partitioned communication using persistent sends
114-
and persistent receives.
115-
- Added persistent collectives to the ``MPI_`` namespace
116-
(they were previously available via the ``MPIX_`` prefix).
117-
- Added ``MPI_Isendrecv()`` and its variants.
118-
- Added support for ``MPI_Comm_idup_with_info()``.
119-
- Added support for ``MPI_Info_get_string()``.
120-
- Added support for ``initial_error_handler`` and the
121-
``ERRORS_ABORT`` infrastructure.
122-
- Added error handling for unbound errors to ``MPI_COMM_SELF``.
123-
- Made ``MPI_Comm_get_info()``, ``MPI_File_get_info()``, and
124-
``MPI_Win_get_info()`` compliant to the standard.
125-
- Droped unknown/ignored info keys on communicators, files,
126-
and windows.
127-
- Initial implementations of ``MPI_COMM_TYPE_HW_GUIDED`` and
128-
``MPI_COMM_TYPE_HW_GUIDED`` added.
129-
- ``MPI_Info_get()`` and ``MPI_Info_get_valuelen()`` are now
130-
deprecated.
131-
- Issue a deprecation warning when ``MPI_Cancel()`` is called for
132-
a non-blocking send request.
129+
- New algorithm for Allgather and Allgatherv has been added, based
130+
on the paper *"Sparbit: a new logarithmic-cost and data
131+
locality-aware MPI Allgather algorithm"*. Default algorithm
132+
selection rules are unchanged; to use these algorithms add:
133+
``--mca coll_tuned_allgather_algorithm sparbit`` and/or ``--mca
134+
coll_tuned_allgatherv_algorithm sparbit`` to your ``mpirun``
135+
command. Thanks to Wilton Jaciel Loch and Guilherme Koslovski
136+
for their contribution.
133137

134138
- Transport updates and improvements
135139

@@ -163,10 +167,6 @@ Open MPI version 5.0.0rc15
163167

164168
- Shared Memory:
165169

166-
- The legacy ``sm`` (shared memory) BTL has been removed. The
167-
next-generation shared memory BTL ``vader`` replaces it, and
168-
has been renamed to be ``sm`` (``vader`` will still work as an
169-
alias).
170170
- Update the new ``sm`` BTL to not use Linux Cross Memory Attach
171171
(CMA) in user namespaces.
172172
- Fixed a crash when using the new ``sm`` BTL when compiled with
@@ -177,6 +177,10 @@ Open MPI version 5.0.0rc15
177177

178178
- Deprecations and removals:
179179

180+
- The legacy ``sm`` (shared memory) BTL has been removed. The
181+
next-generation shared memory BTL ``vader`` replaces it, and
182+
has been renamed to be ``sm`` (``vader`` will still work as an
183+
alias).
180184
- ORTE, the underlying Open MPI launcher has been removed, and
181185
replaced with the `PMIx Reference RunTime Environment
182186
<https://github.com/openpmix/prrte>`_ (``PRTE``).
@@ -204,18 +208,29 @@ Open MPI version 5.0.0rc15
204208
environment is no longer supported. 32 bit support is still
205209
available in the v4.x series.
206210

207-
- Hardware Locality updates:
211+
- Other updates and bug fixes:
208212

209-
- Open MPI now requires Hardware Locality v1.11.0 or later.
210-
- The internally-bundled Hardware Locality shipped with Open MPI
211-
has been updated to v2.7.1.
212-
- Open MPI builds Hardware Locality with ``--enable-plugins`` when
213-
appropriate.
213+
- Updated Open MPI to use ``ROMIO`` v3.4.1.
214+
- Add missing ``MPI_Status`` conversion subroutines:
215+
``MPI_Status_c2f08()``, ``MPI_Status_f082c()``,
216+
``MPI_Status_f082f()``, ``MPI_Status_f2f08()`` and the
217+
``PMPI_*`` related subroutines.
218+
- MPI module: added the ``mpi_f08`` ``TYPE(MPI_*)`` types for
219+
Fortran. Thanks to George Katevenis for the report and their
220+
contribution to the patch.
221+
- The default atomics have been changed to be GCC, with C11 as a
222+
fallback. C11 atomics incurs sequential memory ordering, which
223+
in most cases is not desired.
224+
- Various datatype bugfixes and performance improvements.
225+
- Various pack/unpack bugfixes and performance improvements.
226+
- Various OSHMEM bugfixes and performance improvements.
227+
- Thanks to Jeff Hammond, Pak Lui, Felix Uhl, Naribayashi Akira,
228+
Julien Emmanuel, and Yaz Saito for their invaluable contributions.
214229

215230
- Documentation updates and improvements:
216231

217232
- Open MPI has consolidated and converted all of its documentation
218-
to use `ReStructured Text
233+
to use `ReStructured Text.
219234
<https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_
220235
and `Sphinx <https://www.sphinx-doc.org/>`_.
221236

@@ -252,93 +267,3 @@ Open MPI version 5.0.0rc15
252267
- Yixin Zhang
253268
- William Zhang
254269

255-
- Build updates and fixes:
256-
257-
- Various changes and cleanup to fix, and better support the
258-
static building of Open MPI.
259-
- Change the default component build behavior to prefer building
260-
components as part of the core Open MPI library instead of
261-
individual DSOs. Currently, this means the Open SHMEM layer
262-
will only build if the UCX library is found.
263-
- ``autogen.pl`` now supports a ``-j`` option to run
264-
multi-threaded. Users can also use the environment variable
265-
``AUTOMAKE_JOBS``.
266-
- Updated ``autogen.pl`` to support macOS Big Sur. Thanks to
267-
@fxcoudert for reporting the issue.
268-
- Fixed bug where ``autogen.pl`` would not ignore all excluded
269-
components when using the ``--exclude`` option.
270-
- Fixed a bug the ``-r`` option of ``buildrpm.sh`` which would
271-
result in an rpm build failure. Thanks to John K. McIver III for
272-
reporting and fixing.
273-
- Removed the ``C++`` compiler requirement to build Open MPI.
274-
- Updates to improve the handling of the compiler version string
275-
in the build system. This fixes a compiler error with clang and
276-
armclang.
277-
- Added OpenPMIx binaries to the build, including ``pmix_info``.
278-
Thanks to Mamzi Bayatpour for their contribution to this effort.
279-
- Open MPI now links to Libevent using ``-levent_core``
280-
and ``-levent_pthread`` instead of ``-levent``.
281-
- Added support for setting the wrapper C compiler. This adds a
282-
new option: ``--with-wrapper-cc=NAME`` to the ``configure`` command.
283-
- Fixed compilation errors when running on IME file systems due to
284-
a missing header inclusion. Thanks to Sylvain Didelot for
285-
finding and fixing this issue.
286-
- Add support for GNU Autoconf v2.7.x.
287-
288-
- Other updates and bug fixes:
289-
290-
- Updated Open MPI to use ``ROMIO`` v3.4.1.
291-
- ``common/ompio``: implement pipelined read and write operation.
292-
This new new code path shows significant performance
293-
improvements for reading/writing device buffers compared to the
294-
previous implementation, and reduces the memory footprint of
295-
Open MPI IO ("OMPIO") by allocating smaller temporary buffers.
296-
- Fixed Fortran-8-byte-INTEGER vs. C-4-byte-int issue in the
297-
``mpi_f08`` MPI Fortran bindings module. Thanks to @ahaichen for
298-
reporting the bug.
299-
- Add missing ``MPI_Status`` conversion subroutines:
300-
``MPI_Status_c2f08()``, ``MPI_Status_f082c()``,
301-
``MPI_Status_f082f()``, ``MPI_Status_f2f08()`` and the
302-
``PMPI_*`` related subroutines.
303-
- Fixed Fortran keyword issue when compiling ``oshmem_info``.
304-
Thanks to Pak Lui for finding and fixing the bug.
305-
- Added check for Fortran ``ISO_FORTRAN_ENV:REAL16``. Thanks to
306-
Jeff Hammond for reporting this issue.
307-
- Fixed Fortran preprocessor issue with ``CPPFLAGS``.
308-
Thanks to Jeff Hammond for reporting this issue.
309-
- MPI module: added the ``mpi_f08`` ``TYPE(MPI_*)`` types for
310-
Fortran. Thanks to George Katevenis for the report and their
311-
contribution to the patch.
312-
- Fixed a typo in an error string when showing the stack
313-
frame. Thanks to Naribayashi Akira for finding and fixing the
314-
bug.
315-
- Fixed output error strings and some comments in the Open MPI
316-
code base. Thanks to Julien Emmanuel for tirelessly finding and
317-
fixing these issues.
318-
- The ``uct`` BTL transport now supports ``UCX`` v1.9 and higher.
319-
There is no longer a maximum supported version.
320-
- Updated the UCT BTL defaults to allow NVIDIA/Mellanox HCAs
321-
(``mlx4_0``, and ``mlx5_0``) for compatibility with the
322-
one-sided ``rdma`` component.
323-
- Fixed a crash during CUDA initialization.
324-
Thanks to Yaz Saito for finding and fixing the bug.
325-
- Singleton ``MPI_Comm_spawn()`` support has been fixed.
326-
- PowerPC atomics: Force usage of ppc assembly by default.
327-
- The default atomics have been changed to be GCC, with C11 as a
328-
fallback. C11 atomics incurs sequential memory ordering, which
329-
in most cases is not desired.
330-
- Various datatype bugfixes and performance improvements.
331-
- Various pack/unpack bugfixes and performance improvements.
332-
- Various OSHMEM bugfixes and performance improvements.
333-
- New algorithm for Allgather and Allgatherv has been added, based
334-
on the paper *"Sparbit: a new logarithmic-cost and data
335-
locality-aware MPI Allgather algorithm"*. Default algorithm
336-
selection rules are unchanged; to use these algorithms add:
337-
``--mca coll_tuned_allgather_algorithm sparbit`` and/or ``--mca
338-
coll_tuned_allgatherv_algorithm sparbit`` to your ``mpirun``
339-
command. Thanks to Wilton Jaciel Loch and Guilherme Koslovski
340-
for their contribution.
341-
- Updated the usage of ``.gitmodules`` to use relative paths from
342-
absolute paths. This allows the submodule cloning to use the
343-
same protocol as Open MPI cloning. Thanks to Felix Uhl for the
344-
contribution.

0 commit comments

Comments
 (0)