@@ -73,15 +73,35 @@ Open MPI version 5.0.0rc16
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.0rc16
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.0rc16
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.0rc16
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,13 +208,24 @@ Open MPI version 5.0.0rc16
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
@@ -252,93 +267,3 @@ Open MPI version 5.0.0rc16
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