Skip to content

Commit dd93cdb

Browse files
authored
Merge pull request open-mpi#12020 from awlauria/news
news updates for v5.0.0 release
2 parents a795686 + a08c60c commit dd93cdb

File tree

1 file changed

+60
-145
lines changed

1 file changed

+60
-145
lines changed

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

Lines changed: 60 additions & 145 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.0rc13
7+
Open MPI version 5.0.0
88
--------------------------
9-
:Date: 29 September 2023
9+
:Date: 25 October 2023
1010

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

69-
- Changes since rc12:
70-
71-
- Update PMIx to the ``v4.2.6`` release tag. Hash: ``f20e0d5``.
72-
- Update PRRTE to the ``v3.0.1`` release tag. Hash: ``63370ca``.
73-
- Lots of documentation updates.
74-
- Fixed parameter name in ``MPI_Intercomm_merge``. Thanks to Yan Wu for the report.
75-
- ``OFI``: Update NIC selection to determine optimal interfaces from the current process.
76-
- Fix reordering of received data in ``MPI_Gather``.
77-
- Disable builds with ``HWLOC`` versions >= 3.0.0. This is currently not supported.
78-
- Fix re-ordering of ranks in ``MPI_Dist_graph_create``.
79-
- ``coll/HAN``: Fix bug when using ``MPI_IN_PLACE`` with ``MPI_Reduce``.
80-
- Fix ``MPI_Type_Dup`` to propagate errors from inner calls.
81-
- Fix the compilation of the monitoring infrastructure.
82-
- Various other bug fixes.
69+
- Internal PMIx and PRRTe versions:
70+
71+
- PMIx release tag v4.2.7. Commit hash: ``57c405c52ad76bab0be9f95e29a6df660673081e``.
72+
- PRRTE release tag v3.0.2. Commit hash: ``1552e36f0852bbc6d901ec95983369f0a3c283f6``.
8373

8474
- All other notable updates for v5.0.0:
8575

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+
86100
- New Features:
87101

88102
- ULFM Fault Tolerance support has been added. See :ref:`the ULFM
89103
section <ulfm-label>`.
90104
- CUDA is now supported in the ``ofi`` MTL.
91-
- New MCA parameter ``ompi_display_comm``, enabling a
92-
communication report. When set to ``mpi_init``, display the
93-
report when ``MPI_Init()`` is invoked. When set to
94-
``mpi_finalize``, display the report during ``MPI_Finalize()``.
95105
- A threading framework has been added to allow building Open MPI
96106
with different threading libraries. It currently supports
97107
`Argobots <https://www.argobots.org/>`_, `Qthreads
@@ -116,30 +126,14 @@ Open MPI version 5.0.0rc13
116126
``memory_patcher``. Thanks to Rich Welch for the contribution.
117127
- ``coll/ucc``: Added support for the ``MPI_Scatter()`` and
118128
``MPI_Iscatter()`` collectives.
119-
120-
- MPI-4.0 updates and additions:
121-
122-
- Support for MPI Sessions has been added.
123-
- Added partitioned communication using persistent sends
124-
and persistent receives.
125-
- Added persistent collectives to the ``MPI_`` namespace
126-
(they were previously available via the ``MPIX_`` prefix).
127-
- Added ``MPI_Isendrecv()`` and its variants.
128-
- Added support for ``MPI_Comm_idup_with_info()``.
129-
- Added support for ``MPI_Info_get_string()``.
130-
- Added support for ``initial_error_handler`` and the
131-
``ERRORS_ABORT`` infrastructure.
132-
- Added error handling for unbound errors to ``MPI_COMM_SELF``.
133-
- Made ``MPI_Comm_get_info()``, ``MPI_File_get_info()``, and
134-
``MPI_Win_get_info()`` compliant to the standard.
135-
- Droped unknown/ignored info keys on communicators, files,
136-
and windows.
137-
- Initial implementations of ``MPI_COMM_TYPE_HW_GUIDED`` and
138-
``MPI_COMM_TYPE_HW_GUIDED`` added.
139-
- ``MPI_Info_get()`` and ``MPI_Info_get_valuelen()`` are now
140-
deprecated.
141-
- Issue a deprecation warning when ``MPI_Cancel()`` is called for
142-
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.
143137

144138
- Transport updates and improvements
145139

@@ -173,10 +167,6 @@ Open MPI version 5.0.0rc13
173167

174168
- Shared Memory:
175169

176-
- The legacy ``sm`` (shared memory) BTL has been removed. The
177-
next-generation shared memory BTL ``vader`` replaces it, and
178-
has been renamed to be ``sm`` (``vader`` will still work as an
179-
alias).
180170
- Update the new ``sm`` BTL to not use Linux Cross Memory Attach
181171
(CMA) in user namespaces.
182172
- Fixed a crash when using the new ``sm`` BTL when compiled with
@@ -187,6 +177,10 @@ Open MPI version 5.0.0rc13
187177

188178
- Deprecations and removals:
189179

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).
190184
- ORTE, the underlying Open MPI launcher has been removed, and
191185
replaced with the `PMIx Reference RunTime Environment
192186
<https://github.com/openpmix/prrte>`_ (``PRTE``).
@@ -214,18 +208,29 @@ Open MPI version 5.0.0rc13
214208
environment is no longer supported. 32 bit support is still
215209
available in the v4.x series.
216210

217-
- Hardware Locality updates:
211+
- Other updates and bug fixes:
218212

219-
- Open MPI now requires Hardware Locality v1.11.0 or later.
220-
- The internally-bundled Hardware Locality shipped with Open MPI
221-
has been updated to v2.7.1.
222-
- Open MPI builds Hardware Locality with ``--enable-plugins`` when
223-
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.
224229

225230
- Documentation updates and improvements:
226231

227232
- Open MPI has consolidated and converted all of its documentation
228-
to use `ReStructured Text
233+
to use `ReStructured Text.
229234
<https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_
230235
and `Sphinx <https://www.sphinx-doc.org/>`_.
231236

@@ -262,93 +267,3 @@ Open MPI version 5.0.0rc13
262267
- Yixin Zhang
263268
- William Zhang
264269

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

0 commit comments

Comments
 (0)