From 38e2907676245467457533cda28a06de6a0540c6290830fe03e2e9699c2d75fc Mon Sep 17 00:00:00 2001 From: Nicolas Morey-Chaisemartin Date: Fri, 16 Sep 2022 09:20:06 +0000 Subject: [PATCH 1/2] Accepting request 1004064 from home:NMoreyChaisemartin:branches:science:HPC - 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 OBS-URL: https://build.opensuse.org/request/show/1004064 OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=21 --- _service | 5 ++- ...-Add-VF-support-for-ConnectX-5-and-6.patch | 30 +++++++++++++ openmpi-4.1.4.0.ffb0adcdd6.tar.zst | 3 -- openmpi-4.1.4.0.ffb0adcdd677.tar.bz2 | 3 ++ openmpi4-rpmlintrc | 1 + openmpi4.changes | 10 +++++ openmpi4.spec | 43 ++++++++++++++++--- 7 files changed, 85 insertions(+), 10 deletions(-) create mode 100644 btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch delete mode 100644 openmpi-4.1.4.0.ffb0adcdd6.tar.zst create mode 100644 openmpi-4.1.4.0.ffb0adcdd677.tar.bz2 diff --git a/_service b/_service index f0d6155..69540ed 100644 --- a/_service +++ b/_service @@ -7,10 +7,11 @@ openmpi @PARENT_TAG@.@TAG_OFFSET@.%h v(.*) - v4.1.4 + \1 + ffb0adcdd677a02ab396145c40352f8189132b86 openmpi*.tar - zst + bz2 diff --git a/btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch b/btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch new file mode 100644 index 0000000..4d58ac9 --- /dev/null +++ b/btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch @@ -0,0 +1,30 @@ +commit 2aa208b5af683afb1ff379caca1c50d0ba10486a +Author: Nicolas Morey-Chaisemartin +Date: Tue Sep 13 15:48:03 2022 +0200 + + btl: openib: Add VF support for ConnectX 5 and 6 + + Signed-off-by: Nicolas Morey-Chaisemartin + +diff --git opal/mca/btl/openib/mca-btl-openib-device-params.ini opal/mca/btl/openib/mca-btl-openib-device-params.ini +index c46c303a35d5..9089c6dfdfbe 100644 +--- opal/mca/btl/openib/mca-btl-openib-device-params.ini ++++ opal/mca/btl/openib/mca-btl-openib-device-params.ini +@@ -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 diff --git a/openmpi-4.1.4.0.ffb0adcdd6.tar.zst b/openmpi-4.1.4.0.ffb0adcdd6.tar.zst deleted file mode 100644 index 4320194..0000000 --- a/openmpi-4.1.4.0.ffb0adcdd6.tar.zst +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e65d803fcc2831496069b411db47b6d95fd8accfba2ad69768973592cb4efe58 -size 6500275 diff --git a/openmpi-4.1.4.0.ffb0adcdd677.tar.bz2 b/openmpi-4.1.4.0.ffb0adcdd677.tar.bz2 new file mode 100644 index 0000000..df316e7 --- /dev/null +++ b/openmpi-4.1.4.0.ffb0adcdd677.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8520146236aef42a3406e1a7943f1626305465719a65fd10c4ef176019f87f91 +size 6553451 diff --git a/openmpi4-rpmlintrc b/openmpi4-rpmlintrc index 446289f..e8b2f4c 100644 --- a/openmpi4-rpmlintrc +++ b/openmpi4-rpmlintrc @@ -6,3 +6,4 @@ addFilter("openmpi.*-devel.* shared-lib-calls-exit") addFilter("openmpi.*-libs.* rpath-in-buildconfig") addFilter("openmpi.*-libs.* shared-lib-calls-exit") addFilter("openmpi.*-libs.* useless-provides") +addFilter("libopenmpi.* shlib-policy-name-error") diff --git a/openmpi4.changes b/openmpi4.changes index 74f26bf..1bbdf1d 100644 --- a/openmpi4.changes +++ b/openmpi4.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Sep 8 09:32:41 UTC 2022 - Nicolas Morey-Chaisemartin + +- 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 diff --git a/openmpi4.spec b/openmpi4.spec index be0aecc..95e92f8 100644 --- a/openmpi4.spec +++ b/openmpi4.spec @@ -117,9 +117,14 @@ ExclusiveArch: do_not_build %global hpc_openmpi_dep_version %(VER=%m_f_ver; echo -n ${VER}) %global hpc_openmpi_dir openmpi%{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 -%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 Group: Development/Libraries/Parallel URL: https://www.open-mpi.org/ -Source0: openmpi-%{version}%{git_ver}.tar.zst +Source0: openmpi-%{version}%{git_ver}.tar.bz2 Source2: openmpi4-rpmlintrc Source3: macros.hpc-openmpi Source4: mpivars.sh Source5: mpivars.csh Patch1: orted-mpir-add-version-to-shared-library.patch +Patch2: btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch Provides: mpi BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf @@ -147,10 +153,13 @@ BuildRequires: automake BuildRequires: fdupes BuildRequires: flex BuildRequires: hostname +BuildRequires: libevent-devel +BuildRequires: libfabric-devel BuildRequires: libibumad-devel BuildRequires: libibverbs-devel BuildRequires: libtool -BuildRequires: zstd +# net-tools is required to run hostname +BuildRequires: net-tools %if 0%{?testsuite} BuildArch: noarch BuildRequires: %{package_name} = %{version} @@ -161,6 +170,12 @@ BuildRequires: libucp-devel BuildRequires: libucs-devel BuildRequires: libuct-devel %endif +%if %{with hwloc} +BuildRequires: hwloc-devel +%endif +%if %{with pmix} +BuildRequires: pmix-devel +%endif %if %{without hpc} BuildRequires: Modules BuildRequires: gcc-c++ @@ -181,7 +196,6 @@ Requires: lib%{package_name} = %{version} %ifarch %{ix86} x86_64 BuildRequires: infinipath-psm-devel -BuildRequires: libfabric-devel %endif %ifarch x86_64 @@ -360,9 +374,11 @@ Summary: Runtime configuration files for openMPI %{?with_hpc:HPC} version Group: Development/Libraries/Parallel Provides: openmpi-runtime-config = %{version} Conflicts: otherproviders(openmpi-runtime-config) +%if %{without pmix} # OpenMPI4 is PMIx enabled Provides: pmix-runtime-config = %{version} Conflicts: otherproviders(pmix-runtime-config) +%endif %description -n %{pname}%{m_f_ver}-config OpenMPI is an implementation of the Message Passing Interface, a @@ -399,6 +415,7 @@ echo without HPC %endif %setup -q -n openmpi-%{version}%{git_ver} %patch1 +%patch2 %if %{without hpc} cat > %{_sourcedir}/baselibs.conf < Date: Tue, 27 Sep 2022 18:17:49 +0000 Subject: [PATCH 2/2] Accepting request 1006488 from home:NMoreyChaisemartin:branches:science:HPC - 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 OBS-URL: https://build.opensuse.org/request/show/1006488 OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=22 --- ...ib-Add-VF-support-for-ConnectX-4-5-and-6.patch | 15 ++++++++++++--- openmpi4.changes | 6 ++++++ openmpi4.spec | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) rename btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch => btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch (69%) diff --git a/btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch b/btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch similarity index 69% rename from btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch rename to btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch index 4d58ac9..cc7db16 100644 --- a/btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch +++ b/btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch @@ -1,15 +1,24 @@ -commit 2aa208b5af683afb1ff379caca1c50d0ba10486a +commit 034e90d7efb94011d7018266586588801c3afdbc Author: Nicolas Morey-Chaisemartin Date: Tue Sep 13 15:48:03 2022 +0200 - btl: openib: Add VF support for ConnectX 5 and 6 + btl: openib: Add VF support for ConnectX 4, 5 and 6 Signed-off-by: Nicolas Morey-Chaisemartin diff --git opal/mca/btl/openib/mca-btl-openib-device-params.ini opal/mca/btl/openib/mca-btl-openib-device-params.ini -index c46c303a35d5..9089c6dfdfbe 100644 +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] diff --git a/openmpi4.changes b/openmpi4.changes index 1bbdf1d..ae571cc 100644 --- a/openmpi4.changes +++ b/openmpi4.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Sep 23 10:24:16 UTC 2022 - Nicolas Morey-Chaisemartin + +- 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 diff --git a/openmpi4.spec b/openmpi4.spec index 95e92f8..2d65c94 100644 --- a/openmpi4.spec +++ b/openmpi4.spec @@ -145,7 +145,7 @@ Source3: macros.hpc-openmpi Source4: mpivars.sh Source5: mpivars.csh Patch1: orted-mpir-add-version-to-shared-library.patch -Patch2: btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch +Patch2: btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch Provides: mpi BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf