Compare commits

...
Sign in to create a new pull request.

4 commits

Author SHA1 Message Date
Orion Poplawski
763c280f76 Rebuild in side-tag 2025-08-12 07:23:12 -06:00
Orion Poplawski
9057815884 Disable ucx on ppx64le because it is broken - https://github.com/openucx/ucx/issues/10780 2025-08-02 17:33:05 -06:00
Orion Poplawski
26bf738df2 Drop old python2 support 2025-08-02 17:32:54 -06:00
Orion Poplawski
1c0666add8 Update to 5.0.8
Add upstream patch to fix s390x alignments
2025-08-02 17:32:40 -06:00
7 changed files with 37 additions and 69 deletions

1
.gitignore vendored
View file

@ -68,3 +68,4 @@ openmpi-1.4.1-RH.tar.bz2
/openmpi-5.0.3.tar.bz2
/openmpi-5.0.5.tar.bz2
/openmpi-5.0.6.tar.bz2
/openmpi-5.0.8.tar.bz2

View file

@ -1,23 +0,0 @@
From 2ea6bfb8d6b32a4a2ddc79dbf1043d0cef8e221c Mon Sep 17 00:00:00 2001
From: Orion Poplawski <orion@nwra.com>
Date: Sat, 1 Mar 2025 14:25:18 -0700
Subject: [PATCH] Latest Fedora has dropped the arch suffix from the openjdk
directory
---
config/ompi_setup_java.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/ompi_setup_java.m4 b/config/ompi_setup_java.m4
index b0212b230e7..02029b83dd6 100644
--- a/config/ompi_setup_java.m4
+++ b/config/ompi_setup_java.m4
@@ -101,7 +101,7 @@ AC_DEFUN([_OMPI_SETUP_JAVA],[
if test "$ompi_java_found" = "0"; then
# Various Linux
if test -z "$JAVA_HOME"; then
- ompi_java_dir='/usr/lib/jvm/java-*-openjdk-*/include/'
+ ompi_java_dir='/usr/lib/jvm/java-*-openjdk*/include/'
else
ompi_java_dir=$JAVA_HOME/include
fi

30
13281.patch Normal file
View file

@ -0,0 +1,30 @@
From d5c84ea4595ea1fbb5b213621e0966ebe0fd3cc9 Mon Sep 17 00:00:00 2001
From: Joseph Schuchart <joseph.schuchart@stonybrook.edu>
Date: Wed, 28 May 2025 10:11:58 -0400
Subject: [PATCH] Force alignment of opal_atomic_int128_t to be 16B
Some architectures will align 128bit integer on 8B but require 16B alignment
for 128bit CAS instructions and otherwise fall back to a lock-based
atomicity model. By forcing 16bit alignment we can ensure that the variables
are properly aligned and the fall-back is not triggered.
Thanks to Ulrich Weigand for the analysis and proposed fix in https://github.com/open-mpi/ompi/issues/10988#issuecomment-2913388506.
Signed-off-by: Joseph Schuchart <joseph.schuchart@stonybrook.edu>
---
opal/include/opal_stdatomic.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/opal/include/opal_stdatomic.h b/opal/include/opal_stdatomic.h
index 35437551208..f7dd8353d3b 100644
--- a/opal/include/opal_stdatomic.h
+++ b/opal/include/opal_stdatomic.h
@@ -72,7 +72,7 @@ typedef _Atomic opal_int128_t opal_atomic_int128_t;
# else
-typedef volatile opal_int128_t opal_atomic_int128_t;
+typedef volatile opal_int128_t opal_atomic_int128_t __opal_attribute_aligned__(16);
# endif

View file

@ -14,8 +14,6 @@ setenv MPI_FORTRAN_MOD_DIR @FMODDIR@
setenv MPI_INCLUDE @INCDIR@
setenv MPI_LIB @LIBDIR@/lib
setenv MPI_MAN @MANDIR@
setenv MPI_PYTHON_SITEARCH @PY2SITEARCH@
setenv MPI_PYTHON2_SITEARCH @PY2SITEARCH@
setenv MPI_PYTHON3_SITEARCH @PY3SITEARCH@
setenv MPI_COMPILER @COMPILER@
setenv MPI_SUFFIX @SUFFIX@

View file

@ -1 +0,0 @@
import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s))

View file

@ -5,13 +5,8 @@
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 8
%bcond_with python2
%else
%bcond_without python2
%endif
%ifarch aarch64 ppc64le x86_64
# ucx on ppc64le/power10 is broken https://github.com/openucx/ucx/issues/10780
%ifarch aarch64 x86_64
%bcond_without ucx
%else
%bcond_with ucx
@ -54,10 +49,10 @@
%bcond_without pmix
# Run autogen - needed for some patches
%bcond autogen 1
%bcond autogen 0
Name: openmpi%{?_cc_name_suffix}
Version: 5.0.6
Version: 5.0.8
Release: %autorelease
Summary: Open Message Passing Interface
# Automatically converted from old format: BSD and MIT and Romio - review is highly recommended.
@ -68,12 +63,10 @@ ExcludeArch: %{ix86}
# We can't use %%{name} here because of _cc_name_suffix
Source0: https://www.open-mpi.org/software/ompi/v5.0/downloads/openmpi-%{version}.tar.bz2
Source1: openmpi.module.in
Source2: openmpi.pth.py2
Source3: openmpi.pth.py3
Source4: macros.openmpi
# Fix JAVA_HOME search
Patch: https://github.com/open-mpi/ompi/pull/13117.patch
Patch0: https://github.com/open-mpi/ompi/pull/13281.patch
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
@ -209,17 +202,6 @@ Contains development wrapper for compiling Java with openmpi.
# particular package, version, compiler
%global namearch openmpi-%{_arch}%{?_cc_name_suffix}
%if %{with python2}
%package -n python2-openmpi
Summary: OpenMPI support for Python 2
BuildRequires: python2-devel
Requires: %{name} = %{version}-%{release}
Requires: python(abi) = %{python2_version}
%description -n python2-openmpi
OpenMPI support for Python 2.
%endif
%package -n python%{python3_pkgversion}-openmpi
Summary: OpenMPI support for Python 3
Requires: %{name} = %{version}-%{release}
@ -281,11 +263,6 @@ sed 's#@LIBDIR@#%{_libdir}/%{name}#;
s#@FMODDIR@#%{_fmoddir}/%{name}#;
s#@INCDIR@#%{_includedir}/%{namearch}#;
s#@MANDIR@#%{_mandir}/%{namearch}#;
%if %{with python2}
s#@PY2SITEARCH@#%{python2_sitearch}/%{name}#;
%else
/@PY2SITEARCH@/d;
%endif
s#@PY3SITEARCH@#%{python3_sitearch}/%{name}#;
s#@COMPILER@#openmpi-%{_arch}%{?_cc_name_suffix}#;
s#@SUFFIX@#%{?_cc_name_suffix}_openmpi#' \
@ -321,19 +298,11 @@ sed -i -e s/-ldl// -e s/-lhwloc// \
%{buildroot}%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt
# install .pth files
%if %{with python2}
mkdir -p %{buildroot}/%{python2_sitearch}/%{name}
install -pDm0644 %{SOURCE2} %{buildroot}/%{python2_sitearch}/openmpi.pth
%endif
mkdir -p %{buildroot}/%{python3_sitearch}/%{name}
install -pDm0644 %{SOURCE3} %{buildroot}/%{python3_sitearch}/openmpi.pth
%check
fail=1
# Failing on s390x - https://github.com/open-mpi/ompi/issues/10988
%ifarch s390x
fail=0
%endif
make check || ( cat test/*/test-suite.log && exit $fail )
%files
@ -436,12 +405,6 @@ make check || ( cat test/*/test-suite.log && exit $fail )
%{_mandir}/%{namearch}/man1/mpijavac.1.gz
%endif
%if %{with python2}
%files -n python2-openmpi
%dir %{python2_sitearch}/%{name}
%{python2_sitearch}/openmpi.pth
%endif
%files -n python%{python3_pkgversion}-openmpi
%dir %{python3_sitearch}/%{name}
%{python3_sitearch}/openmpi.pth

View file

@ -1 +1 @@
SHA512 (openmpi-5.0.6.tar.bz2) = 097f7bb18d506b362f16d46df308b387e3173068ba8688739db756919453e1fe947c6d8c2e098481617d8c6bbecb8990002db42f284b1732a80ef3edaaa29f20
SHA512 (openmpi-5.0.8.tar.bz2) = de9128edaa1886f90f1452b8cee3c3962d7666beed96d7b95c601278c2debc7d7efecc9403792d428ce12131ce30416d6bc6bb657fb1a5490f53c6b6e369b080