Skip to content

Commit

Permalink
Add the news for v5.0.x branch.
Browse files Browse the repository at this point in the history
This is bringing back the news from 66ecc05,
which was removed with the readthedocs change.

Signed-off-by: Austen Lauria <awlauria@us.ibm.com>
  • Loading branch information
awlauria committed Mar 8, 2022
1 parent 3d4b4b9 commit 3830c23
Show file tree
Hide file tree
Showing 2 changed files with 274 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/news/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ version 1.0.
:maxdepth: 1

news-master
news-v5.0.x
news-v4.1.x
news-v4.0.x
news-v3.1.x
Expand Down
273 changes: 273 additions & 0 deletions docs/news/news-v5.0.x.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,273 @@
Open MPI v5.0.x series
============================================

This file contains all the NEWS updates for the Open MPI v5.0.x
series, in reverse chronological order.

Open MPI version 5.0.0rc3
-------------------------
:Date: 8 March 2022

.. admonition:: MPIR API has been removed
:class: warning

As was announced in summer 2017, Open MPI has removed support of
MPIR-based tools beginning with the release of Open MPI v5.0.0.

The new PRRTE based runtime environment supports PMIx-tools API
instead of the legacy MPIR API for debugging parallel jobs.

see https://github.com/openpmix/mpir-to-pmix-guide for more
information


.. admonition:: zlib is suggested for better user experience
:class: note

PMIx will optionally use zlib to compress large data streams.
This may result in shorter-than-normal startup times and
smaller memory footprints. It is recommended to install zlib
and zlib-devel for a better user experience.

- ORTE, the underlying OMPI launcher has been removed, and replaced
with PRTE.
- New MPI-4.0 features:
- Added ERRORS_ABORT infrastructure.
- Added support for 'initial error handler'.
- Added error handling for 'unbound' errors to MPI_COMM_SELF.
- Persistent collectives have been moved to the MPI
namespace from MPIX.
- Make MPI_Comm_get_info, MPI_File_get_info, and
MPI_Win_get_info compliant to the standard.
- Initial partitioned communication using persistent sends and
persistent receives added.
- Added support for MPI_Info_get_string.
- Droped unknown/ignored info keys on communicators, files,
and windows.
- Implemented MPI_Isendrecv() and its variants.
- Added Support for MPI_Comm_idup_with_info().
- Reworked how Open MPI integrates with 3rd party packages.
The decision was made to stop building 3rd-party packages
such as Libevent, HWLOC, PMIx, and PRRTE as MCA components
and instead 1) start relying on external libraries whenever
possible and 2) Open MPI builds the 3rd party libraries (if needed)
as independent libraries, rather than linked into libopen-pal.
- Updated to use PMIx v4.2 branch - current hash: b59e49f
- Updated to use PRRTE v2.1 branch - current hash: 8c09625
- osc/rdma and various btls: Many fixes to better support btl/tcp.
- This patch series fixs many issues when running with
"--mca osc rdma --mca btl tcp", IE - TCP support for one sided MPI calls.
- Change the default component build behavior to prefer building
components as part of libmpi.so instead of individual DSOs.
- Remove pml/yalla, mxm, mtl/psm, and ikrit components.
- Remove all vestiges of the C/R support.
- Various ROMIO v3.4.1 updates.
- Use Pandoc to generate manpages
- 32 bit atomics are now only supported via C11 compliant compilers.
- Explicitly disable support for GNU gcc < v4.8.1 (note: the default
gcc compiler that is included in RHEL 7 is v4.8.5).
- HWLOC: Require v1.11.0 or later.
- HWLOC: Updated internal hwloc to v2.7.0.
- HWLOC: enable --enable-plugins when appropriate
When running configure on the internal hwloc, enable plugins via
the --enable-plugins option when 1) --disable-dlopen was not
specified and 2) the user didn't add some variant of
--enable-plugins on the configure line already. The motivation
for this change is to not pull in hwloc dependencies like libcuda
in the general case.
- Do not build Open SHMEM layer when there are no SPMLs available.
Currently, this means the Open SHMEM layer will only build if
the UCX library is found.
- Fix rank-by algorithms to properly rank by object and span.
- Updated the "-mca pml" option to only accept one pml, not a list.
- vprotocol/pessimist: Updated to support MPI_THREAD_MULLTIPLE.
- btl/tcp: Updated to use reachability and graph solving for global
interface matching. This has been shown to improve MPI_Init()
performance under btl/tcp.
- fs/ime: Fixed compilation errors due to missing header inclusion
Thanks to Sylvain Didelot <sdidelot@ddn.com> for finding
and fixing this issue.
- Fixed bug where MPI_Init_thread can give wrong error messages by
delaying error reporting until all infrastructure is running.
- Atomics support removed: S390/s390x, Sparc v9, ARMv4 and ARMv5 CMA
support.
- autogen.pl now supports a "-j" option to run multi-threaded.
Users can also use environment variable "AUTOMAKE_JOBS".
- PMI support has been removed for Open MPI apps.
- Legacy btl/sm has been removed, and replaced with btl/vader, which
was renamed to "btl/sm".
- Update btl/sm to not use CMA in user namespaces.
- C++ bindings have been removed.
- The "--am" and "--amca" options have been deprecated.
- opal/mca/threads framework added. Currently supports
argobots, qthreads, and pthreads. See the --with-threads=x option
in configure.
- Various README.md fixes - thanks to:
Yixin Zhang <zhany217@wfu.edu>,
Samuel Cho <choss@wfu.edu>,
rlangefe <langrc18@wfu.edu>,
Alex Ross <rossaj16@wfu.edu>,
Sophia Fang <fangq18@wfu.edu>,
mitchelltopaloglu <mitchelltopaloglu@gmail.com>,
Evstrife <wus217@wfu.edu>, and
Hao Tong <tongh18@gemini.deac.wfu.edu> for their
contributions.
- osc/pt2pt: Removed. Users can use osc/rdma + btl/tcp
for OSC support using TCP, or other providers.
- Open MPI now links -levent_core instead of -levent.
- common/cuda docs: Various fixes. Thanks to
Simon Byrne <simonbyrne@gmail.com> for finding and fixing.
- osc/ucx: Add support for acc_single_intrinsic.
- Fixed buildrpm.sh "-r" option used for RPM options specification.
Thanks to John K. McIver III <john.mciver.iii@gmail.com> for
reporting and fixing.
- configure: Added support for setting the wrapper C compiler.
Adds new option "--with-wrapper-cc=" .
- mpi_f08: Fixed Fortran-8-byte-INTEGER vs. C-4-byte-int issue.
Thanks to @ahaichen for reporting the bug.
- opal/thread/tsd: Added thread-specific-data (tsd) api.
- Add missing MPI_Status conversion subroutines:
MPI_Status_c2f08(), MPI_Status_f082c(), MPI_Status_f082f(),
MPI_Status_f2f08() and the PMPI_* related subroutines.
- patcher: Removed the Linux component.
- opal/util: Fixed typo in error string. Thanks to
NARIBAYASHI Akira <a.naribayashi@fujitsu.com> for finding
and fixing the bug.
- Fortran/use-mpi-f08: Generate PMPI bindings from the MPI bindings.
- Converted man pages to markdown.
Thanks to Fangcong Yin <fyin2@nd.edu> for their contribution
to this effort.
- Fixed ompi_proc_world error string and some comments in pml/ob1.
Thanks to Julien EMMANUEL <julien.emmanuel@inria.fr> for
finding and fixing these issues.
- oshmem/tools/oshmem_info: Fixed Fortran keyword issue when
compiling param.c. Thanks to Pak Lui <pak.lui@amd.com> for
finding and fixing the bug.
- autogen.pl: Patched libtool.m4 for OSX Big Sur. Thanks to
@fxcoudert for reporting the issue.
- Updgraded to HWLOC v2.4.0.
- Removed config/opal_check_pmi.m4.
Thanks to Zach Osman <zosman@gmu.edu> for the contribution.
- opal/atomics: Added load-linked, store-conditional atomics for
AArch6.
- Fixed envvar names to OMPI_MCA_orte_precondition_transports.
Thanks to Marisa Roman <marisa.roman@cornelisnetworks.com>
for the contribution.
- fcoll/two_phase: Removed the component. All scenerios it was
used for has been replaced.
- btl/uct: Bumped highest supported UCX version to v1.10.x.
- ULFM Fault Tolerance has been added. See README.FT.ULFM.md.
- Fixed a crash during CUDA initialization.
Thanks to Yaz Saito <yasushi.saito@gmail.com> for finding
and fixing the bug.
- Added CUDA support to the OFI MTL.
- ompio: Added atomicity support.
- Singleton comm spawn support has been fixed.
- Autoconf v2.7 support has been updated.
- Fortran: Added check for ISO_FORTRAN_ENV:REAL16. Thanks to
Jeff Hammond <jeff_hammond@acm.org> for reporting this issue.
- Changed the MCA component build style default to static.
- PowerPC atomics: Force usage of opal/ppc assembly.
- Removed C++ compiler requirement to build Open MPI.
- Fixed .la files leaking into wrapper compilers.
- Fixed bug where the cache line size was not set soon enough in
MPI_Init().
- coll/ucc and scoll/ucc components were added.
- coll/ucc: Added support for allgather and reduce collective
operations.
- autogen.pl: Fixed bug where it would not ignore all
excluded components.
- Various datatype bugfixes and performance improvements
- Various pack/unpack bugfixes and performance improvements
- Fix mmap infinite recurse in memory patcher
- Fix C to Fortran error code conversions.
- osc/ucx: Fix data corruption with non-contiguous accumulates
- Update coll/tuned selection rules
- Fix non-blocking collective ops
- btl/portals4: Fix flow control
- Various oshmem:ucx bugfixes and performance improvements
- common/ofi: Disable new monitor API until libfabric 1.14.0
- Fix AVX detection with icc
- mpirun option "--mca ompi_display_comm mpi_init/mpi_finalize"
has been added. Enables a communication protocol report:
when MPI_Init is invoked (using the 'mpi_init' value) and/or
when MPI_Finalize is invoked (using the 'mpi_finalize' value).
- New algorithm for Allgather and Allgatherv added, based on the
paper "Sparbit: a new logarithmic-cost and data locality-aware MPI
Allgather algorithm". Default algorithm selection rules are
un-changed, to use these algorithms add:
"--mca coll_tuned_allgather_algorithm sparbit" and/or
"--mca coll_tuned_allgatherv_algorithm sparbit"
Thanks to: Wilton Jaciel Loch <wiltonloch wilton.loch@gmail.com>,
and Guilherme Koslovski for their contribution.
- OFI: Delay patcher initialization until needed. It will now
be initialized only after the component is officially selected.
- Portable_platform file has been updated from GASNet.
- GCC versions < 4.8.1 are no longer supported.
- coll: Fix a bug with the libnbc MPI_AllReduce ring algorithm
when using MPI_IN_PLACE.
- Updated the usage of .gitmodules to use relative paths from
absolute paths. This allows the submodule cloning to use the same
protocol as OMPI cloning. Thanks to Felix Uhl
<Felix.Uhl@emea.nec.com> for the contribution.
- osc/rdma: Add local leader pid in shm file name to make it unique.
- ofi: Fix memory handler unregistration. This change fixes a
segfault during shutdown if the common/ofi component was built
as a dynamic object.
- osc/rdma: Add support for MPI minimum alignment key.
- memory_patcher: Add ability to detect patched memory. Thanks
to Rich Welch <rlwelch@amazon.com> for the contribution.
- build: Improve handling of compiler version string. This
fixes a compiler error with clang and armclang.
- Fix bug where the relocation of OMPI packages caused
the launch to fail.
- Various improvements to MPI_AlltoAll algorithms for both
performance and memory usage.
- coll/basic: Fix segmentation fault in MPI_Alltoallw with
MPI_IN_PLACE.
- Added OpenPMIx binaries to build, including pmix_info.
- Added new OSHMEM APIs for v1.5.
Thanks to Mamzi Bayatpour <mbayatpour@nvidia.com> for the contribution.
- OSC/UCX - Various fixes for dynamic windows.
- allocator/bucket: Add check for overflow.
- Fortran: Fixes for grequest return values and status.
- mtl/ofi: Call fi_setopt to state MPI p2p requirements for CUDA
- Fortran: Changed MPI_Waitall/array_of_requests/etc bindings from dimension(count) to dimension(*).
- coll/base/alltoall: Fixed send/recv offsets in rbuf for the case of MPI_IN_PLACE
- btl/uct: Updated the defaults to allow Mellanox HCAs (mlx4_0, and mlx5_0) for
osc/rdma to work out-of-the-box.
- build: Fix bug where internal PMIx/PRRTE configure was running
even if external requested.
- Fixed a segv when older HWLOCs are used.
- Various fixes for static builds.
- ofi/mtl: Fix component selection debug output
Thanks fo Samuel K. Gutierrez <samuel@lanl.gov> for the contribution.
- opal/mca/threads/pthreads: removed opal_pthread_mutex_t - cleans
up logic and code duplication.
Thanks to Shintaro Iwasaki <siwasaki@anl.gov> for the contribution.
- opal/mca/threads/qhtreads: Added opal_recursive_mutex_t support.
Thanks to Jan Ciesko <jciesko@sandia.gov> for the contribution.
- Various improvements to MPI_Test, MPI_Testall, and MPI_Testsome.
- MPI module: added the mpi_f08 TYPE(MPI_*) types.
- MPI_Op: Various performance improvements, and removed all ops with three buffers.
Thanks to George Katevenis <gkatev@ics.forth.gr> for the report
and their contribution to the patch.
- Fixed Fortran preprocessor issue with CPPFLAGS.
Thanks to Jeff Hammond for reporting this issue.
- opal/atomics: Cleaned up and refactored these interfaces.
- btl/sm: Fixed crash on put/get to self.
- btl/base_am_rdma: fix handling of btl_send returning 1
- Fixed bus error with btl/sm + XPMEM.
Thanks to George Katevenis for reporting this issue.
- scoll/ucc: fix long long reduction dtype.
Thanks to ferrol aderholdt <faderholdt@nvidia.com> for the
contribution.
- scoll/ucc: add onesided ucc support
Thanks to ferrol aderholdt <faderholdt@nvidia.com> for the
contribution.
- opal/common/ucx: enable OPAL memory hooks by default
This will provide compatibility to other transports.
- Fixed leak of sm_segment files in /dev/shm.
- ompi/contrib: Removed libompitrace.
This library was incomplete and unmaintained. If needed, it
is available in the v4/v4.1 series.

0 comments on commit 3830c23

Please sign in to comment.