Accepting request 889565 from science:HPC

Change default openmpi to openmpi4
- openmpi4 is now the default openmpi for releases > 15.3
- Add orted-mpir-add-version-to-shared-library.patch to fix unversionned library
- Change RPM macros install path to %{_rpmmacrodir}

- Update to version 4.1.1
  - Fix a number of datatype issues, including an issue with
    improper handling of partial datatypes that could lead to
    an unexpected application failure.
  - Change UCX PML to not warn about MPI_Request leaks during
    MPI_FINALIZE by default.  The old behavior can be restored with
    the mca_pml_ucx_request_leak_check MCA parameter.
  - Reverted temporary solution that worked around launch issues in
    SLURM v20.11.{0,1,2}. SchedMD encourages users to avoid these
    versions and to upgrade to v20.11.3 or newer.
  - Updated PMIx to v3.2.2.
  - Disabled gcc built-in atomics by default on aarch64 platforms.
  - Disabled UCX PML when UCX v1.8.0 is detected. UCX version 1.8.0 has a bug that
    may cause data corruption when its TCP transport is used in conjunction with
    the shared memory transport. UCX versions prior to v1.8.0 are not affected by
    this issue. Thanks to @ksiazekm for reporting the issue.
  - Fixed detection of available UCX transports/devices to better inform PML
    prioritization.
  - Fixed SLURM support to mark ORTE daemons as non-MPI tasks.
  - Improved AVX detection to more accurately detect supported
    platforms.  Also improved the generated AVX code, and switched to
    using word-based MCA params for the op/avx component (vs. numeric
    big flags).
  - Improved OFI compatibility support and fixed memory leaks in error
    handling paths.
  - Improved HAN collectives with support for Barrier and Scatter. Thanks

OBS-URL: https://build.opensuse.org/request/show/889565
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=6
This commit is contained in:
Dominique Leuenberger 2021-05-02 16:35:56 +00:00 committed by Git OBS Bridge
commit 06d42de453
6 changed files with 114 additions and 14 deletions

View File

@ -8,7 +8,7 @@
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<param name="revision">9ac5471035b9066462506bc4d92be7a340a8058e</param>
<param name="revision">a8dd8708d8b6d1346328d7f4612d63b307c25653</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">openmpi*.tar</param>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c6b9013b8fc5788371477d68b8a3273781c36b57600b4957af705aa70dc0688e
size 6418922

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:52fb519d3b71c62223f33b1434d245b724b4c3b59c9824b983df26cebaf4413b
size 6461180

View File

@ -1,3 +1,75 @@
-------------------------------------------------------------------
Wed Apr 28 11:08:54 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- openmpi4 is now the default openmpi for releases > 15.3
- Add orted-mpir-add-version-to-shared-library.patch to fix unversionned library
- Change RPM macros install path to %{_rpmmacrodir}
-------------------------------------------------------------------
Wed Apr 28 09:24:33 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to version 4.1.1
- Fix a number of datatype issues, including an issue with
improper handling of partial datatypes that could lead to
an unexpected application failure.
- Change UCX PML to not warn about MPI_Request leaks during
MPI_FINALIZE by default. The old behavior can be restored with
the mca_pml_ucx_request_leak_check MCA parameter.
- Reverted temporary solution that worked around launch issues in
SLURM v20.11.{0,1,2}. SchedMD encourages users to avoid these
versions and to upgrade to v20.11.3 or newer.
- Updated PMIx to v3.2.2.
- Disabled gcc built-in atomics by default on aarch64 platforms.
- Disabled UCX PML when UCX v1.8.0 is detected. UCX version 1.8.0 has a bug that
may cause data corruption when its TCP transport is used in conjunction with
the shared memory transport. UCX versions prior to v1.8.0 are not affected by
this issue. Thanks to @ksiazekm for reporting the issue.
- Fixed detection of available UCX transports/devices to better inform PML
prioritization.
- Fixed SLURM support to mark ORTE daemons as non-MPI tasks.
- Improved AVX detection to more accurately detect supported
platforms. Also improved the generated AVX code, and switched to
using word-based MCA params for the op/avx component (vs. numeric
big flags).
- Improved OFI compatibility support and fixed memory leaks in error
handling paths.
- Improved HAN collectives with support for Barrier and Scatter. Thanks
to @EmmanuelBRELLE for these changes and the relevant bug fixes.
- Fixed MPI debugger support (i.e., the MPIR_Breakpoint() symbol).
Thanks to @louisespellacy-arm for reporting the issue.
- Fixed ORTE bug that prevented debuggers from reading MPIR_Proctable.
- Removed PML uniformity check from the UCX PML to address performance
regression.
- Fixed MPI_Init_thread(3) statement about C++ binding and update
references about MPI_THREAD_MULTIPLE. Thanks to Andreas Lösel for
bringing the outdated docs to our attention.
- Added fence_nb to Flux PMIx support to address segmentation faults.
- Ensured progress of AIO requests in the POSIX FBTL component to
prevent exceeding maximum number of pending requests on MacOS.
- Used OPAL's mutli-thread support in the orted to leverage atomic
operations for object refcounting.
- Fixed segv when launching with static TCP ports.
- Fixed --debug-daemons mpirun CLI option.
- Fixed bug where mpirun did not honor --host in a managed job
allocation.
- Made a managed allocation filter a hostfile/hostlist.
- Fixed bug to marked a generalized request as pending once initiated.
- Fixed external PMIx v4.x check.
- Fixed OSHMEM build with `--enable-mem-debug`.
- Fixed a performance regression observed with older versions of GCC when
__ATOMIC_SEQ_CST is used. Thanks to @BiplabRaut for reporting the issue.
- Fixed buffer allocation bug in the binomial tree scatter algorithm when
non-contiguous datatypes are used. Thanks to @sadcat11 for reporting the issue.
- Fixed bugs related to the accumulate and atomics functionality in the
osc/rdma component.
- Fixed race condition in MPI group operations observed with
MPI_THREAD_MULTIPLE threading level.
- Fixed a deadlock in the TCP BTL's connection matching logic.
- Fixed pml/ob1 compilation error when CUDA support is enabled.
- Fixed a build issue with Lustre caused by unnecessary header includes.
- Fixed a build issue with IMB LSF workload manager.
- Fixed linker error with UCX SPML.
-------------------------------------------------------------------
Wed Mar 24 08:01:35 UTC 2021 - Egbert Eich <eich@suse.com>

View File

@ -42,8 +42,8 @@
# % define build_static_devel 1
%define pname openmpi
%define vers 4.1.0
%define _vers 4_1_0
%define vers 4.1.1
%define _vers 4_1_1
%define m_f_ver 4
%bcond_with ringdisabled
@ -104,7 +104,11 @@ ExclusiveArch: do_not_build
%endif
# Detect whether we are the default openMPI implemantation or not
%if "%{flavor}" == "standard" && (%{suse_version} > 1500 || 0%{?sle_version} > 150300)
%define default_openmpi 1
%else
%define default_openmpi 0
%endif
%if %{with hpc}
%{!?compiler_family:%global compiler_family gnu}
@ -115,7 +119,7 @@ ExclusiveArch: do_not_build
%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}
%endif
%define git_ver .0.9ac5471035
%define git_ver .0.a8dd8708d8b6
#############################################################################
#
@ -135,6 +139,7 @@ Source2: openmpi4-rpmlintrc
Source3: macros.hpc-openmpi
Source4: mpivars.sh
Source5: mpivars.csh
Patch1: orted-mpir-add-version-to-shared-library.patch
Provides: mpi
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
@ -393,6 +398,7 @@ echo with HPC
echo without HPC
%endif
%setup -q -n openmpi-%{version}%{git_ver}
%patch1
%if %{without hpc}
cat > %{_sourcedir}/baselibs.conf <<EOF
@ -533,8 +539,8 @@ prepend-path LD_LIBRARY_PATH %{mpi_libdir}
EOF
mkdir -p %{buildroot}%{_sysconfdir}/rpm
cat <<EOF >%{buildroot}%{_sysconfdir}/rpm/macros.openmpi
mkdir -p %{buildroot}%{_rpmmacrodir}
cat <<EOF >%{buildroot}%{_rpmmacrodir}/macros.openmpi
#
# openmpi
#
@ -580,9 +586,9 @@ EOF
sed -e "s/export/setenv/" -e "s/=/ /" \
%{buildroot}/%{mpi_bindir}/mpivars.sh > \
%{buildroot}/%{mpi_bindir}/mpivars.csh
mkdir -p %{buildroot}%{_sysconfdir}/rpm
mkdir -p %{buildroot}%{_sysconfdir}/rpm
cp %{S:3} %{buildroot}%{_sysconfdir}/rpm
mkdir -p %{buildroot}%{_rpmmacrodir}
mkdir -p %{buildroot}%{_rpmmacrodir}
cp %{S:3} %{buildroot}%{_rpmmacrodir}
# Drop the files that should go into %{pname}-config as we only package them
# in the non HPC build
@ -730,9 +736,9 @@ fi
%files macros-devel
%defattr(-,root,root,-)
%if %{with hpc}
%config %{_sysconfdir}/rpm/macros.hpc-openmpi
%{_rpmmacrodir}/macros.hpc-openmpi
%else
%config %{_sysconfdir}/rpm/macros.openmpi
%{_rpmmacrodir}/macros.openmpi
%endif
%if 0%{?build_static_devel}

View File

@ -0,0 +1,22 @@
commit bd2ceac4315c772e02cbb070e443d1acf2512da1
Author: Andrew J. Hesford <ajh@sideband.org>
Date: Thu Apr 29 15:13:23 2021 -0400
orted-mpir: add version to shared library
Because orted-mpir is installed in the public library direrctory, it
should have a version. Assign the library libopen_rte_so_version to be
consistent with the rest of the RTE.
Signed-off-by: Andrew J. Hesford <ajh@sideband.org>
diff --git orte/orted/orted-mpir/Makefile.am orte/orted/orted-mpir/Makefile.am
index 5c0dd335644a..8105dd4a6b83 100644
--- orte/orted/orted-mpir/Makefile.am
+++ orte/orted/orted-mpir/Makefile.am
@@ -19,4 +19,4 @@ lib_LTLIBRARIES = lib@ORTE_LIB_PREFIX@open-orted-mpir.la
lib@ORTE_LIB_PREFIX@open_orted_mpir_la_SOURCES = \
orted_mpir_breakpoint.c \
orted_mpir.h
-lib@ORTE_LIB_PREFIX@open_orted_mpir_la_LDFLAGS = -avoid-version
+lib@ORTE_LIB_PREFIX@open_orted_mpir_la_LDFLAGS = -version-info $(libopen_rte_so_version)