@@ -4,9 +4,9 @@ Open MPI v5.0.x series
44This file contains all the NEWS updates for the Open MPI v5.0.x
55series, 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