@@ -4,9 +4,9 @@ Open MPI v5.0.x series
4
4
This file contains all the NEWS updates for the Open MPI v5.0.x
5
5
series, in reverse chronological order.
6
6
7
- Open MPI version 5.0.0rc13
7
+ Open MPI version 5.0.0
8
8
--------------------------
9
- :Date: 29 September 2023
9
+ :Date: 25 October 2023
10
10
11
11
.. admonition :: The MPIR API has been removed
12
12
:class: warning
@@ -66,32 +66,42 @@ Open MPI version 5.0.0rc13
66
66
Libevent symbols and then statically pulled the
67
67
library into ``libmpi.so ``.
68
68
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 ``.
83
73
84
74
- All other notable updates for v5.0.0:
85
75
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
+
86
100
- New Features:
87
101
88
102
- ULFM Fault Tolerance support has been added. See :ref: `the ULFM
89
103
section <ulfm-label>`.
90
104
- 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() ``.
95
105
- A threading framework has been added to allow building Open MPI
96
106
with different threading libraries. It currently supports
97
107
`Argobots <https://www.argobots.org/ >`_, `Qthreads
@@ -116,30 +126,14 @@ Open MPI version 5.0.0rc13
116
126
``memory_patcher ``. Thanks to Rich Welch for the contribution.
117
127
- ``coll/ucc ``: Added support for the ``MPI_Scatter() `` and
118
128
``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.
143
137
144
138
- Transport updates and improvements
145
139
@@ -173,10 +167,6 @@ Open MPI version 5.0.0rc13
173
167
174
168
- Shared Memory:
175
169
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).
180
170
- Update the new ``sm `` BTL to not use Linux Cross Memory Attach
181
171
(CMA) in user namespaces.
182
172
- Fixed a crash when using the new ``sm `` BTL when compiled with
@@ -187,6 +177,10 @@ Open MPI version 5.0.0rc13
187
177
188
178
- Deprecations and removals:
189
179
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).
190
184
- ORTE, the underlying Open MPI launcher has been removed, and
191
185
replaced with the `PMIx Reference RunTime Environment
192
186
<https://github.com/openpmix/prrte> `_ (``PRTE ``).
@@ -214,18 +208,29 @@ Open MPI version 5.0.0rc13
214
208
environment is no longer supported. 32 bit support is still
215
209
available in the v4.x series.
216
210
217
- - Hardware Locality updates:
211
+ - Other updates and bug fixes :
218
212
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.
224
229
225
230
- Documentation updates and improvements:
226
231
227
232
- Open MPI has consolidated and converted all of its documentation
228
- to use `ReStructured Text
233
+ to use `ReStructured Text.
229
234
<https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html> `_
230
235
and `Sphinx <https://www.sphinx-doc.org/ >`_.
231
236
@@ -262,93 +267,3 @@ Open MPI version 5.0.0rc13
262
267
- Yixin Zhang
263
268
- William Zhang
264
269
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