SHA256
1
0
forked from pool/openmpi4

Accepting request 1006489 from science:HPC

OBS-URL: https://build.opensuse.org/request/show/1006489
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openmpi4?expand=0&rev=8
This commit is contained in:
Richard Brown 2022-10-01 15:42:11 +00:00 committed by Git OBS Bridge
commit 33b8838509
7 changed files with 100 additions and 10 deletions

View File

@ -7,10 +7,11 @@
<param name="filename">openmpi</param> <param name="filename">openmpi</param>
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param> <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-pattern">v(.*)</param>
<param name="revision">v4.1.4</param> <param name="versionrewrite-replacement">\1</param>
<param name="revision">ffb0adcdd677a02ab396145c40352f8189132b86</param>
</service> </service>
<service name="recompress" mode="disabled"> <service name="recompress" mode="disabled">
<param name="file">openmpi*.tar</param> <param name="file">openmpi*.tar</param>
<param name="compression">zst</param> <param name="compression">bz2</param>
</service> </service>
</services> </services>

View File

@ -0,0 +1,39 @@
commit 034e90d7efb94011d7018266586588801c3afdbc
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Tue Sep 13 15:48:03 2022 +0200
btl: openib: Add VF support for ConnectX 4, 5 and 6
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git opal/mca/btl/openib/mca-btl-openib-device-params.ini opal/mca/btl/openib/mca-btl-openib-device-params.ini
index c46c303a35d5..b9949de235b8 100644
--- opal/mca/btl/openib/mca-btl-openib-device-params.ini
+++ opal/mca/btl/openib/mca-btl-openib-device-params.ini
@@ -174,7 +174,7 @@ max_inline_data = 256
[Mellanox ConnectX4]
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
-vendor_part_id = 4115,4117
+vendor_part_id = 4115,4116,4117,4118
use_eager_rdma = 1
mtu = 4096
max_inline_data = 256
@@ -183,7 +183,7 @@ max_inline_data = 256
[Mellanox ConnectX5]
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
-vendor_part_id = 4119,4121
+vendor_part_id = 4119,4120,4121,4122
use_eager_rdma = 1
mtu = 4096
max_inline_data = 256
@@ -192,7 +192,7 @@ max_inline_data = 256
[Mellanox ConnectX6]
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
-vendor_part_id = 4123
+vendor_part_id = 4123,4124
use_eager_rdma = 1
mtu = 4096
max_inline_data = 256

View File

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

View File

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

View File

@ -6,3 +6,4 @@ addFilter("openmpi.*-devel.* shared-lib-calls-exit")
addFilter("openmpi.*-libs.* rpath-in-buildconfig") addFilter("openmpi.*-libs.* rpath-in-buildconfig")
addFilter("openmpi.*-libs.* shared-lib-calls-exit") addFilter("openmpi.*-libs.* shared-lib-calls-exit")
addFilter("openmpi.*-libs.* useless-provides") addFilter("openmpi.*-libs.* useless-provides")
addFilter("libopenmpi.* shlib-policy-name-error")

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Fri Sep 23 10:24:16 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Replace btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch
by btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch to add ConnectX4 VF suppor
-------------------------------------------------------------------
Thu Sep 8 09:32:41 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Enable libfabric on all arch
- Switch to external libevent for all flavors
- Switch to external hwloc and PMIx for HPC builds
- Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages
- Add patch btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch to support
ConnectX 5 and 6 VF
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Aug 3 08:18:34 UTC 2022 - Dirk Müller <dmueller@suse.com> Wed Aug 3 08:18:34 UTC 2022 - Dirk Müller <dmueller@suse.com>

View File

@ -117,9 +117,14 @@ ExclusiveArch: do_not_build
%global hpc_openmpi_dep_version %(VER=%m_f_ver; echo -n ${VER}) %global hpc_openmpi_dep_version %(VER=%m_f_ver; echo -n ${VER})
%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version} %global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}
%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version} %global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}
%{bcond_without pmix}
%{bcond_without hwloc}
%else
%{bcond_with pmix}
%{bcond_with hwloc}
%endif %endif
%define git_ver .0.ffb0adcdd6 %define git_ver .0.ffb0adcdd677
############################################################################# #############################################################################
# #
@ -134,12 +139,13 @@ Summary: An implementation of MPI/SHMEM (Version %{m_f_ver})
License: BSD-3-Clause License: BSD-3-Clause
Group: Development/Libraries/Parallel Group: Development/Libraries/Parallel
URL: https://www.open-mpi.org/ URL: https://www.open-mpi.org/
Source0: openmpi-%{version}%{git_ver}.tar.zst Source0: openmpi-%{version}%{git_ver}.tar.bz2
Source2: openmpi4-rpmlintrc Source2: openmpi4-rpmlintrc
Source3: macros.hpc-openmpi Source3: macros.hpc-openmpi
Source4: mpivars.sh Source4: mpivars.sh
Source5: mpivars.csh Source5: mpivars.csh
Patch1: orted-mpir-add-version-to-shared-library.patch Patch1: orted-mpir-add-version-to-shared-library.patch
Patch2: btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
Provides: mpi Provides: mpi
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf BuildRequires: autoconf
@ -147,10 +153,13 @@ BuildRequires: automake
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: flex BuildRequires: flex
BuildRequires: hostname BuildRequires: hostname
BuildRequires: libevent-devel
BuildRequires: libfabric-devel
BuildRequires: libibumad-devel BuildRequires: libibumad-devel
BuildRequires: libibverbs-devel BuildRequires: libibverbs-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: zstd # net-tools is required to run hostname
BuildRequires: net-tools
%if 0%{?testsuite} %if 0%{?testsuite}
BuildArch: noarch BuildArch: noarch
BuildRequires: %{package_name} = %{version} BuildRequires: %{package_name} = %{version}
@ -161,6 +170,12 @@ BuildRequires: libucp-devel
BuildRequires: libucs-devel BuildRequires: libucs-devel
BuildRequires: libuct-devel BuildRequires: libuct-devel
%endif %endif
%if %{with hwloc}
BuildRequires: hwloc-devel
%endif
%if %{with pmix}
BuildRequires: pmix-devel
%endif
%if %{without hpc} %if %{without hpc}
BuildRequires: Modules BuildRequires: Modules
BuildRequires: gcc-c++ BuildRequires: gcc-c++
@ -181,7 +196,6 @@ Requires: lib%{package_name} = %{version}
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
BuildRequires: infinipath-psm-devel BuildRequires: infinipath-psm-devel
BuildRequires: libfabric-devel
%endif %endif
%ifarch x86_64 %ifarch x86_64
@ -360,9 +374,11 @@ Summary: Runtime configuration files for openMPI %{?with_hpc:HPC} version
Group: Development/Libraries/Parallel Group: Development/Libraries/Parallel
Provides: openmpi-runtime-config = %{version} Provides: openmpi-runtime-config = %{version}
Conflicts: otherproviders(openmpi-runtime-config) Conflicts: otherproviders(openmpi-runtime-config)
%if %{without pmix}
# OpenMPI4 is PMIx enabled # OpenMPI4 is PMIx enabled
Provides: pmix-runtime-config = %{version} Provides: pmix-runtime-config = %{version}
Conflicts: otherproviders(pmix-runtime-config) Conflicts: otherproviders(pmix-runtime-config)
%endif
%description -n %{pname}%{m_f_ver}-config %description -n %{pname}%{m_f_ver}-config
OpenMPI is an implementation of the Message Passing Interface, a OpenMPI is an implementation of the Message Passing Interface, a
@ -399,6 +415,7 @@ echo without HPC
%endif %endif
%setup -q -n openmpi-%{version}%{git_ver} %setup -q -n openmpi-%{version}%{git_ver}
%patch1 %patch1
%patch2
%if %{without hpc} %if %{without hpc}
cat > %{_sourcedir}/baselibs.conf <<EOF cat > %{_sourcedir}/baselibs.conf <<EOF
@ -442,9 +459,17 @@ export HOSTNAME=OBS
--enable-builtin-atomics \ --enable-builtin-atomics \
--with-libltdl=%{_prefix} \ --with-libltdl=%{_prefix} \
--with-verbs \ --with-verbs \
--with-libfabric \
--enable-mpi-thread-multiple \ --enable-mpi-thread-multiple \
--disable-wrapper-rpath \ --disable-wrapper-rpath \
--with-slurm \ --with-slurm \
--with-libevent=external \
%if %{with hwloc}
--with-hwloc=external \
%endif
%if %{with pmix}
--with-pmix=external \
%endif
%if 0%{?with_ucx} %if 0%{?with_ucx}
--with-ucx \ --with-ucx \
--with-ucx-libdir=/usr/%_lib \ --with-ucx-libdir=/usr/%_lib \
@ -595,8 +620,10 @@ cp %{S:3} %{buildroot}%{_rpmmacrodir}
rm -f %{buildroot}%{_sysconfdir}/openmpi-default-hostfile rm -f %{buildroot}%{_sysconfdir}/openmpi-default-hostfile
rm -f %{buildroot}%{_sysconfdir}/openmpi-mca-params.conf rm -f %{buildroot}%{_sysconfdir}/openmpi-mca-params.conf
rm -f %{buildroot}%{_sysconfdir}/openmpi-totalview.tcl rm -f %{buildroot}%{_sysconfdir}/openmpi-totalview.tcl
%if %{without pmix}
rm -f %{buildroot}%{_sysconfdir}/pmix-mca-params.conf rm -f %{buildroot}%{_sysconfdir}/pmix-mca-params.conf
%endif %endif
%endif
%if %{without hpc} %if %{without hpc}
%post %post
@ -678,8 +705,10 @@ fi
%{mpi_datadir}/openmpi/mca-btl-openib-device-params.ini %{mpi_datadir}/openmpi/mca-btl-openib-device-params.ini
%{mpi_datadir}/openmpi/*-data.txt %{mpi_datadir}/openmpi/*-data.txt
%{mpi_datadir}/openmpi/help-*.txt %{mpi_datadir}/openmpi/help-*.txt
%if %{without pmix}
%dir %{mpi_datadir}/pmix %dir %{mpi_datadir}/pmix
%{mpi_datadir}/pmix/help-*.txt %{mpi_datadir}/pmix/help-*.txt
%endif
%files %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}} %files %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
%defattr(-,root,root) %defattr(-,root,root)
@ -687,7 +716,7 @@ fi
%dir %mpi_libdir/ %dir %mpi_libdir/
%mpi_libdir/*.so.* %mpi_libdir/*.so.*
%{mpi_libdir}/openmpi/*.so %{mpi_libdir}/openmpi/*.so
%if 0%{!?build_static_devel:1} %if %{without pmix}
%dir %mpi_libdir/pmix/ %dir %mpi_libdir/pmix/
%{mpi_libdir}/pmix/*.so %{mpi_libdir}/pmix/*.so
%endif %endif
@ -727,7 +756,9 @@ fi
%{mpi_bindir}/shmemfort %{mpi_bindir}/shmemfort
%endif %endif
%{mpi_datadir}/openmpi/openmpi-valgrind.supp %{mpi_datadir}/openmpi/openmpi-valgrind.supp
%if %{without pmix}
%{mpi_datadir}/pmix/pmix-valgrind.supp %{mpi_datadir}/pmix/pmix-valgrind.supp
%endif
%files docs %files docs
%defattr(-, root, root, -) %defattr(-, root, root, -)
@ -754,7 +785,9 @@ fi
%files -n %{pname}%{m_f_ver}-config %files -n %{pname}%{m_f_ver}-config
%config %{_sysconfdir}/openmpi-default-hostfile %config %{_sysconfdir}/openmpi-default-hostfile
%config %{_sysconfdir}/openmpi-mca-params.conf %config %{_sysconfdir}/openmpi-mca-params.conf
%if %{without pmix}
%config %{_sysconfdir}/pmix-mca-params.conf %config %{_sysconfdir}/pmix-mca-params.conf
%endif
%{_sysconfdir}/openmpi-totalview.tcl %{_sysconfdir}/openmpi-totalview.tcl
%endif %endif