@@ -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.0rc15
7
+ Open MPI version 5.0.0
8
8
--------------------------
9
- :Date: 19 October 2023
9
+ :Date: 25 October 2023
10
10
11
11
.. admonition :: The MPIR API has been removed
12
12
:class: warning
@@ -66,22 +66,42 @@ Open MPI version 5.0.0rc15
66
66
Libevent symbols and then statically pulled the
67
67
library into ``libmpi.so ``.
68
68
69
- - Changes since rc15 :
69
+ - Internal PMIx and PRRTe versions :
70
70
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 ``.
73
73
74
74
- All other notable updates for v5.0.0:
75
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
+
76
100
- New Features:
77
101
78
102
- ULFM Fault Tolerance support has been added. See :ref: `the ULFM
79
103
section <ulfm-label>`.
80
104
- 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() ``.
85
105
- A threading framework has been added to allow building Open MPI
86
106
with different threading libraries. It currently supports
87
107
`Argobots <https://www.argobots.org/ >`_, `Qthreads
@@ -106,30 +126,14 @@ Open MPI version 5.0.0rc15
106
126
``memory_patcher ``. Thanks to Rich Welch for the contribution.
107
127
- ``coll/ucc ``: Added support for the ``MPI_Scatter() `` and
108
128
``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.
133
137
134
138
- Transport updates and improvements
135
139
@@ -163,10 +167,6 @@ Open MPI version 5.0.0rc15
163
167
164
168
- Shared Memory:
165
169
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).
170
170
- Update the new ``sm `` BTL to not use Linux Cross Memory Attach
171
171
(CMA) in user namespaces.
172
172
- Fixed a crash when using the new ``sm `` BTL when compiled with
@@ -177,6 +177,10 @@ Open MPI version 5.0.0rc15
177
177
178
178
- Deprecations and removals:
179
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).
180
184
- ORTE, the underlying Open MPI launcher has been removed, and
181
185
replaced with the `PMIx Reference RunTime Environment
182
186
<https://github.com/openpmix/prrte> `_ (``PRTE ``).
@@ -204,18 +208,29 @@ Open MPI version 5.0.0rc15
204
208
environment is no longer supported. 32 bit support is still
205
209
available in the v4.x series.
206
210
207
- - Hardware Locality updates:
211
+ - Other updates and bug fixes :
208
212
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.
214
229
215
230
- Documentation updates and improvements:
216
231
217
232
- Open MPI has consolidated and converted all of its documentation
218
- to use `ReStructured Text
233
+ to use `ReStructured Text.
219
234
<https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html> `_
220
235
and `Sphinx <https://www.sphinx-doc.org/ >`_.
221
236
@@ -252,93 +267,3 @@ Open MPI version 5.0.0rc15
252
267
- Yixin Zhang
253
268
- William Zhang
254
269
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