From a72656ca1d2c338dbeb40ee586ee9088b292baf5 Mon Sep 17 00:00:00 2001 From: Melissa Quinnan Date: Fri, 25 Apr 2025 18:03:34 +0200 Subject: [PATCH 01/34] Update axo to v5.0.1 --- AXOL1TL.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AXOL1TL.spec b/AXOL1TL.spec index 2456007f422..db529cc1163 100644 --- a/AXOL1TL.spec +++ b/AXOL1TL.spec @@ -1,4 +1,4 @@ -### RPM external AXOL1TL 5.0.0 +### RPM external AXOL1TL 5.0.1 Source: https://github.com/cms-hls4ml/%{n}/archive/refs/tags/v%{realversion}.tar.gz Requires: hls4mlEmulatorExtras hls BuildRequires: gmake From 1a384332c56847c34034f641b7fef14260164cd8 Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Mon, 28 Apr 2025 16:26:34 +0200 Subject: [PATCH 02/34] Added cmssw-el10 appratiner wrapper script --- cmssw-osenv.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmssw-osenv.spec b/cmssw-osenv.spec index 88b0335a594..ce685489df8 100644 --- a/cmssw-osenv.spec +++ b/cmssw-osenv.spec @@ -1,10 +1,10 @@ -### RPM cms cmssw-osenv 241219.0 +### RPM cms cmssw-osenv 250428.0 ## NOCOMPILER ## NO_VERSION_SUFFIX # ***Do not change minor number of the above version. *** -%define commit 14c3e364557bdb5474f485a84798d0575d2043da +%define commit d3ebe2f441c80b46d06c6cebb4dbdcbebe98d0b7 %define branch master # We do not use a revision explicitly, because revisioned packages do not get # updated automatically when there are dependencies. From e235807ff981c39e94bdec9ffe42cffa2516237c Mon Sep 17 00:00:00 2001 From: Shahzad Malik Muzaffar Date: Mon, 28 Apr 2025 15:16:53 +0200 Subject: [PATCH 03/34] [el10] various fixes/cleanup to avoid el10 errors/warnings --- git.spec | 6 +++--- java-env.spec | 12 ++++++------ meschach.spec | 4 ++-- pip/cms-tfaot.file | 2 +- rivet.spec | 1 - rpm-preamble.file | 23 ++++++++++++++++++++++- tensorflow-xla-runtime.spec | 2 +- tinyxml2.spec | 2 +- xrdcl-record.spec | 2 +- 9 files changed, 37 insertions(+), 17 deletions(-) diff --git a/git.spec b/git.spec index 4975e721c3d..c8177add61f 100644 --- a/git.spec +++ b/git.spec @@ -1,4 +1,4 @@ -### RPM external git 2.47.1 +### RPM external git 2.49.0 ## INITENV +PATH PATH %{i}/bin ## INITENV +PATH PATH %{i}/libexec/git-core ## INITENV SET GIT_TEMPLATE_DIR %{i}/share/git-core/templates @@ -6,7 +6,7 @@ ## INITENV SET GIT_EXEC_PATH %{i}/libexec/git-core Source0: https://github.com/git/git/archive/v%{realversion}.tar.gz -Source1: https://raw.github.com/curl/curl/curl-8_11_1/scripts/mk-ca-bundle.pl +Source1: https://raw.githubusercontent.com/curl/curl/eeed87f0563d3ca73ff53813418d1f9f03c81fe5/scripts/mk-ca-bundle.pl Patch1: git-2.19.0-runtime Requires: curl expat zlib pcre2 python3 @@ -45,7 +45,7 @@ mkdir ./ca-bundle pushd ./ca-bundle cp %{SOURCE1} ./mk-ca-bundle.pl chmod +x ./mk-ca-bundle.pl -./mk-ca-bundle.pl +./mk-ca-bundle.pl -k popd %install diff --git a/java-env.spec b/java-env.spec index 75e3f1ee949..c89cddc38e1 100644 --- a/java-env.spec +++ b/java-env.spec @@ -1,19 +1,19 @@ -### RPM external java-env 11_17 +### RPM external java-env 17_21 ## INITENV SET JAVA_HOME %{java_home} ## INITENV +PATH PATH %{java_home}/bin ## INITENV +PATH LD_LIBRARY_PATH %{java_home}/lib ## NOCOMPILER -#For RHEL: Use java 11 for el7 and java 17 for el8 and above +#For RHEL: Use java 17 for el8/el9 and 21 for above #Nor non RHEL e.g FC: use default system java %define java_home /usr/lib/jvm/java %if 0%{?rhel:1} -%if %{?rhel} < 8 -%define java_home /usr/lib/jvm/java-11 -%endif -%if %{?rhel} > 7 +%if 0%{rhel} <= 10 %define java_home /usr/lib/jvm/java-17 %endif +%if 0%{?rhel} > 10 +%define java_home /usr/lib/jvm/java-21 +%endif %endif Source: none diff --git a/meschach.spec b/meschach.spec index eca3aa13b57..6e420368379 100644 --- a/meschach.spec +++ b/meschach.spec @@ -1,6 +1,6 @@ ### RPM external meschach 1.2.pCMS1 Source: http://www.math.uiowa.edu/~dstewart/meschach/mesch12b.tar.gz -Patch: meschach-1.2-slc4 +Patch0: meschach-1.2-slc4 Patch1: meschach-1.2b-fPIC Patch2: meschach-1.2b-parallel-build @@ -8,7 +8,7 @@ Patch2: meschach-1.2b-parallel-build %prep %setup -c -n meschach-1.2 -a 0 -%patch -p0 +%patch0 -p0 %patch1 -p0 %patch2 -p1 diff --git a/pip/cms-tfaot.file b/pip/cms-tfaot.file index 6cb919e1905..f69ff3dd7c8 100644 --- a/pip/cms-tfaot.file +++ b/pip/cms-tfaot.file @@ -9,4 +9,4 @@ Requires: py3-PyYAML py3-cmsml # copy test models %define PipPostInstall \ mkdir -p %{i}/share; \ - cp -r cmsdist-tmp/pip-req-build-*/test_models %{i}/share/ + cp -r %{pkgbuilddir}/pip-req-build-*/test_models %{i}/share/ diff --git a/rivet.spec b/rivet.spec index 1100a09e08e..40906a9aba9 100644 --- a/rivet.spec +++ b/rivet.spec @@ -12,7 +12,6 @@ Requires: hepmc3 fastjet fastjet-contrib yoda hdf5 highfive onnxruntime BuildRequires: python3 py3-cython autotools %prep -## OLD GENSER: %setup -n rivet/%{realversion} %setup -n %{n}-%{realversion} %patch0 -p1 %patch1 -p1 diff --git a/rpm-preamble.file b/rpm-preamble.file index f7e516099fe..a2b2e1b7bcc 100644 --- a/rpm-preamble.file +++ b/rpm-preamble.file @@ -12,6 +12,26 @@ %define _source_payload w9.gzdio %define _binary_payload w9.gzdio +%if "%{?rpmversion:set}" == "set" +%define rpm_major_version %(echo %{rpmversion} | cut -d. -f1) +%define rpm_minor_version %(echo %{rpmversion} | cut -d. -f1) +%if %{rpm_major_version} >= 4 +%if %{rpm_minor_version} > 19 +#Disable use of unshare plugin +%_build_use_unshare 0 +#Avoid: warning: private mounts in chroot not implemented +%_build_use_chroot_private_mounts 0 +%endif +%endif +%endif + +#Disable setting of Compilation flags +%if 0%{?_build_flags:1} +%undefine _build_flags +%endif +%if 0%{?set_build_flags:1} +%global set_build_flags : +%endif #disable running find-debuginfo.sh %define debug_package %{nil} @@ -87,6 +107,7 @@ %endif %define pkginstroot %{instroot}/%{pkgrel} +%define pkgbuilddir %{cmsroot}/BUILD/%{cmsplatf}/%{pkgdir} %define _sourcedir %{cmsroot}/SOURCES/%{pkgdir} %define _builddir %{cmsroot}/BUILD/%{cmsplatf}/%{pkgdir} @@ -320,7 +341,7 @@ fi %if "%{?cms_debug_packages:set}" == "set" %define is_debug_build() %(if echo %{cms_debug_packages} | tr , '\\n' | grep -q '^%{1}$' ; then echo 1 ; else echo 0; fi) %else -%define is_debug_build 0 +%define is_debug_build() 0 %endif %if %{is_debug_build %{pkgname}} diff --git a/tensorflow-xla-runtime.spec b/tensorflow-xla-runtime.spec index fa3f783e6a4..997a492dfb6 100644 --- a/tensorflow-xla-runtime.spec +++ b/tensorflow-xla-runtime.spec @@ -13,7 +13,7 @@ BuildRequires: cmake %prep cp -r ${PY3_TENSORFLOW_ROOT}/lib/python%{cms_python3_major_minor_version}/site-packages/tensorflow . -%patch -p0 +%patch0 -p0 %build diff --git a/tinyxml2.spec b/tinyxml2.spec index 0b2d930667e..b6e652d3264 100644 --- a/tinyxml2.spec +++ b/tinyxml2.spec @@ -4,7 +4,7 @@ Source: https://github.com/leethomason/%{n}/archive/%{realversion}.tar.gz BuildRequires: gmake cmake %prep -%setup -n %setup -q -n %{n}-%{realversion} +%setup -q -n %{n}-%{realversion} %build rm -rf ../build; mkdir ../build ; cd ../build diff --git a/xrdcl-record.spec b/xrdcl-record.spec index 3dafac5590c..5987aeca7f8 100644 --- a/xrdcl-record.spec +++ b/xrdcl-record.spec @@ -5,7 +5,7 @@ BuildRequires: gmake cmake Requires: xrootd %prep -%setup -n %setup -q -n %{n}-%{realversion} +%setup -n -q -n %{n}-%{realversion} %build rm -rf ../build; mkdir ../build ; cd ../build From 1d80685c68b0caff79e519cc811e430394655597 Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Mon, 28 Apr 2025 16:14:00 +0200 Subject: [PATCH 04/34] Update cms-tfaot.file --- pip/cms-tfaot.file | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pip/cms-tfaot.file b/pip/cms-tfaot.file index f69ff3dd7c8..cf48db5f5ca 100644 --- a/pip/cms-tfaot.file +++ b/pip/cms-tfaot.file @@ -9,4 +9,4 @@ Requires: py3-PyYAML py3-cmsml # copy test models %define PipPostInstall \ mkdir -p %{i}/share; \ - cp -r %{pkgbuilddir}/pip-req-build-*/test_models %{i}/share/ + cp -r %{pkgbuilddir}/cmsdist-tmp/pip-req-build-*/test_models %{i}/share/ From a8b5ed758883d3b0f01cffdef42d8ff6cacdb597 Mon Sep 17 00:00:00 2001 From: Markus Seidel Date: Wed, 23 Apr 2025 15:37:41 +0200 Subject: [PATCH 05/34] fastjet-contrib 1.101 --- fastjet-contrib.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fastjet-contrib.spec b/fastjet-contrib.spec index 4b7a53b9b43..5d94c1eb129 100644 --- a/fastjet-contrib.spec +++ b/fastjet-contrib.spec @@ -1,5 +1,5 @@ -### RPM external fastjet-contrib 1.051 -%define tag aa1972cd2b3e8aa2c76764f14122e8f728c23712 +### RPM external fastjet-contrib 1.101 +%define tag 9bd5b79e0667b6f9769d1c7755320c55fc0e4595 %define branch cms/v%{realversion} %define github_user cms-externals Source: git+https://github.com/%github_user/%{n}.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}.tgz From ab532a765494d1b8ac87f3166d001c51f7055fef Mon Sep 17 00:00:00 2001 From: Christopher Brown Date: Mon, 7 Apr 2025 16:55:43 +0200 Subject: [PATCH 06/34] Create L1TSC4NGJetModel.spec --- L1TSC4NGJetModel.spec | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 L1TSC4NGJetModel.spec diff --git a/L1TSC4NGJetModel.spec b/L1TSC4NGJetModel.spec new file mode 100644 index 00000000000..78eb9753d6b --- /dev/null +++ b/L1TSC4NGJetModel.spec @@ -0,0 +1,13 @@ +### RPM external L1TSC4NGJetModel 0.0.0 +Source: https://github.com/cms-hls4ml/%{n}/archive/refs/tags/v%{realversion}.tar.gz +Requires: hls4mlEmulatorExtras hls +BuildRequires: gmake + +%prep +%setup -n %{n}-%{realversion} + +%build +make %{makeprocesses} EMULATOR_EXTRAS=${HLS4MLEMULATOREXTRAS_ROOT} HLS_ROOT=${HLS_ROOT} + +%install +make PREFIX=%{i} install From e5b706c5a88f98cf6fa17cb167a3a86670343609 Mon Sep 17 00:00:00 2001 From: Christopher Brown Date: Mon, 7 Apr 2025 16:59:02 +0200 Subject: [PATCH 07/34] Add L1TSC4NGJetModel to spec --- cmssw-tools.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmssw-tools.spec b/cmssw-tools.spec index c7315086051..2933b7ccf87 100644 --- a/cmssw-tools.spec +++ b/cmssw-tools.spec @@ -1,4 +1,4 @@ -### RPM cms cmssw-tools 2.0 +### RPM cms cmssw-tools 3.0 # With cmsBuild, change the above version only when a new tool is added ## INSTALL_DEPENDENCIES cmsLHEtoEOSManager gcc-fixincludes cms-cat cmssw-osenv cms-git-tools SCRAMV2 @@ -57,6 +57,7 @@ Requires: jemalloc-prof Requires: json Requires: ktjet Requires: L1METML +Requires: L1TSC4NGJetModel Requires: lhapdf Requires: libjpeg-turbo Requires: libpng From 5080a0e855141c81afb5aa3452640ec5c7f33770 Mon Sep 17 00:00:00 2001 From: Christopher Brown Date: Mon, 7 Apr 2025 17:03:33 +0200 Subject: [PATCH 08/34] add l1tsc4ngjetmodel xml --- .../tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 scram-tools.file/tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml diff --git a/scram-tools.file/tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml b/scram-tools.file/tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml new file mode 100644 index 00000000000..7fc6c039b9f --- /dev/null +++ b/scram-tools.file/tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml @@ -0,0 +1,6 @@ + + + + + + From 9cded70831e2b88598794bb11e90a5e04293508d Mon Sep 17 00:00:00 2001 From: Christopher Brown Date: Mon, 7 Apr 2025 18:35:23 +0200 Subject: [PATCH 09/34] xml fixes --- .../tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scram-tools.file/tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml b/scram-tools.file/tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml index 7fc6c039b9f..e43fa8408de 100644 --- a/scram-tools.file/tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml +++ b/scram-tools.file/tools/L1TSC4NGJetModel/l1tsc4ngjetmodel.xml @@ -1,6 +1,6 @@ - + - - + + From af2695ec0b9bb366cbc1193cb21c766b1c9ae39a Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Thu, 1 May 2025 12:30:17 +0200 Subject: [PATCH 10/34] Update fastjet-contrib.spec --- fastjet-contrib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastjet-contrib.spec b/fastjet-contrib.spec index 5d94c1eb129..2d296bb76cc 100644 --- a/fastjet-contrib.spec +++ b/fastjet-contrib.spec @@ -1,5 +1,5 @@ ### RPM external fastjet-contrib 1.101 -%define tag 9bd5b79e0667b6f9769d1c7755320c55fc0e4595 +%define tag 079bab22b9d4852c6a2f868b86a559f3f871f648 %define branch cms/v%{realversion} %define github_user cms-externals Source: git+https://github.com/%github_user/%{n}.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}.tgz From e2b72cbe2b63d95f1c6889c150c0123228dab614 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Wed, 30 Apr 2025 20:18:06 +0200 Subject: [PATCH 11/34] libunwind update to current head of master, enable per thread cache --- libunwind.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libunwind.spec b/libunwind.spec index a43584a2cfc..c46fba140ea 100644 --- a/libunwind.spec +++ b/libunwind.spec @@ -1,5 +1,5 @@ ### RPM external libunwind 1.8.1-master -%define tag f081cf42917bdd5c428b77850b473f31f81767cf +%define tag 3415127dba35d596ef1c80ae91b6e522000cfcdc %define branch master Source0: git://github.com/%{n}/%{n}.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz @@ -14,7 +14,7 @@ autoreconf -fiv ./configure CFLAGS="-g -O3 -fcommon" \ CPPFLAGS="-I${ZLIB_ROOT}/include -I${XZ_ROOT}/include" \ LDFLAGS="-L${ZLIB_ROOT}/lib -L${XZ_ROOT}/lib" \ - --prefix=%{i} --disable-block-signals --enable-zlibdebuginfo --disable-per-thread-cache + --prefix=%{i} --disable-block-signals --enable-zlibdebuginfo make %{makeprocesses} %install From 7b61eec39ea98072ed9320a2ff5d442e01b99064 Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Sat, 3 May 2025 13:04:27 +0200 Subject: [PATCH 12/34] Revert "libunwind: update to current head of master, enable per thread cache" --- libunwind.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libunwind.spec b/libunwind.spec index c46fba140ea..a43584a2cfc 100644 --- a/libunwind.spec +++ b/libunwind.spec @@ -1,5 +1,5 @@ ### RPM external libunwind 1.8.1-master -%define tag 3415127dba35d596ef1c80ae91b6e522000cfcdc +%define tag f081cf42917bdd5c428b77850b473f31f81767cf %define branch master Source0: git://github.com/%{n}/%{n}.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz @@ -14,7 +14,7 @@ autoreconf -fiv ./configure CFLAGS="-g -O3 -fcommon" \ CPPFLAGS="-I${ZLIB_ROOT}/include -I${XZ_ROOT}/include" \ LDFLAGS="-L${ZLIB_ROOT}/lib -L${XZ_ROOT}/lib" \ - --prefix=%{i} --disable-block-signals --enable-zlibdebuginfo + --prefix=%{i} --disable-block-signals --enable-zlibdebuginfo --disable-per-thread-cache make %{makeprocesses} %install From 7388316eb8885ea2ea89dc1256c6950d459470f0 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Wed, 30 Apr 2025 19:25:05 +0200 Subject: [PATCH 13/34] Update CUDA to version 12.8.1 --- cuda.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cuda.spec b/cuda.spec index 646c7be66d6..e22c3f3dcd1 100644 --- a/cuda.spec +++ b/cuda.spec @@ -1,8 +1,8 @@ -### RPM external cuda 12.8.0 +### RPM external cuda 12.8.1 ## INITENV +PATH LD_LIBRARY_PATH %i/lib64 %define runpath_opts -m compute-sanitizer -m drivers -m nvvm -%define driversversion 570.86.10 +%define driversversion 570.124.06 %ifarch x86_64 Source0: https://developer.download.nvidia.com/compute/cuda/%{realversion}/local_installers/%{n}_%{realversion}_%{driversversion}_linux.run From 947684f7b32bf0628e7c24d57ce4e1e94bfb3987 Mon Sep 17 00:00:00 2001 From: cmsbuild Date: Mon, 5 May 2025 22:35:38 +0200 Subject: [PATCH 14/34] Update tag for RecoBTag-Combined to V01-30-00 --- data/cmsswdata.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/cmsswdata.txt b/data/cmsswdata.txt index 990f401edc6..224695569fe 100644 --- a/data/cmsswdata.txt +++ b/data/cmsswdata.txt @@ -9,7 +9,7 @@ RecoMuon-TrackerSeedGenerator=V00-07-00 DQM-Integration=V00-09-00 Geometry-HGCalMapping=V00-01-00 RecoTracker-MkFit=V00-16-00 -RecoBTag-Combined=V01-29-00 +RecoBTag-Combined=V01-30-00 RecoEgamma-PhotonIdentification=V01-08-00 PhysicsTools-NanoAOD=V01-06-00 Validation-HGCalValidation=V00-09-00 From 856990a470d697c6e0de1ad76c351b9b20898e3a Mon Sep 17 00:00:00 2001 From: Stefano Belforte Date: Tue, 6 May 2025 11:25:06 +0200 Subject: [PATCH 15/34] Update crab-dev.spec --- crab-dev.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crab-dev.spec b/crab-dev.spec index d30927776ad..401fab4b12c 100644 --- a/crab-dev.spec +++ b/crab-dev.spec @@ -3,8 +3,8 @@ #For any other change, increment version_suffix ########################################## %define version_suffix 00 -%define crabclient_version v3.250409 +%define crabclient_version v3.250505 ### RPM cms crab-dev %{crabclient_version}.%{version_suffix} -%define crabserver_version v3.250401 +%define crabserver_version v3.250424 ## IMPORT crab-build From be830ddb4bb2f747ce38adeaae3c705542abc6b2 Mon Sep 17 00:00:00 2001 From: Shahzad Malik Muzaffar Date: Wed, 7 May 2025 15:33:43 +0200 Subject: [PATCH 16/34] Cleanup cuda tools to avoid creation of cuda/lib64 links under cmssw/external --- scram-tools.file/tools/cuda/cuda-interface.xml | 13 +++++++++++++ scram-tools.file/tools/cuda/cuda-stubs.xml | 4 ++-- scram-tools.file/tools/cuda/cuda.xml | 8 ++------ scram-tools.file/tools/cuda/cupti.xml | 8 ++------ scram-tools.file/tools/cuda/env.sh | 1 + scram-tools.file/tools/cuda/nvperf.xml | 8 ++------ 6 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 scram-tools.file/tools/cuda/cuda-interface.xml create mode 100644 scram-tools.file/tools/cuda/env.sh diff --git a/scram-tools.file/tools/cuda/cuda-interface.xml b/scram-tools.file/tools/cuda/cuda-interface.xml new file mode 100644 index 00000000000..a263f67b816 --- /dev/null +++ b/scram-tools.file/tools/cuda/cuda-interface.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/scram-tools.file/tools/cuda/cuda-stubs.xml b/scram-tools.file/tools/cuda/cuda-stubs.xml index b02446bd716..24627d7461e 100644 --- a/scram-tools.file/tools/cuda/cuda-stubs.xml +++ b/scram-tools.file/tools/cuda/cuda-stubs.xml @@ -1,10 +1,10 @@ - + + - diff --git a/scram-tools.file/tools/cuda/cuda.xml b/scram-tools.file/tools/cuda/cuda.xml index 92d0c18eb60..1c2581a3571 100644 --- a/scram-tools.file/tools/cuda/cuda.xml +++ b/scram-tools.file/tools/cuda/cuda.xml @@ -1,15 +1,13 @@ - + + - - - @@ -22,6 +20,4 @@ %endif %endif - - diff --git a/scram-tools.file/tools/cuda/cupti.xml b/scram-tools.file/tools/cuda/cupti.xml index 22bf53dec91..aba6656dbaf 100644 --- a/scram-tools.file/tools/cuda/cupti.xml +++ b/scram-tools.file/tools/cuda/cupti.xml @@ -1,9 +1,5 @@ - + - - - - - + diff --git a/scram-tools.file/tools/cuda/env.sh b/scram-tools.file/tools/cuda/env.sh new file mode 100644 index 00000000000..8b34c4656f1 --- /dev/null +++ b/scram-tools.file/tools/cuda/env.sh @@ -0,0 +1 @@ +source ${SCRAM_TOOLS_BIN_DIR}/os_libdir.sh diff --git a/scram-tools.file/tools/cuda/nvperf.xml b/scram-tools.file/tools/cuda/nvperf.xml index d58ec1162ee..28dca921acd 100644 --- a/scram-tools.file/tools/cuda/nvperf.xml +++ b/scram-tools.file/tools/cuda/nvperf.xml @@ -1,10 +1,6 @@ - + - - - - - + From 462b1ce7e0681a835e092fef5015818a502d9074 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Wed, 30 Apr 2025 07:49:28 +0200 Subject: [PATCH 17/34] ROCm: add ROCr headers, remove debuginfo files --- rocm.spec | 70 ++++++++++++++++++++----------------------------------- 1 file changed, 25 insertions(+), 45 deletions(-) diff --git a/rocm.spec b/rocm.spec index d26ac00bcc7..d7cef488b70 100644 --- a/rocm.spec +++ b/rocm.spec @@ -23,43 +23,33 @@ %define rocprofiler_register_pkg rocprofiler-register-%{rocprofiler_register_tag} Source0: https://%{repository}/%{repoversion}/main/amd-smi-lib-24.7.1.60302-66.el%{rhel}.%{_arch}.rpm -Source1: https://%{repository}/%{repoversion}/main/amd-smi-lib-debuginfo-24.7.1.60302-66.el%{rhel}.%{_arch}.rpm -Source2: https://%{repository}/%{repoversion}/main/comgr-2.8.0.60302-66.el%{rhel}.%{_arch}.rpm -Source3: https://%{repository}/%{repoversion}/main/comgr-debuginfo-2.8.0.60302-66.el%{rhel}.%{_arch}.rpm -Source4: https://%{repository}/%{repoversion}/main/hip-devel-6.3.42134.60302-66.el%{rhel}.%{_arch}.rpm -Source5: https://%{repository}/%{repoversion}/main/hip-runtime-amd-6.3.42134.60302-66.el%{rhel}.%{_arch}.rpm -Source6: https://%{repository}/%{repoversion}/main/hip-runtime-amd-debuginfo-6.3.42134.60302-66.el%{rhel}.%{_arch}.rpm -Source7: https://%{repository}/%{repoversion}/main/hipcc-1.1.1.60302-66.el%{rhel}.%{_arch}.rpm -Source8: https://%{repository}/%{repoversion}/main/hipcc-debuginfo-1.1.1.60302-66.el%{rhel}.%{_arch}.rpm -Source9: https://%{repository}/%{repoversion}/main/hsa-rocr-1.14.0.60302-66.el%{rhel}.%{_arch}.rpm -Source10: https://%{repository}/%{repoversion}/main/hsa-rocr-debuginfo-1.14.0.60302-66.el%{rhel}.%{_arch}.rpm -Source11: https://%{repository}/%{repoversion}/main/openmp-extras-devel-18.63.0.60302-66.el%{rhel}.%{_arch}.rpm -Source12: https://%{repository}/%{repoversion}/main/openmp-extras-runtime-18.63.0.60302-66.el%{rhel}.%{_arch}.rpm -Source13: https://%{repository}/%{repoversion}/main/rocm-core-6.3.2.60302-66.el%{rhel}.%{_arch}.rpm -Source14: https://%{repository}/%{repoversion}/main/rocm-dbgapi-0.77.0.60302-66.el%{rhel}.%{_arch}.rpm -Source15: https://%{repository}/%{repoversion}/main/rocm-dbgapi-debuginfo-0.77.0.60302-66.el%{rhel}.%{_arch}.rpm -Source16: https://%{repository}/%{repoversion}/main/rocm-device-libs-1.0.0.60302-66.el%{rhel}.%{_arch}.rpm -Source17: https://%{repository}/%{repoversion}/main/rocm-llvm-18.0.0.25012.60302-66.el%{rhel}.%{_arch}.rpm -Source18: https://%{repository}/%{repoversion}/main/rocm-smi-lib-7.4.0.60302-66.el%{rhel}.%{_arch}.rpm -Source19: https://%{repository}/%{repoversion}/main/rocm-smi-lib-debuginfo-7.4.0.60302-66.el%{rhel}.%{_arch}.rpm -Source20: https://%{repository}/%{repoversion}/main/rocminfo-1.0.0.60302-66.el%{rhel}.%{_arch}.rpm -Source21: https://%{repository}/%{repoversion}/main/rocminfo-debuginfo-1.0.0.60302-66.el%{rhel}.%{_arch}.rpm -Source22: https://%{repository}/%{repoversion}/main/rocprim-devel-3.3.0.60302-66.el%{rhel}.%{_arch}.rpm -Source23: https://%{repository}/%{repoversion}/main/rocprofiler-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm -Source24: https://%{repository}/%{repoversion}/main/rocprofiler-compute-3.0.0.60302-66.el%{rhel}.%{_arch}.rpm -Source25: https://%{repository}/%{repoversion}/main/rocprofiler-debuginfo-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm -Source26: https://%{repository}/%{repoversion}/main/rocprofiler-devel-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm -Source27: https://%{repository}/%{repoversion}/main/rocprofiler-docs-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm -Source28: https://%{repository}/%{repoversion}/main/rocprofiler-plugins-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm -Source29: https://%{repository}/%{repoversion}/main/rocprofiler-plugins-debuginfo-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm -Source30: https://%{repository}/%{repoversion}/main/rocprofiler-register-0.4.0.60302-66.el%{rhel}.%{_arch}.rpm -Source31: https://%{repository}/%{repoversion}/main/rocprofiler-systems-0.1.1.60302-66.el%{rhel}.%{_arch}.rpm -Source32: https://%{repository}/%{repoversion}/main/rocprofiler-systems-debuginfo-0.1.1.60302-66.el%{rhel}.%{_arch}.rpm -Source33: https://%{repository}/%{repoversion}/main/rocthrust-devel-3.3.0.60302-66.el%{rhel}.%{_arch}.rpm +Source1: https://%{repository}/%{repoversion}/main/comgr-2.8.0.60302-66.el%{rhel}.%{_arch}.rpm +Source2: https://%{repository}/%{repoversion}/main/hip-devel-6.3.42134.60302-66.el%{rhel}.%{_arch}.rpm +Source3: https://%{repository}/%{repoversion}/main/hip-runtime-amd-6.3.42134.60302-66.el%{rhel}.%{_arch}.rpm +Source4: https://%{repository}/%{repoversion}/main/hipcc-1.1.1.60302-66.el%{rhel}.%{_arch}.rpm +Source5: https://%{repository}/%{repoversion}/main/hsa-rocr-1.14.0.60302-66.el%{rhel}.%{_arch}.rpm +Source6: https://%{repository}/%{repoversion}/main/hsa-rocr-devel-1.14.0.60302-66.el%{rhel}.%{_arch}.rpm +Source7: https://%{repository}/%{repoversion}/main/openmp-extras-devel-18.63.0.60302-66.el%{rhel}.%{_arch}.rpm +Source8: https://%{repository}/%{repoversion}/main/openmp-extras-runtime-18.63.0.60302-66.el%{rhel}.%{_arch}.rpm +Source9: https://%{repository}/%{repoversion}/main/rocm-core-6.3.2.60302-66.el%{rhel}.%{_arch}.rpm +Source10: https://%{repository}/%{repoversion}/main/rocm-dbgapi-0.77.0.60302-66.el%{rhel}.%{_arch}.rpm +Source11: https://%{repository}/%{repoversion}/main/rocm-device-libs-1.0.0.60302-66.el%{rhel}.%{_arch}.rpm +Source12: https://%{repository}/%{repoversion}/main/rocm-llvm-18.0.0.25012.60302-66.el%{rhel}.%{_arch}.rpm +Source13: https://%{repository}/%{repoversion}/main/rocm-smi-lib-7.4.0.60302-66.el%{rhel}.%{_arch}.rpm +Source14: https://%{repository}/%{repoversion}/main/rocminfo-1.0.0.60302-66.el%{rhel}.%{_arch}.rpm +Source15: https://%{repository}/%{repoversion}/main/rocprim-devel-3.3.0.60302-66.el%{rhel}.%{_arch}.rpm +Source16: https://%{repository}/%{repoversion}/main/rocprofiler-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm +Source17: https://%{repository}/%{repoversion}/main/rocprofiler-compute-3.0.0.60302-66.el%{rhel}.%{_arch}.rpm +Source18: https://%{repository}/%{repoversion}/main/rocprofiler-devel-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm +Source19: https://%{repository}/%{repoversion}/main/rocprofiler-docs-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm +Source20: https://%{repository}/%{repoversion}/main/rocprofiler-plugins-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm +Source21: https://%{repository}/%{repoversion}/main/rocprofiler-register-0.4.0.60302-66.el%{rhel}.%{_arch}.rpm +Source22: https://%{repository}/%{repoversion}/main/rocprofiler-systems-0.1.1.60302-66.el%{rhel}.%{_arch}.rpm +Source23: https://%{repository}/%{repoversion}/main/rocthrust-devel-3.3.0.60302-66.el%{rhel}.%{_arch}.rpm # sources for rocprofiler-register -Source34: git+https://github.com/ROCm/rocprofiler-register.git?obj=%{rocprofiler_register_branch}/%{rocprofiler_register_tag}&export=%{rocprofiler_register_pkg}&submodules=1&output=/%{rocprofiler_register_pkg}.tgz +Source24: git+https://github.com/ROCm/rocprofiler-register.git?obj=%{rocprofiler_register_branch}/%{rocprofiler_register_tag}&export=%{rocprofiler_register_pkg}&submodules=1&output=/%{rocprofiler_register_pkg}.tgz BuildRequires: gmake cmake Requires: numactl zstd fmt @@ -70,7 +60,7 @@ AutoReq: no # unpack rocprofiler-register mkdir src -tar xavf %{SOURCE34} -C src +tar xavf %{SOURCE24} -C src %build rpm2cpio %{SOURCE0} | cpio -idmv @@ -97,16 +87,6 @@ rpm2cpio %{SOURCE20} | cpio -idmv rpm2cpio %{SOURCE21} | cpio -idmv rpm2cpio %{SOURCE22} | cpio -idmv rpm2cpio %{SOURCE23} | cpio -idmv -rpm2cpio %{SOURCE24} | cpio -idmv -rpm2cpio %{SOURCE25} | cpio -idmv -rpm2cpio %{SOURCE26} | cpio -idmv -rpm2cpio %{SOURCE27} | cpio -idmv -rpm2cpio %{SOURCE28} | cpio -idmv -rpm2cpio %{SOURCE29} | cpio -idmv -rpm2cpio %{SOURCE30} | cpio -idmv -rpm2cpio %{SOURCE31} | cpio -idmv -rpm2cpio %{SOURCE32} | cpio -idmv -rpm2cpio %{SOURCE33} | cpio -idmv # build rocprofiler-register sed -i -e 's|add_subdirectory(external)|find_package(fmt REQUIRED)\nadd_subdirectory(external)|' src/%{rocprofiler_register_pkg}/CMakeLists.txt From 806af154aca37cc7846ffe9591898df081f19471 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Wed, 30 Apr 2025 10:23:49 +0200 Subject: [PATCH 18/34] Update RDMA Core Userspace Libraries to version 57.0 --- rdma-core.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdma-core.spec b/rdma-core.spec index 1b9ab95d01f..b4c93d66615 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -1,4 +1,4 @@ -### RPM external rdma-core 50.0 +### RPM external rdma-core 57.0 ## INITENV +PATH LD_LIBRARY_PATH %{i}/lib64 Source: https://github.com/linux-rdma/%{n}/releases/download/v%{realversion}/rdma-core-%{realversion}.tar.gz From 230cc911f7934917bd450158e1935171e551a99c Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Wed, 30 Apr 2025 10:24:42 +0200 Subject: [PATCH 19/34] RDMA Core: make libibverbs plugins relocatable Allow overriding the libibverbs configuration directory setting the environment variable VERBS_CONFIG_DIR. Set VERBS_CONFIG_DIR in the scram tool to point to the libibverbs configuration directory. Include the libibverbs configuration directory in the package. Update the libibverbs configuration to include the full path to the plugins, and relocate them in the post-install section. Include the user binaries in the package. --- rdma-core-VERBS_CONFIG_DIR.patch | 42 +++++++++++++++++++ rdma-core.spec | 19 +++++++-- .../tools/rdma-core/rdma-core.xml | 2 + 3 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 rdma-core-VERBS_CONFIG_DIR.patch diff --git a/rdma-core-VERBS_CONFIG_DIR.patch b/rdma-core-VERBS_CONFIG_DIR.patch new file mode 100644 index 00000000000..13bc3294780 --- /dev/null +++ b/rdma-core-VERBS_CONFIG_DIR.patch @@ -0,0 +1,42 @@ +diff --git a/libibverbs/dynamic_driver.c b/libibverbs/dynamic_driver.c +index 7fa4233..c2ff2bb 100644 +--- a/libibverbs/dynamic_driver.c ++++ b/libibverbs/dynamic_driver.c +@@ -115,27 +115,33 @@ static void read_config_file(const char *path) + + static void read_config(void) + { ++ char *verbs_config_dir; + DIR *conf_dir; + struct dirent *dent; + char *path; + +- conf_dir = opendir(IBV_CONFIG_DIR); ++ verbs_config_dir = getenv("VERBS_CONFIG_DIR"); ++ if (!verbs_config_dir) { ++ verbs_config_dir = IBV_CONFIG_DIR; ++ } ++ ++ conf_dir = opendir(verbs_config_dir); + if (!conf_dir) { + fprintf(stderr, + PFX "Warning: couldn't open config directory '%s'.\n", +- IBV_CONFIG_DIR); ++ verbs_config_dir); + return; + } + + while ((dent = readdir(conf_dir))) { + struct stat buf; + +- if (asprintf(&path, "%s/%s", IBV_CONFIG_DIR, dent->d_name) < ++ if (asprintf(&path, "%s/%s", verbs_config_dir, dent->d_name) < + 0) { + fprintf(stderr, + PFX + "Warning: couldn't read config file %s/%s.\n", +- IBV_CONFIG_DIR, dent->d_name); ++ verbs_config_dir, dent->d_name); + goto out; + } + diff --git a/rdma-core.spec b/rdma-core.spec index b4c93d66615..857d8516747 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -2,10 +2,12 @@ ## INITENV +PATH LD_LIBRARY_PATH %{i}/lib64 Source: https://github.com/linux-rdma/%{n}/releases/download/v%{realversion}/rdma-core-%{realversion}.tar.gz +Patch: rdma-core-VERBS_CONFIG_DIR BuildRequires: cmake ninja %prep %setup -q -n %{n}-%{realversion} +%patch -p1 %build rm -rf build @@ -33,10 +35,19 @@ ninja -v %{makeprocesses} install # remove pkg-config to avoid rpm-generated dependency on /usr/bin/pkg-config rm -rf %{i}/lib64/pkgconfig -# keep only the libraries and include files -rm -rf %{i}/bin -rm -rf %{i}/etc +# keep only the user binaries, libibverbs configuration, libraries and include files +rm -rf %{i}/etc/infiniband-diags +rm -rf %{i}/etc/init.d +rm -rf %{i}/etc/modprobe.d +rm -rf %{i}/etc/rdma rm -rf %{i}/lib rm -rf %{i}/libexec rm -rf %{i}/sbin -rm -rf %{i}/share +rm -rf %{i}/share/perl5 + +# update the libibverbs plugins with the full path +sed -e's#driver \(\w\+\)#driver %{i}/lib64/libibverbs/lib\1#' -i %{i}/etc/libibverbs.d/* + +%post +# relocate the libibverbs plugins path +%{relocateConfig}etc/libibverbs.d/* diff --git a/scram-tools.file/tools/rdma-core/rdma-core.xml b/scram-tools.file/tools/rdma-core/rdma-core.xml index 1eb305ffddc..8f2167c08b1 100644 --- a/scram-tools.file/tools/rdma-core/rdma-core.xml +++ b/scram-tools.file/tools/rdma-core/rdma-core.xml @@ -5,5 +5,7 @@ + + From 59e2c84c28a23483e0e6752d68ebe2d610c8638b Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Wed, 30 Apr 2025 07:50:59 +0200 Subject: [PATCH 20/34] Add Libfabric OpenFabrics version 2.1.0 Libfabric, also known as Open Fabrics Interfaces (OFI), defines a communication API for high-performance parallel and distributed applications. It is a low-level communication library that abstracts diverse networking technologies. See https://ofiwg.github.io/libfabric/ for more information. --- cmssw-tools.spec | 1 + libfabric.spec | 79 +++++++++++++++++++ .../tools/libfabric/libfabric.xml | 8 ++ 3 files changed, 88 insertions(+) create mode 100644 libfabric.spec create mode 100644 scram-tools.file/tools/libfabric/libfabric.xml diff --git a/cmssw-tools.spec b/cmssw-tools.spec index 2933b7ccf87..294e69c14ff 100644 --- a/cmssw-tools.spec +++ b/cmssw-tools.spec @@ -78,6 +78,7 @@ Requires: numactl Requires: hwloc Requires: rdma-core Requires: ucx +Requires: libfabric Requires: openmpi Requires: sigcpp Requires: sqlite diff --git a/libfabric.spec b/libfabric.spec new file mode 100644 index 00000000000..83cf31a6c09 --- /dev/null +++ b/libfabric.spec @@ -0,0 +1,79 @@ +### RPM external libfabric 2.1.0 +Source: https://github.com/ofiwg/%{n}/releases/download/v%{realversion}/%{n}-%{realversion}.tar.bz2 +%{!?without_cuda:Requires: cuda gdrcopy} +%{!?without_rocm:Requires: rocm} +Requires: curl +Requires: numactl +Requires: rdma-core +Requires: xpmem + +%prep +%setup -q -n %{n}-%{realversion} + +# regenerate the configure files and Makefiles +./autogen.sh + +./configure \ + --prefix=%i \ + --disable-dependency-tracking \ + --disable-debug \ + --disable-profile \ + --disable-asan \ + --disable-lsan \ + --disable-tsan \ + --disable-ubsan \ + --enable-shared \ + --disable-static \ + --enable-shm \ + --enable-sm2 \ + --enable-xpmem=$XPMEM_ROOT \ + --disable-sockets \ + --enable-tcp \ + --enable-udp \ + --enable-verbs=$RDMA_CORE_ROOT \ + --disable-opx \ + --disable-psm2 \ + --disable-psm3 \ + --disable-usnic \ + --disable-efa \ + --disable-cxi \ + --disable-mrail \ + --disable-lpp \ + --disable-ucx \ + --enable-rxm \ + --enable-lnx \ +%if 0%{!?without_cuda:1} + --enable-cuda-dlopen \ + --enable-gdrcopy-dlopen \ + --with-cuda=$CUDA_ROOT \ + --with-gdrcopy=$GDRCOPY_ROOT \ +%else + --disable-cuda-dlopen \ + --disable-gdrcopy-dlopen \ + --without-cuda \ + --without-gdrcopy \ +%endif +%if 0%{!?without_rocm:1} + --enable-rocr-dlopen \ + --with-rocr=$ROCM_ROOT \ +%else + --disable-rocr-dlopen \ + --without-rocr \ +%endif + --disable-ze-dlopen \ + --without-ze \ + --with-pic \ + --with-dlopen \ + --with-gnu-ld \ + --with-curl=DIR \ + --with-numa=$NUMACTL_ROOT + + # CFLAGS="-Wno-error=array-bounds" + +%build +make %{makeprocesses} + +%install +make install + +%post diff --git a/scram-tools.file/tools/libfabric/libfabric.xml b/scram-tools.file/tools/libfabric/libfabric.xml new file mode 100644 index 00000000000..a33cf8bafdf --- /dev/null +++ b/scram-tools.file/tools/libfabric/libfabric.xml @@ -0,0 +1,8 @@ + + + + + + + + From 9019b25261244d684a58655faf218c16000ade58 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Wed, 30 Apr 2025 08:10:24 +0200 Subject: [PATCH 21/34] Update UCX to version 1.18.1 --- ucx.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ucx.spec b/ucx.spec index 7aa91bfe09d..e40593ae397 100644 --- a/ucx.spec +++ b/ucx.spec @@ -1,4 +1,4 @@ -### RPM external ucx 1.17.0 +### RPM external ucx 1.18.1 Source: https://github.com/openucx/%{n}/archive/refs/tags/v%{realversion}.tar.gz BuildRequires: autotools %{!?without_cuda:Requires: cuda gdrcopy} From f37457e1f1890da3e2e0c0b7d6b06fc0a899e814 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Tue, 29 Apr 2025 23:16:25 +0200 Subject: [PATCH 22/34] Update OpenMPI to version 4.1.8 This is a bug fix release. See the NEWS file at https://raw.githubusercontent.com/open-mpi/ompi/v4.1.x/NEWS for the list of fixes and other changes. --- openmpi.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmpi.spec b/openmpi.spec index 3b50f15f7d0..14cfddc12dd 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -1,4 +1,4 @@ -### RPM external openmpi 4.1.6 +### RPM external openmpi 4.1.8 ## INITENV SET OPAL_PREFIX %{i} Source: https://download.open-mpi.org/release/open-mpi/v4.1/%{n}-%{realversion}.tar.bz2 BuildRequires: autotools From eecc023592932987feb12190ec45b671a822ceef Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Wed, 30 Apr 2025 07:55:08 +0200 Subject: [PATCH 23/34] OpenMPI: enable support for libfabric OFI --- openmpi.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index 14cfddc12dd..e5db706c797 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -3,6 +3,7 @@ Source: https://download.open-mpi.org/release/open-mpi/v4.1/%{n}-%{realversion}.tar.bz2 BuildRequires: autotools %{!?without_cuda:Requires: cuda} +Requires: libfabric Requires: hwloc Requires: rdma-core Requires: xpmem @@ -10,7 +11,6 @@ Requires: ucx Requires: zlib # external libraries are needed for additional protocols: -# --with-ofi: Open Fabric Interface's libfabric # --with-mxm: Mellanox Messaging (depracated, use UCX instead) # --with-fca: Mellanox Fabric Collective Accelerator # --with-hcoll: Mellanox Hierarchical Collectives @@ -33,7 +33,7 @@ Requires: zlib --with-zlib=$ZLIB_ROOT \ %{!?without_cuda:--with-cuda=$CUDA_ROOT} \ --with-hwloc=$HWLOC_ROOT \ - --without-ofi \ + --with-ofi=$LIBFABRIC_ROOT \ --without-portals4 \ --without-psm \ --without-psm2 \ From b78ae724c837a407267eda150f81831c3ffcf756 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Thu, 8 May 2025 13:39:17 +0200 Subject: [PATCH 24/34] OpenMPI: update to the v4.1.x branch as of 2025.05.5 --- openmpi.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/openmpi.spec b/openmpi.spec index e5db706c797..b4088881403 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -1,7 +1,9 @@ -### RPM external openmpi 4.1.8 +### RPM external openmpi 4.1.x-20250505 ## INITENV SET OPAL_PREFIX %{i} -Source: https://download.open-mpi.org/release/open-mpi/v4.1/%{n}-%{realversion}.tar.bz2 -BuildRequires: autotools +%define branch v4.1.x +%define tag e6d2cb856f3fc649aa01bd5b688a003b3b33db7d +Source: git+https://github.com/open-mpi/ompi.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}.tgz +BuildRequires: autotools flex %{!?without_cuda:Requires: cuda} Requires: libfabric Requires: hwloc @@ -20,6 +22,8 @@ Requires: zlib %prep %setup -q -n %{n}-%{realversion} +AUTOMAKE_JOBS=%{compiling_processes} ./autogen.pl + ./configure \ --prefix=%i \ --disable-dependency-tracking \ From 11058094fffaa786637f589176fc9fcfce83058c Mon Sep 17 00:00:00 2001 From: Shahzad Malik Muzaffar Date: Fri, 9 May 2025 09:59:26 +0200 Subject: [PATCH 25/34] Updated root to tip of branch v6-32-00-patches --- root.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/root.spec b/root.spec index 5573d0103da..3a3c9ec3d15 100644 --- a/root.spec +++ b/root.spec @@ -3,8 +3,8 @@ ## INITENV SET ROOTSYS %{i} ## INCLUDE compilation_flags ## INCLUDE cpp-standard -%define tag bc5deb7f913ec345b68409037cf6ca83cf221554 -%define branch cms/master/ba7619b979 +%define tag 4e50d5412e654c757fe78cb5475b30363541951a +%define branch cms/v6-32-00-patches/4467b6916f %define github_user cms-sw Source: git+https://github.com/%{github_user}/root.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz From 19de73c3d78f94e764fe64a16389c8f37c7dfc3b Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Mon, 12 May 2025 08:40:00 +0200 Subject: [PATCH 26/34] SCRAMV1: fix typo in scramfatal message --- SCRAMV1.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SCRAMV1.spec b/SCRAMV1.spec index 8849ec06ea1..459e01c9c27 100644 --- a/SCRAMV1.spec +++ b/SCRAMV1.spec @@ -1,8 +1,8 @@ -### RPM lcg SCRAMV1 V3_00_81 +### RPM lcg SCRAMV1 V3_00_82 ## NOCOMPILER ## NO_VERSION_SUFFIX -%define tag 15e35540e5d65d9eec5a0b817bccac8b1f9fe9f9 +%define tag 42f160f7f045b0d57710d47fea3446862dfb3662 %define branch SCRAMV3 %define github_user cms-sw Source: git+https://github.com/%{github_user}/SCRAM.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz From bdfe5ca594efc0066836ebf21b6f48174c0fc05b Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Mon, 12 May 2025 08:42:19 +0200 Subject: [PATCH 27/34] Update SCRAMV1.spec --- SCRAMV1.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SCRAMV1.spec b/SCRAMV1.spec index 459e01c9c27..b87e9911466 100644 --- a/SCRAMV1.spec +++ b/SCRAMV1.spec @@ -2,7 +2,7 @@ ## NOCOMPILER ## NO_VERSION_SUFFIX -%define tag 42f160f7f045b0d57710d47fea3446862dfb3662 +%define tag 7b4455f33cbf875bc8a618844a6e4fca84245104 %define branch SCRAMV3 %define github_user cms-sw Source: git+https://github.com/%{github_user}/SCRAM.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz From dddb71630648934fc7eedc1d7ab0fb49e1439440 Mon Sep 17 00:00:00 2001 From: cmsbuild Date: Mon, 12 May 2025 16:51:39 +0200 Subject: [PATCH 28/34] Update tag for L1Trigger-L1TCalorimeter to V01-05-00 --- data/cmsswdata.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/cmsswdata.txt b/data/cmsswdata.txt index 224695569fe..43bfa7840d2 100644 --- a/data/cmsswdata.txt +++ b/data/cmsswdata.txt @@ -38,7 +38,7 @@ DataFormats-DetId=V00-02-00 RecoTracker-TkSeedGenerator=V00-03-00 DataFormats-SiStripCluster=V00-02-00 L1Trigger-L1THGCal=V01-08-00 -L1Trigger-L1TCalorimeter=V01-04-00 +L1Trigger-L1TCalorimeter=V01-05-00 L1Trigger-TrackTrigger=V00-03-00 Geometry-TestReference=V00-17-00 DQM-HcalTasks=V00-01-00 From 62890eb29e4f1a1622af60a761f36a4e76db89f5 Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Tue, 13 May 2025 00:20:16 +0200 Subject: [PATCH 29/34] ittnotify: Avoid build errors for aarch64/gcc14 --- ittnotify.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ittnotify.spec b/ittnotify.spec index 4959d0f15eb..9c4fff0a5e9 100644 --- a/ittnotify.spec +++ b/ittnotify.spec @@ -8,7 +8,10 @@ BuildRequires: cmake %setup -q -n IntelSEAPI-%{realversion} %build -cmake -DCMAKE_INSTALL_PREFIX="%{i}" -DARCH_64=1 ittnotify +#-Wno-implicit-function-declaration: avoid build errors for el8_aarch64_gcc14 +cmake -DCMAKE_INSTALL_PREFIX="%{i}" -DARCH_64=1 \ + -DCMAKE_C_FLAGS="-Wno-implicit-function-declaration" \ + ittnotify make %{makeprocesses} VERBOSE=1 all From 68c0dae55421c6015455dcc3a34ceae6f1b310c3 Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Wed, 14 May 2025 09:05:52 +0200 Subject: [PATCH 30/34] BuildRule: fix checkdeps for alpaka backends --- scram-project-build.file | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scram-project-build.file b/scram-project-build.file index 12b66cee06e..924360a70f2 100644 --- a/scram-project-build.file +++ b/scram-project-build.file @@ -51,7 +51,7 @@ BuildRequires: dwz %endif %if "%{?configtag:set}" != "set" -%define configtag V09-07-07 +%define configtag V09-08-05 %endif %if "%{?buildarch:set}" != "set" From 22262e88c8bff8b193fe60c77f932e2df91a9da7 Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Wed, 30 Apr 2025 07:49:28 +0200 Subject: [PATCH 31/34] ROCm: include more libraries in the ROCm package Include more libraries and tools in the ROCm package: - hipCUB - RCCL Merge hipRAND/rocRAND back into the base ROCm tool. --- cmssw-tools.spec | 2 +- fwlite-tools.spec | 2 +- rocm-rocrand.spec | 34 ------------------- rocm.spec | 21 +++++++++--- .../tools/rocm-rocrand/rocm-rocrand.xml | 14 -------- scram-tools.file/tools/rocm/rocm-rccl.xml | 5 +++ scram-tools.file/tools/rocm/rocm-rocrand.xml | 6 ++++ 7 files changed, 30 insertions(+), 54 deletions(-) delete mode 100644 rocm-rocrand.spec delete mode 100644 scram-tools.file/tools/rocm-rocrand/rocm-rocrand.xml create mode 100644 scram-tools.file/tools/rocm/rocm-rccl.xml create mode 100644 scram-tools.file/tools/rocm/rocm-rocrand.xml diff --git a/cmssw-tools.spec b/cmssw-tools.spec index 294e69c14ff..6784d03ab07 100644 --- a/cmssw-tools.spec +++ b/cmssw-tools.spec @@ -174,7 +174,7 @@ Requires: icc Requires: icx Requires: intel-vtune Requires: ruff -%{!?without_rocm:Requires: rocm rocm-rocrand} +%{!?without_rocm:Requires: rocm} Requires: cmsmon-tools Requires: dip %else diff --git a/fwlite-tools.spec b/fwlite-tools.spec index afffbc5a513..216e981a5bb 100644 --- a/fwlite-tools.spec +++ b/fwlite-tools.spec @@ -3,7 +3,7 @@ # tool is added ## INITENV SET CMSSW_TOOL_CONF_ROOT $FWLITE_TOOL_CONF_ROOT -%{!?without_rocm:Requires: rocm rocm-rocrand} +%{!?without_rocm:Requires: rocm} %{!?without_cuda:Requires: cuda cuda-compatible-runtime} Requires: alpaka diff --git a/rocm-rocrand.spec b/rocm-rocrand.spec deleted file mode 100644 index d152fe63460..00000000000 --- a/rocm-rocrand.spec +++ /dev/null @@ -1,34 +0,0 @@ -### RPM external rocm-rocrand 6.2.4 -## NOCOMPILER - -%if 0%{?rhel} == 7 -# allow rpm2cpio dependency on the bootstrap bundle -%undefine drop_bootstrap_lib -%define drop_bootstrap_lib true -%define repository repo.radeon.com/rocm/yum -%else -%define repository repo.radeon.com/rocm/rhel%{rhel} -%endif - -# AMD repositories are numbered 6.1, 6.1.1, 6.1.2, ..., 6.2 -# without any .0 in the directory name -%define repoversion %(echo %{realversion} | sed -e's/\.0$//') - -Source0: https://%{repository}/%{repoversion}/main/rocrand-3.1.1.60204-139.el%{rhel}.%{_arch}.rpm -Source1: https://%{repository}/%{repoversion}/main/rocrand-devel-3.1.1.60204-139.el%{rhel}.%{_arch}.rpm -Requires: rocm -AutoReq: no - -%prep - -%build -rpm2cpio %{SOURCE0} | cpio -idmv -rpm2cpio %{SOURCE1} | cpio -idmv - -%install -rmdir %{i} -mv opt/rocm-%{realversion} %{i} -rm -rf opt -rm -rf usr - -%post diff --git a/rocm.spec b/rocm.spec index d7cef488b70..dcd203f1bda 100644 --- a/rocm.spec +++ b/rocm.spec @@ -45,11 +45,17 @@ Source19: https://%{repository}/%{repoversion}/main/rocprofiler-docs-2.0.60302.6 Source20: https://%{repository}/%{repoversion}/main/rocprofiler-plugins-2.0.60302.60302-66.el%{rhel}.%{_arch}.rpm Source21: https://%{repository}/%{repoversion}/main/rocprofiler-register-0.4.0.60302-66.el%{rhel}.%{_arch}.rpm Source22: https://%{repository}/%{repoversion}/main/rocprofiler-systems-0.1.1.60302-66.el%{rhel}.%{_arch}.rpm -Source23: https://%{repository}/%{repoversion}/main/rocthrust-devel-3.3.0.60302-66.el%{rhel}.%{_arch}.rpm - +Source23: https://%{repository}/%{repoversion}/main/hipcub-devel-3.3.0.60302-66.el%{rhel}.%{_arch}.rpm +Source24: https://%{repository}/%{repoversion}/main/rocthrust-devel-3.3.0.60302-66.el%{rhel}.%{_arch}.rpm +Source25: https://%{repository}/%{repoversion}/main/hiprand-2.11.1.60302-66.el%{rhel}.%{_arch}.rpm +Source26: https://%{repository}/%{repoversion}/main/hiprand-devel-2.11.1.60302-66.el%{rhel}.%{_arch}.rpm +Source27: https://%{repository}/%{repoversion}/main/rocrand-3.2.0.60302-66.el%{rhel}.%{_arch}.rpm +Source28: https://%{repository}/%{repoversion}/main/rocrand-devel-3.2.0.60302-66.el%{rhel}.%{_arch}.rpm +Source29: https://%{repository}/%{repoversion}/main/rccl-2.21.5.60302-66.el%{rhel}.%{_arch}.rpm +Source30: https://%{repository}/%{repoversion}/main/rccl-devel-2.21.5.60302-66.el%{rhel}.%{_arch}.rpm # sources for rocprofiler-register -Source24: git+https://github.com/ROCm/rocprofiler-register.git?obj=%{rocprofiler_register_branch}/%{rocprofiler_register_tag}&export=%{rocprofiler_register_pkg}&submodules=1&output=/%{rocprofiler_register_pkg}.tgz +Source99: git+https://github.com/ROCm/rocprofiler-register.git?obj=%{rocprofiler_register_branch}/%{rocprofiler_register_tag}&export=%{rocprofiler_register_pkg}&submodules=1&output=/%{rocprofiler_register_pkg}.tgz BuildRequires: gmake cmake Requires: numactl zstd fmt @@ -60,7 +66,7 @@ AutoReq: no # unpack rocprofiler-register mkdir src -tar xavf %{SOURCE24} -C src +tar xavf %{SOURCE99} -C src %build rpm2cpio %{SOURCE0} | cpio -idmv @@ -87,6 +93,13 @@ rpm2cpio %{SOURCE20} | cpio -idmv rpm2cpio %{SOURCE21} | cpio -idmv rpm2cpio %{SOURCE22} | cpio -idmv rpm2cpio %{SOURCE23} | cpio -idmv +rpm2cpio %{SOURCE24} | cpio -idmv +rpm2cpio %{SOURCE25} | cpio -idmv +rpm2cpio %{SOURCE26} | cpio -idmv +rpm2cpio %{SOURCE27} | cpio -idmv +rpm2cpio %{SOURCE28} | cpio -idmv +rpm2cpio %{SOURCE29} | cpio -idmv +rpm2cpio %{SOURCE30} | cpio -idmv # build rocprofiler-register sed -i -e 's|add_subdirectory(external)|find_package(fmt REQUIRED)\nadd_subdirectory(external)|' src/%{rocprofiler_register_pkg}/CMakeLists.txt diff --git a/scram-tools.file/tools/rocm-rocrand/rocm-rocrand.xml b/scram-tools.file/tools/rocm-rocrand/rocm-rocrand.xml deleted file mode 100644 index 90f03f5451c..00000000000 --- a/scram-tools.file/tools/rocm-rocrand/rocm-rocrand.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/scram-tools.file/tools/rocm/rocm-rccl.xml b/scram-tools.file/tools/rocm/rocm-rccl.xml new file mode 100644 index 00000000000..a8dd9ca4909 --- /dev/null +++ b/scram-tools.file/tools/rocm/rocm-rccl.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/scram-tools.file/tools/rocm/rocm-rocrand.xml b/scram-tools.file/tools/rocm/rocm-rocrand.xml new file mode 100644 index 00000000000..0dc371077d1 --- /dev/null +++ b/scram-tools.file/tools/rocm/rocm-rocrand.xml @@ -0,0 +1,6 @@ + + + + + + From fc3df8c9b25820dc9c92909782be15f5728cfc9e Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Fri, 9 May 2025 18:14:56 +0200 Subject: [PATCH 32/34] ROCm: make ROCm targets available to other externals --- rocm-flags.file | 11 +++++++++++ scram-tools.file/tool-env.file | 1 + scram-tools.file/tools/rocm/rocm.xml | 11 +++-------- toolflags.file | 1 + 4 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 rocm-flags.file diff --git a/rocm-flags.file b/rocm-flags.file new file mode 100644 index 00000000000..2ee4788b47b --- /dev/null +++ b/rocm-flags.file @@ -0,0 +1,11 @@ +### FILE rocm-flags +# define the ROCm compilation flags in a way that can be shared by SCRAM-based and regular tools + +# build support for Instinct MI100 (gfx908), Instinct MI210/MI250X (gfx90a), Instinct MI300X (gfx942), Radeon Pro W6800 (gfx1030), Radeon Pro W7800/W7900 (gfx1100), and Radeon Pro W7600 (gfx1102) +%define rocm_archs gfx908:sramecc+:xnack- gfx90a:sramecc+:xnack- gfx942:sramecc+:xnack- gfx1030 gfx1100 gfx1102 + +# LLVM/hipcc style for listing the supported ROCm compute architectures +%define hipcc_flags_rocm_archs %(echo $(for ARCH in %rocm_archs; do echo "--offload-arch=$ARCH"; done)) + +# all ROCm flags +%define rocm_flags %{hipcc_flags_rocm_archs} diff --git a/scram-tools.file/tool-env.file b/scram-tools.file/tool-env.file index 575db77b7ae..1bde44f7360 100644 --- a/scram-tools.file/tool-env.file +++ b/scram-tools.file/tool-env.file @@ -13,6 +13,7 @@ export COMPILER_WARNINGS="%{?warning_flags}" export ORACLE_ENV_ROOT="" export CUDA_FLAGS="%{nvcc_cuda_flags}" export CUDA_HOST_CXXFLAGS="%{nvcc_flags_stdcxx}" +export ROCM_FLAGS="%{rocm_flags}" export LTO_FLAGS="%{?lto_build_flags}" export PGO_FLAGS="%{?pgo_build_flags}" if [ $(echo ' %requiredtools ' | grep ' python3 ' |wc -l) -gt 0 ] ; then export PYTHON3_LIB_SITE_PACKAGES ; fi diff --git a/scram-tools.file/tools/rocm/rocm.xml b/scram-tools.file/tools/rocm/rocm.xml index 067d4f75f04..d464d42d711 100644 --- a/scram-tools.file/tools/rocm/rocm.xml +++ b/scram-tools.file/tools/rocm/rocm.xml @@ -1,5 +1,5 @@ - - + + @@ -11,12 +11,7 @@ - - - - - - + %if "%{default_microarch_name}" %if "%{default_microarch_name}" != "%{min_microarch_name}" diff --git a/toolflags.file b/toolflags.file index 338d0f0ff37..e2866b16ad4 100644 --- a/toolflags.file +++ b/toolflags.file @@ -1,6 +1,7 @@ ## INCLUDE compilation_flags ## INCLUDE compilation_flags_lto ## INCLUDE cuda-flags +## INCLUDE rocm-flags ## INCLUDE cpp-standard ## INCLUDE warning-flags ## INCLUDE vecgeom-opt From a9867dcc13f3e71c5d75614b7bd0acd4f5c222cf Mon Sep 17 00:00:00 2001 From: Andrea Bocci Date: Sun, 11 May 2025 22:11:46 +0200 Subject: [PATCH 33/34] ROCm: enable unified memory on Instinct GPUs --- rocm-flags.file | 2 +- scram-tools.file/tools/rocm/rocm.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/rocm-flags.file b/rocm-flags.file index 2ee4788b47b..0c6ba9c8960 100644 --- a/rocm-flags.file +++ b/rocm-flags.file @@ -2,7 +2,7 @@ # define the ROCm compilation flags in a way that can be shared by SCRAM-based and regular tools # build support for Instinct MI100 (gfx908), Instinct MI210/MI250X (gfx90a), Instinct MI300X (gfx942), Radeon Pro W6800 (gfx1030), Radeon Pro W7800/W7900 (gfx1100), and Radeon Pro W7600 (gfx1102) -%define rocm_archs gfx908:sramecc+:xnack- gfx90a:sramecc+:xnack- gfx942:sramecc+:xnack- gfx1030 gfx1100 gfx1102 +%define rocm_archs gfx908:sramecc+ gfx90a:sramecc+ gfx942:sramecc+ gfx1030 gfx1100 gfx1102 # LLVM/hipcc style for listing the supported ROCm compute architectures %define hipcc_flags_rocm_archs %(echo $(for ARCH in %rocm_archs; do echo "--offload-arch=$ARCH"; done)) diff --git a/scram-tools.file/tools/rocm/rocm.xml b/scram-tools.file/tools/rocm/rocm.xml index d464d42d711..c26fc86f75c 100644 --- a/scram-tools.file/tools/rocm/rocm.xml +++ b/scram-tools.file/tools/rocm/rocm.xml @@ -23,5 +23,6 @@ + From 85c204c121e2cf4e8b9e86bd7204fd939d65b9b2 Mon Sep 17 00:00:00 2001 From: iarspider Date: Thu, 15 May 2025 09:56:37 +0200 Subject: [PATCH 34/34] Update xerces-c to version 3.3.0 --- xerces-c.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xerces-c.spec b/xerces-c.spec index 5963f736af2..d7f1b18485d 100644 --- a/xerces-c.spec +++ b/xerces-c.spec @@ -1,6 +1,6 @@ -### RPM external xerces-c 3.1.3 +### RPM external xerces-c 3.3.0 %define xercesv %(echo %{realversion} | tr . _) -Source: http://www-us.apache.org/dist//xerces/c/3/sources/xerces-c-%{realversion}.tar.gz +Source: https://dlcdn.apache.org//xerces/c/3/sources/xerces-c-%{realversion}.tar.gz %prep %setup -n xerces-c-%{realversion}