@@ -10,201 +10,200 @@ Open MPI version 5.0.0rc2
1010-------------------------
1111:Date: 10 Oct 2021
1212
13- .. admonition :: TO-DO improve MPIR note
14- :class: error
13+ .. admonition :: MPIR API has been removed
14+ :class: warning
1515
16- As was announced in summer 2017, Open MPI is deprecating support for
17- MPIR-based tools beginning with the future release of OMPI v5 .0.
16+ As was announced in summer 2017, Open MPI has removed support of
17+ MPIR-based tools beginning with the release of Open MPI v5.0 .0.
1818
19- This serves as a pre-deprecation warning to provide tools developers
20- with sufficient time to migrate to PMIx. Support for PMIx-based
21- tools will be rolled out during the OMPI v4.x series. No runtime
22- deprecation warnings will be output during this time.
19+ The new PRRTE based runtime environment supports PMIx-tools API
20+ instead of the legacy MPIR API for debugging parallel jobs.
2321
24- Runtime deprecation warnings will be output beginning with the OMPI v5.0
25- release whenever MPIR-based tools connect to Open MPI's mpirun/mpiexec
26- launcher.
22+ see https://github.com/openpmix/mpir-to-pmix-guide for more
23+ information
2724
28- - ORTE, the underlying OMPI launcher has been removed, and replaced
29- with PRTE.
30- - Reworked how Open MPI integrates with 3rd party packages.
31- The decision was made to stop building 3rd-party packages
32- such as Libevent, HWLOC, PMIx, and PRRTE as MCA components
33- and instead 1) start relying on external libraries whenever
34- possible and 2) Open MPI builds the 3rd party libraries (if needed)
35- as independent libraries, rather than linked into libopen-pal.
36- - Update to use PMIx v4.1.1rc2
37- - Update to use PRRTE v2.0.1rc2
38- - Change the default component build behavior to prefer building
39- components as part of libmpi.so instead of individual DSOs.
40- - Remove pml/yalla, mxm, mtl/psm, and ikrit components.
41- - Remove all vestiges of the C/R support.
42- - Various ROMIO v3.4.1 updates.
43- - Use Pandoc to generate manpages
44- - 32 bit atomics are now only supported via C11 compliant compilers.
45- - Explicitly disable support for GNU gcc < v4.8.1 (note: the default
46- gcc compiler that is included in RHEL 7 is v4.8.5).
47- - Do not build Open SHMEM layer when there are no SPMLs available.
48- Currently, this means the Open SHMEM layer will only build if
49- the UCX library is found.
50- - Fix rank-by algorithms to properly rank by object and span.
51- - Updated the "-mca pml" option to only accept one pml, not a list.
52- - vprotocol/pessimist: Updated to support MPI_THREAD_MULLTIPLE.
53- - btl/tcp: Updated to use reachability and graph solving for global
54- interface matching. This has been shown to improve MPI_Init()
55- performance under btl/tcp.
56- - fs/ime: Fixed compilation errors due to missing header inclusion
57- Thanks to Sylvain Didelot <
[email protected] > for finding
58- and fixing this issue.
59- - Fixed bug where MPI_Init_thread can give wrong error messages by
60- delaying error reporting until all infrastructure is running.
61- - Atomics support removed: S390/s390x, Sparc v9, ARMv4 and ARMv5 CMA
62- support.
63- - autogen.pl now supports a "-j" option to run multi-threaded.
64- Users can also use environment variable "AUTOMAKE_JOBS".
65- - PMI support has been removed for Open MPI apps.
66- - Legacy btl/sm has been removed, and replaced with btl/vader, which
67- was renamed to "btl/sm".
68- - Update btl/sm to not use CMA in user namespaces.
69- - C++ bindings have been removed.
70- - The "--am" and "--amca" options have been deprecated.
71- - opal/mca/threads framework added. Currently supports
72- argobots, qthreads, and pthreads. See the --with-threads=x option
73- in configure.
74- - Various README.md fixes - thanks to:
75- 76- 77- Robert Langfield <
[email protected] >,
78- 79- 80- mitchelltopaloglu <
[email protected] >,
81- 82- Hao Tong <
[email protected] > for their
83- contributions.
84- - osc/pt2pt: Removed. Users can use osc/rdma + btl/tcp
85- for OSC support using TCP, or other providers.
86- - Open MPI now links -levent_core instead of -levent.
87- - MPI-4: Added ERRORS_ABORT infrastructure.
88- - common/cuda docs: Various fixes. Thanks to
89- Simon Byrne <
[email protected] > for finding and fixing.
90- - osc/ucx: Add support for acc_single_intrinsic.
91- - Fixed buildrpm.sh "-r" option used for RPM options specification.
92- Thanks to John K. McIver III <
[email protected] > for
93- reporting and fixing.
94- - configure: Added support for setting the wrapper C compiler.
95- Adds new option "--with-wrapper-cc=" .
96- - mpi_f08: Fixed Fortran-8-byte-INTEGER vs. C-4-byte-int issue.
97- Thanks to @ahaichen for reporting the bug.
98- - MPI-4: Added support for 'initial error handler'.
99- - opal/thread/tsd: Added thread-specific-data (tsd) api.
100- - MPI-4: Added error handling for 'unbound' errors to MPI_COMM_SELF.
101- - Add missing MPI_Status conversion subroutines:
102- MPI_Status_c2f08(), MPI_Status_f082c(), MPI_Status_f082f(),
103- MPI_Status_f2f08() and the PMPI_* related subroutines.
104- - patcher: Removed the Linux component.
105- - opal/util: Fixed typo in error string. Thanks to
106- NARIBAYASHI Akira <
[email protected] > for finding
107- and fixing the bug.
108- - fortran/use-mpi-f08: Generate PMPI bindings from the MPI bindings.
109- - Converted man pages to markdown.
110- Thanks to Fangcong Yin <
[email protected] > for their contribution
111- to this effort.
112- - Fixed ompi_proc_world error string and some comments in pml/ob1.
113- Thanks to Julien EMMANUEL <
[email protected] > for
114- finding and fixing these issues.
115- - oshmem/tools/oshmem_info: Fixed Fortran keyword issue when
116- compiling param.c. Thanks to Pak Lui <
[email protected] > for
117- finding and fixing the bug.
118- - autogen.pl: Patched libtool.m4 for OSX Big Sur. Thanks to
119- @fxcoudert for reporting the issue.
120- - Updgraded to HWLOC v2.4.0.
121- - Removed config/opal_check_pmi.m4.
122- Thanks to Zach Osman <
[email protected] > for the contribution.
123- - opal/atomics: Added load-linked, store-conditional atomics for
124- AArch6.
125- - Fixed envvar names to OMPI_MCA_orte_precondition_transports.
126- Thanks to Marisa Roman <
[email protected] >
127- for the contribution.
128- - fcoll/two_phase: Removed the component. All scenerios it was
129- used for has been replaced.
130- - btl/uct: Bumped UCX allowed version to v1.9.x.
131- - ULFM Fault Tolerance has been added. See README.FT.ULFM.md.
132- - Fixed a crash during CUDA initialization.
133- Thanks to Yaz Saito <
[email protected] > for finding
134- and fixing the bug.
135- - Added CUDA support to the OFI MTL.
136- - ompio: Added atomicity support.
137- - Singleton comm spawn support has been fixed.
138- - Autoconf v2.7 support has been updated.
139- - fortran: Added check for ISO_FORTRAN_ENV:REAL16. Thanks to
140- Jeff Hammond <
[email protected] > for reporting this issue.
141- - Changed the MCA component build style default to static.
142- - PowerPC atomics: Force usage of opal/ppc assembly.
143- - Removed C++ compiler requirement to build Open MPI.
144- - Fixed .la files leaking into wrapper compilers.
145- - Fixed bug where the cache line size was not set soon enough in
146- MPI_Init().
147- - coll/ucc and scoll/ucc components were added.
148- - coll/ucc: Added support for allgather and reduce collective
149- operations.
150- - autogen.pl: Fixed bug where it would not ignore all
151- excluded components.
152- - Various datatype bugfixes and performance improvements
153- - Various pack/unpack bugfixes and performance improvements
154- - Fix mmap infinite recurse in memory patcher
155- - Fix C to Fortran error code conversions.
156- - osc/ucx: Fix data corruption with non-contiguous accumulates
157- - Update coll/tuned selection rules
158- - Fix non-blocking collective ops
159- - btl/portals4: Fix flow control
160- - Various oshmem:ucx bugfixes and performance improvements
161- - common/ofi: Disable new monitor API until libfabric 1.14.0
162- - Fix AVX detection with icc
163- - mpirun option "--mca ompi_display_comm mpi_init/mpi_finalize"
164- has been added. Enables a communication protocol report:
165- when MPI_Init is invoked (using the 'mpi_init' value) and/or
166- when MPI_Finalize is invoked (using the 'mpi_finalize' value).
167- - New algorithm for Allgather and Allgatherv added, based on the
168- paper "Sparbit: a new logarithmic-cost and data locality-aware MPI
169- Allgather algorithm". Default algorithm selection rules are
170- un-changed, to use these algorithms add:
171- "--mca coll_tuned_allgather_algorithm sparbit" and/or
172- "--mca coll_tuned_allgatherv_algorithm sparbit"
173- Thanks to: Wilton Jaciel Loch <wiltonloch
[email protected] >,
174- and Guilherme Koslovski for their contribution.
175- - MPI-4: Persistent collectives have been moved to the MPI
176- namespace from MPIX.
177- - OFI: Delay patcher initialization until needed. It will now
178- be initialized only after the component is officially selected.
179- - MPI-4: Make MPI_Comm_get_info, MPI_File_get_info, and
180- MPI_Win_get_info compliant to the standard.
181- - Portable_platform file has been updated from GASNet.
182- - GCC versions < 4.8.1 are no longer supported.
183- - coll: Fix a bug with the libnbc MPI_AllReduce ring algorithm
184- when using MPI_IN_PLACE.
185- - Updated the usage of .gitmodules to use relative paths from
186- absolute paths. This allows the submodule cloning to use the same
187- protocol as OMPI cloning. Thanks to Felix Uhl
188- <
[email protected] > for the contribution.
189- - osc/rdma: Add local leader pid in shm file name to make it unique.
190- - ofi: Fix memory handler unregistration. This change fixes a
191- segfault during shutdown if the common/ofi component was built
192- as a dynamic object.
193- - osc/rdma: Add support for MPI minimum alignment key.
194- - memory_patcher: Add ability to detect patched memory. Thanks
195- to Rich Welch <
[email protected] > for the contribution.
196- - build: Improve handling of compiler version string. This
197- fixes a compiler error with clang and armclang.
198- - Fix bug where the relocation of OMPI packages caused
199- the launch to fail.
200- - Various improvements to MPI_AlltoAll algorithms for both
201- performance and memory usage.
202- - coll/basic: Fix segmentation fault in MPI_Alltoallw with
203- MPI_IN_PLACE.
20425
205- .. warning ::
26+ .. admonition :: zlib is suggested for better user experience
27+ :class: note
20628
207- This patch either caused or exposed a regression
208- in MPI_AlltoAllv() using MPI_IN_PLACE. See github issue #9501.
209- This will be fixed prior to v5.0.0 release.
29+ PMIx will optionally use zlib to compress large data streams.
30+ This may result in shorter-than-normal startup times and
31+ smaller memory footprints. It is recommended to install zlib
32+ and zlib-devel for a better user experience.
21033
34+ - ORTE, the underlying OMPI launcher has been removed, and replaced
35+ with PRTE.
36+ - Reworked how Open MPI integrates with 3rd party packages.
37+ The decision was made to stop building 3rd-party packages
38+ such as Libevent, HWLOC, PMIx, and PRRTE as MCA components
39+ and instead 1) start relying on external libraries whenever
40+ possible and 2) Open MPI builds the 3rd party libraries (if needed)
41+ as independent libraries, rather than linked into libopen-pal.
42+ - Update to use PMIx v4.1.1rc2
43+ - Update to use PRRTE v2.0.1rc2
44+ - Change the default component build behavior to prefer building
45+ components as part of libmpi.so instead of individual DSOs.
46+ - Remove pml/yalla, mxm, mtl/psm, and ikrit components.
47+ - Remove all vestiges of the C/R support.
48+ - Various ROMIO v3.4.1 updates.
49+ - Use Pandoc to generate manpages
50+ - 32 bit atomics are now only supported via C11 compliant compilers.
51+ - Explicitly disable support for GNU gcc < v4.8.1 (note: the default
52+ gcc compiler that is included in RHEL 7 is v4.8.5).
53+ - Do not build Open SHMEM layer when there are no SPMLs available.
54+ Currently, this means the Open SHMEM layer will only build if
55+ the UCX library is found.
56+ - Fix rank-by algorithms to properly rank by object and span.
57+ - Updated the ``-mca pml `` option to only accept one pml, not a list.
58+ - vprotocol/pessimist: Updated to support ``MPI_THREAD_MULLTIPLE ``.
59+ - btl/tcp: Updated to use reachability and graph solving for global
60+ interface matching. This has been shown to improve ``MPI_Init() ``
61+ performance under btl/tcp.
62+ - fs/ime: Fixed compilation errors due to missing header inclusion
63+ Thanks to Sylvain Didelot <
[email protected] > for finding
64+ and fixing this issue.
65+ - Fixed bug where MPI_Init_thread can give wrong error messages by
66+ delaying error reporting until all infrastructure is running.
67+ - Atomics support removed: S390/s390x, Sparc v9, ARMv4 and ARMv5 CMA
68+ support.
69+ - ``autogen.pl `` now supports a ``-j `` option to run multi-threaded.
70+ Users can also use environment variable ``AUTOMAKE_JOBS ``.
71+ - PMI support has been removed for Open MPI apps.
72+ - Legacy btl/sm has been removed, and replaced with btl/vader, which
73+ was renamed to btl/sm.
74+ - Update btl/sm to not use CMA in user namespaces.
75+ - C++ bindings have been removed.
76+ - The ``--am `` and ``--amca `` options have been deprecated.
77+ - opal/mca/threads framework added. Currently supports
78+ argobots, qthreads, and pthreads. See the --with-threads=x option
79+ in configure.
80+ - Various ``README.md `` fixes - thanks to:
81+ 82+ 83+ Robert Langfield <
[email protected] >,
84+ 85+ 86+ mitchelltopaloglu <
[email protected] >,
87+ 88+ Hao Tong <
[email protected] > for their
89+ contributions.
90+ - osc/pt2pt: Removed. Users can use osc/rdma + btl/tcp
91+ for OSC support using TCP, or other providers.
92+ - Open MPI now links -levent_core instead of -levent.
93+ - MPI-4: Added ``ERRORS_ABORT `` infrastructure.
94+ - common/cuda docs: Various fixes. Thanks to
95+ Simon Byrne <
[email protected] > for finding and fixing.
96+ - osc/ucx: Add support for acc_single_intrinsic.
97+ - Fixed ``buildrpm.sh -r `` option used for RPM options specification.
98+ Thanks to John K. McIver III <
[email protected] > for
99+ reporting and fixing.
100+ - configure: Added support for setting the wrapper C compiler.
101+ Adds new option ``--with-wrapper-cc= ``.
102+ - mpi_f08: Fixed Fortran-8-byte-INTEGER vs. C-4-byte-int issue.
103+ Thanks to @ahaichen for reporting the bug.
104+ - MPI-4: Added support for 'initial error handler'.
105+ - opal/thread/tsd: Added thread-specific-data (tsd) api.
106+ - MPI-4: Added error handling for 'unbound' errors to ``MPI_COMM_SELF ``.
107+ - Add missing ``MPI_Status `` conversion subroutines:
108+ ``MPI_Status_c2f08() ``, ``MPI_Status_f082c() ``, ``MPI_Status_f082f() ``,
109+ ``MPI_Status_f2f08() `` and the ``PMPI_* `` related subroutines.
110+ - patcher: Removed the Linux component.
111+ - opal/util: Fixed typo in error string. Thanks to
112+ NARIBAYASHI Akira <
[email protected] > for finding
113+ and fixing the bug.
114+ - fortran/use-mpi-f08: Generate PMPI bindings from the MPI bindings.
115+ - Converted man pages to markdown.
116+ Thanks to Fangcong Yin <
[email protected] > for their contribution
117+ to this effort.
118+ - Fixed ompi_proc_world error string and some comments in pml/ob1.
119+ Thanks to Julien EMMANUEL <
[email protected] > for
120+ finding and fixing these issues.
121+ - oshmem/tools/oshmem_info: Fixed Fortran keyword issue when
122+ compiling param.c. Thanks to Pak Lui <
[email protected] > for
123+ finding and fixing the bug.
124+ - autogen.pl: Patched libtool.m4 for OSX Big Sur. Thanks to
125+ @fxcoudert for reporting the issue.
126+ - Updgraded to HWLOC v2.4.0.
127+ - Removed config/opal_check_pmi.m4.
128+ Thanks to Zach Osman <
[email protected] > for the contribution.
129+ - opal/atomics: Added load-linked, store-conditional atomics for
130+ AArch6.
131+ - Fixed envvar names to OMPI_MCA_orte_precondition_transports.
132+ Thanks to Marisa Roman <
[email protected] >
133+ for the contribution.
134+ - fcoll/two_phase: Removed the component. All scenerios it was
135+ used for has been replaced.
136+ - btl/uct: Bumped UCX allowed version to v1.9.x.
137+ - ULFM Fault Tolerance has been added. See ``README.FT.ULFM.md ``.
138+ - Fixed a crash during CUDA initialization.
139+ Thanks to Yaz Saito <
[email protected] > for finding
140+ and fixing the bug.
141+ - Added CUDA support to the OFI MTL.
142+ - ompio: Added atomicity support.
143+ - Singleton comm spawn support has been fixed.
144+ - Autoconf v2.7 support has been updated.
145+ - fortran: Added check for ``ISO_FORTRAN_ENV:REAL16 ``. Thanks to
146+ Jeff Hammond <
[email protected] > for reporting this issue.
147+ - Changed the MCA component build style default to static.
148+ - PowerPC atomics: Force usage of opal/ppc assembly.
149+ - Removed C++ compiler requirement to build Open MPI.
150+ - Fixed .la files leaking into wrapper compilers.
151+ - Fixed bug where the cache line size was not set soon enough in
152+ ``MPI_Init() ``.
153+ - coll/ucc and scoll/ucc components were added.
154+ - coll/ucc: Added support for allgather and reduce collective
155+ operations.
156+ - autogen.pl: Fixed bug where it would not ignore all
157+ excluded components.
158+ - Various datatype bugfixes and performance improvements
159+ - Various pack/unpack bugfixes and performance improvements
160+ - Fix mmap infinite recurse in memory patcher
161+ - Fix C to Fortran error code conversions.
162+ - osc/ucx: Fix data corruption with non-contiguous accumulates
163+ - Update coll/tuned selection rules
164+ - Fix non-blocking collective ops
165+ - btl/portals4: Fix flow control
166+ - Various oshmem:ucx bugfixes and performance improvements
167+ - common/ofi: Disable new monitor API until libfabric 1.14.0
168+ - Fix AVX detection with icc
169+ - mpirun option ``--mca ompi_display_comm mpi_init ``/``mpi_finalize ``
170+ has been added. Enables a communication protocol report:
171+ when ``MPI_Init `` is invoked (using the ``mpi_init `` value) and/or
172+ when ``MPI_Finalize `` is invoked (using the ``mpi_finalize `` value).
173+ - New algorithm for Allgather and Allgatherv added, based on the
174+ paper *"Sparbit: a new logarithmic-cost and data locality-aware MPI
175+ Allgather algorithm" *. Default algorithm selection rules are
176+ un-changed, to use these algorithms add:
177+ ``--mca coll_tuned_allgather_algorithm sparbit `` and/or
178+ ``--mca coll_tuned_allgatherv_algorithm sparbit ``
179+ Thanks to: Wilton Jaciel Loch <wiltonloch
[email protected] >,
180+ and Guilherme Koslovski for their contribution.
181+ - MPI-4: Persistent collectives have been moved to the MPI
182+ namespace from MPIX.
183+ - OFI: Delay patcher initialization until needed. It will now
184+ be initialized only after the component is officially selected.
185+ - MPI-4: Make ``MPI_Comm_get_info ``, ``MPI_File_get_info ``, and
186+ ``MPI_Win_get_info `` compliant to the standard.
187+ - Portable_platform file has been updated from GASNet.
188+ - GCC versions < 4.8.1 are no longer supported.
189+ - coll: Fix a bug with the libnbc ``MPI_AllReduce `` ring algorithm
190+ when using ``MPI_IN_PLACE ``.
191+ - Updated the usage of .gitmodules to use relative paths from
192+ absolute paths. This allows the submodule cloning to use the same
193+ protocol as OMPI cloning. Thanks to Felix Uhl
194+ <
[email protected] > for the contribution.
195+ - osc/rdma: Add local leader pid in shm file name to make it unique.
196+ - ofi: Fix memory handler unregistration. This change fixes a
197+ segfault during shutdown if the common/ofi component was built
198+ as a dynamic object.
199+ - osc/rdma: Add support for MPI minimum alignment key.
200+ - memory_patcher: Add ability to detect patched memory. Thanks
201+ to Rich Welch <
[email protected] > for the contribution.
202+ - build: Improve handling of compiler version string. This
203+ fixes a compiler error with clang and armclang.
204+ - Fix bug where the relocation of OMPI packages caused
205+ the launch to fail.
206+ - Various improvements to ``MPI_AlltoAll `` algorithms for both
207+ performance and memory usage.
208+ - coll/basic: Fix segmentation fault in ``MPI_Alltoallw `` with
209+ ``MPI_IN_PLACE ``.
0 commit comments