Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
763c280f76 | ||
|
|
9057815884 | ||
|
|
26bf738df2 | ||
|
|
1c0666add8 |
7 changed files with 37 additions and 69 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -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
|
||||
|
|
|
|||
23
13117.patch
23
13117.patch
|
|
@ -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
30
13281.patch
Normal 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
|
||||
|
||||
|
|
@ -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@
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s))
|
||||
47
openmpi.spec
47
openmpi.spec
|
|
@ -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
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (openmpi-5.0.6.tar.bz2) = 097f7bb18d506b362f16d46df308b387e3173068ba8688739db756919453e1fe947c6d8c2e098481617d8c6bbecb8990002db42f284b1732a80ef3edaaa29f20
|
||||
SHA512 (openmpi-5.0.8.tar.bz2) = de9128edaa1886f90f1452b8cee3c3962d7666beed96d7b95c601278c2debc7d7efecc9403792d428ce12131ce30416d6bc6bb657fb1a5490f53c6b6e369b080
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue