From 8810fec122fa877fd70fc2cdca435f13e1fc10af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Kr=C3=A1l?= Date: Thu, 17 Apr 2025 15:10:22 +0200 Subject: [PATCH 01/23] {bio}[2023a] bcgTree 1.2.1 --- .../2023.06/eessi-2023.06-eb-5.0.0-2023a.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml index e08f6a8773..e5d0e43495 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml @@ -4,3 +4,8 @@ easyconfigs: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22292 # and https://github.com/easybuilders/easybuild-easyconfigs/pull/22646 from-commit: b212c00fdc3983678037429719f1b210cb978b42 + - bcgTree-1.2.1-foss-2023a.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22707 + # and https://github.com/easybuilders/easybuild-easyconfigs/pull/22540 + from-commit: 608956e04994b97114af69ff370532a4386ae3d6 From a225e83418df85264befc7cc77a4d3b0b17905b3 Mon Sep 17 00:00:00 2001 From: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> Date: Fri, 18 Apr 2025 16:11:26 +0200 Subject: [PATCH 02/23] Update easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml --- .../2023.06/eessi-2023.06-eb-5.0.0-2023a.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml index e5d0e43495..4d91ebccd6 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml @@ -4,6 +4,10 @@ easyconfigs: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22292 # and https://github.com/easybuilders/easybuild-easyconfigs/pull/22646 from-commit: b212c00fdc3983678037429719f1b210cb978b42 + - MUSCLE-5.1.0-GCCcore-12.3.0.eb: + options: + # See https://github.com/easybuilders/easybuild-easyconfigs/pull/22780 + from-commit: b3ebae089935d4e71fa96f449d150f91402d1faf - bcgTree-1.2.1-foss-2023a.eb: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22707 From 91f3bf9e2848807ac2659b1a95f48fe9f6131541 Mon Sep 17 00:00:00 2001 From: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> Date: Fri, 18 Apr 2025 18:13:13 +0200 Subject: [PATCH 03/23] Apply suggestions from code review update commits --- .../2023.06/eessi-2023.06-eb-5.0.0-2023a.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml index 4d91ebccd6..c13c5bcdb6 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml @@ -7,9 +7,9 @@ easyconfigs: - MUSCLE-5.1.0-GCCcore-12.3.0.eb: options: # See https://github.com/easybuilders/easybuild-easyconfigs/pull/22780 - from-commit: b3ebae089935d4e71fa96f449d150f91402d1faf + from-commit: c18be9031082633f22e1e0eed86f5eb110565e61 - bcgTree-1.2.1-foss-2023a.eb: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22707 # and https://github.com/easybuilders/easybuild-easyconfigs/pull/22540 - from-commit: 608956e04994b97114af69ff370532a4386ae3d6 + from-commit: 99e573396fb566985f67315e66db5bb45e59979c From d871128007041debfd5ad1b5646fea8f656e44fe Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 22 Apr 2025 22:03:15 +0200 Subject: [PATCH 04/23] Add initial Easystack file to install EB 4.8.2 with EB 5.0.0, which will be used by the bootstrap of load_easybuild_version anyway --- .../software.eessi.io/2023.06/icelake_cclake/001-eb-5.0.0.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-5.0.0.yml diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-5.0.0.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-5.0.0.yml new file mode 100644 index 0000000000..081e30b63d --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-5.0.0.yml @@ -0,0 +1,4 @@ +easyconfigs: + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.8.2/easybuild/reprod/EasyBuild-4.8.2.eb: + options: + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.8.2/easybuild/reprod/easyblocks/*.py From 57b0d084b784113de87812ad23b627e9d41ce668 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 22 Apr 2025 22:05:32 +0200 Subject: [PATCH 05/23] Add two more easystacks that will use EB 5.0 for bootstrapping anyway --- .../software.eessi.io/2023.06/icelake_cclake/005-eb-5.0.0.yml | 4 ++++ .../software.eessi.io/2023.06/icelake_cclake/018-eb-5.0.0.yml | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-5.0.0.yml create mode 100644 easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-5.0.0.yml diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-5.0.0.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-5.0.0.yml new file mode 100644 index 0000000000..074266850e --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-5.0.0.yml @@ -0,0 +1,4 @@ +easyconfigs: + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.0/easybuild/reprod/EasyBuild-4.9.0.eb: + options: + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.0/easybuild/reprod/easyblocks/*.py diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-5.0.0.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-5.0.0.yml new file mode 100644 index 0000000000..c10441e74b --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-5.0.0.yml @@ -0,0 +1,4 @@ +easyconfigs: + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.1/easybuild/reprod/EasyBuild-4.9.1.eb: + options: + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.1/easybuild/reprod/easyblocks/*.py From 58de3ac0f211880212da6f709d8fdbf1d1e7fe7b Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 22 Apr 2025 22:15:21 +0200 Subject: [PATCH 06/23] Fix regex so that it also works for e.g. eb-4.9.0.yml, i.e. doesn't require a suffix --- EESSI-install-software.sh | 2 +- EESSI-remove-software.sh | 2 +- scripts/gpu_support/nvidia/install_cuda_and_libraries.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 713fcba883..40b6e5c50f 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -354,7 +354,7 @@ else echo -e "Processing easystack file ${easystack_file}...\n\n" # determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file - eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*/\1/g') + eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*.yml/\1/g') # load EasyBuild module (will be installed if it's not available yet) source ${TOPDIR}/load_easybuild_module.sh ${eb_version} diff --git a/EESSI-remove-software.sh b/EESSI-remove-software.sh index 770b7e4117..47edaa8bfc 100755 --- a/EESSI-remove-software.sh +++ b/EESSI-remove-software.sh @@ -108,7 +108,7 @@ if [ $EUID -eq 0 ]; then else for easystack_file in ${changed_easystacks_rebuilds}; do # determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file - eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*/\1/g') + eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*.yml/\1/g') # load EasyBuild module (will be installed if it's not available yet) source ${TOPDIR}/load_easybuild_module.sh ${eb_version} diff --git a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh index 741ead0559..8b87f630e0 100755 --- a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh +++ b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh @@ -96,7 +96,7 @@ for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do echo -e "Processing easystack file ${easystack_file}...\n\n" # determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file - eb_version=$(echo ${EASYSTACK_FILE} | sed 's/.*eb-\([0-9.]*\).*/\1/g') + eb_version=$(echo ${EASYSTACK_FILE} | sed 's/.*eb-\([0-9.]*\).*.yml/\1/g') # Load EasyBuild version for this easystack file _before_ loading EESSI-extend module_avail_out=${tmpdir}/ml.out From a962fe1bfe53d415c15a2a7c39e4817fff87f776 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 22 Apr 2025 22:23:18 +0200 Subject: [PATCH 07/23] Use eb 4.9.4 to install EB 4.X versions --- .../2023.06/icelake_cclake/{001-eb-5.0.0.yml => 001-eb-4.9.4.yml} | 0 .../2023.06/icelake_cclake/{005-eb-5.0.0.yml => 005-eb-4.9.4.yml} | 0 .../2023.06/icelake_cclake/{018-eb-5.0.0.yml => 018-eb-4.9.4.yml} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename easystacks/software.eessi.io/2023.06/icelake_cclake/{001-eb-5.0.0.yml => 001-eb-4.9.4.yml} (100%) rename easystacks/software.eessi.io/2023.06/icelake_cclake/{005-eb-5.0.0.yml => 005-eb-4.9.4.yml} (100%) rename easystacks/software.eessi.io/2023.06/icelake_cclake/{018-eb-5.0.0.yml => 018-eb-4.9.4.yml} (100%) diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-5.0.0.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-4.9.4.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-5.0.0.yml rename to easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-4.9.4.yml diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-5.0.0.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-4.9.4.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-5.0.0.yml rename to easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-4.9.4.yml diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-5.0.0.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-4.9.4.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-5.0.0.yml rename to easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-4.9.4.yml From 78f03913a8941c38460ef00c642c282831c1105d Mon Sep 17 00:00:00 2001 From: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> Date: Wed, 23 Apr 2025 09:52:35 +0200 Subject: [PATCH 08/23] Apply suggestions from code review use latest commit of merged prs for MUSCLE and bcgTree --- .../2023.06/eessi-2023.06-eb-5.0.0-2023a.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml index c13c5bcdb6..e89c82759f 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml @@ -7,9 +7,9 @@ easyconfigs: - MUSCLE-5.1.0-GCCcore-12.3.0.eb: options: # See https://github.com/easybuilders/easybuild-easyconfigs/pull/22780 - from-commit: c18be9031082633f22e1e0eed86f5eb110565e61 + from-commit: ff159780fbaa881fb442b0ee1b37cd9e3d981ca9 - bcgTree-1.2.1-foss-2023a.eb: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22707 # and https://github.com/easybuilders/easybuild-easyconfigs/pull/22540 - from-commit: 99e573396fb566985f67315e66db5bb45e59979c + from-commit: 720c5b5b8280bf342d827617ee14738f3d231097 From 837db0a724237d2af6e259baa6508bf6cca17971 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 23 Apr 2025 17:10:20 +0200 Subject: [PATCH 09/23] Reshuffle the EB installations a bit, and make sure to do all of them first --- .../2023.06/icelake_cclake/001-eb-4.9.4.yml | 12 ++++++++++++ .../{005-eb-4.9.4.yml => 002-eb-4.9.1.yml} | 4 ++-- .../{018-eb-4.9.4.yml => 003-eb-4.9.2.yml} | 4 ++-- 3 files changed, 16 insertions(+), 4 deletions(-) rename easystacks/software.eessi.io/2023.06/icelake_cclake/{005-eb-4.9.4.yml => 002-eb-4.9.1.yml} (65%) rename easystacks/software.eessi.io/2023.06/icelake_cclake/{018-eb-4.9.4.yml => 003-eb-4.9.2.yml} (65%) diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-4.9.4.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-4.9.4.yml index 081e30b63d..afe5d33ce3 100644 --- a/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-4.9.4.yml +++ b/easystacks/software.eessi.io/2023.06/icelake_cclake/001-eb-4.9.4.yml @@ -2,3 +2,15 @@ easyconfigs: - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.8.2/easybuild/reprod/EasyBuild-4.8.2.eb: options: include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.8.2/easybuild/reprod/easyblocks/*.py + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.0/easybuild/reprod/EasyBuild-4.9.0.eb: + options: + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.0/easybuild/reprod/easyblocks/*.py + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.1/easybuild/reprod/EasyBuild-4.9.1.eb: + options: + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.1/easybuild/reprod/easyblocks/*.py + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/5.0.0/easybuild/reprod/EasyBuild-5.0.0.eb: + options: + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/5.0.0/easybuild/reprod/easyblocks/*.py + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.4/easybuild/reprod/EasyBuild-4.9.4.eb: + options: + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.4/easybuild/reprod/easyblocks/*.py diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-4.9.4.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/002-eb-4.9.1.yml similarity index 65% rename from easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-4.9.4.yml rename to easystacks/software.eessi.io/2023.06/icelake_cclake/002-eb-4.9.1.yml index 074266850e..ce43ff7da5 100644 --- a/easystacks/software.eessi.io/2023.06/icelake_cclake/005-eb-4.9.4.yml +++ b/easystacks/software.eessi.io/2023.06/icelake_cclake/002-eb-4.9.1.yml @@ -1,4 +1,4 @@ easyconfigs: - - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.0/easybuild/reprod/EasyBuild-4.9.0.eb: + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.2/easybuild/reprod/EasyBuild-4.9.2.eb: options: - include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.0/easybuild/reprod/easyblocks/*.py + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.2/easybuild/reprod/easyblocks/*.py diff --git a/easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-4.9.4.yml b/easystacks/software.eessi.io/2023.06/icelake_cclake/003-eb-4.9.2.yml similarity index 65% rename from easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-4.9.4.yml rename to easystacks/software.eessi.io/2023.06/icelake_cclake/003-eb-4.9.2.yml index c10441e74b..083bc53fef 100644 --- a/easystacks/software.eessi.io/2023.06/icelake_cclake/018-eb-4.9.4.yml +++ b/easystacks/software.eessi.io/2023.06/icelake_cclake/003-eb-4.9.2.yml @@ -1,4 +1,4 @@ easyconfigs: - - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.1/easybuild/reprod/EasyBuild-4.9.1.eb: + - /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.3/easybuild/reprod/EasyBuild-4.9.3.eb: options: - include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.1/easybuild/reprod/easyblocks/*.py + include-easyblocks: /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/EasyBuild/4.9.3/easybuild/reprod/easyblocks/*.py From 60b14342a7d9d1b9fa232ca02532e948858ef4c3 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Wed, 23 Apr 2025 20:39:55 +0200 Subject: [PATCH 10/23] {2023.06}[2023a] cutadapt 4.9 (testing staging bundles) --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml index ad69531517..60c8f1e7ee 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml @@ -50,3 +50,4 @@ easyconfigs: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22235 from-commit: 01dd97ea62fe4d7d0df040ede3af03eb2f1b8641 - OpenCV-4.8.1-foss-2023a-contrib.eb + - cutadapt-4.9-GCCcore-12.3.0.eb From 25085f0ceb525658dfea90992e2b06a3a825d2c5 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 23 Apr 2025 22:38:51 +0200 Subject: [PATCH 11/23] Make sure that when CUDA is installed in host_injections, EESSI_SKIP_REMOVED_MODULES_CHECK is set --- scripts/gpu_support/nvidia/install_cuda_and_libraries.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh index 8b87f630e0..d8e9282b3c 100755 --- a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh +++ b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh @@ -92,6 +92,14 @@ echo "Created temporary directory '${tmpdir}'" # Store MODULEPATH so it can be restored at the end of each loop iteration SAVE_MODULEPATH=${MODULEPATH} +# Ignore the LMOD error that CUDA modules have been removed from the CPU prefixes, as that is not relevant for +# people doing host_injection installations: they are installing their own CUDA's, and without this env var +# they get failures when the EB sanity check tries to load the CUDA module in the host_injection prefix +# Setting this environment variable is only needed temporarily, and can be removed once this +# https://github.com/EESSI/software-layer/blob/59a4c822c6066e1560e292a24191bed9e2f6792c/create_lmodsitepackage.py#L251 +# startup hook is removed again from the LMOD sitepackage.lua +export EESSI_SKIP_REMOVED_MODULES_CHECK=1 + for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do echo -e "Processing easystack file ${easystack_file}...\n\n" From c2dd2fb73cd35b8ba6c6ced4dce894b728c9d3fa Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 23 Apr 2025 22:45:23 +0200 Subject: [PATCH 12/23] Remove again, we'll solve this in a different way --- scripts/gpu_support/nvidia/install_cuda_and_libraries.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh index d8e9282b3c..8b87f630e0 100755 --- a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh +++ b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh @@ -92,14 +92,6 @@ echo "Created temporary directory '${tmpdir}'" # Store MODULEPATH so it can be restored at the end of each loop iteration SAVE_MODULEPATH=${MODULEPATH} -# Ignore the LMOD error that CUDA modules have been removed from the CPU prefixes, as that is not relevant for -# people doing host_injection installations: they are installing their own CUDA's, and without this env var -# they get failures when the EB sanity check tries to load the CUDA module in the host_injection prefix -# Setting this environment variable is only needed temporarily, and can be removed once this -# https://github.com/EESSI/software-layer/blob/59a4c822c6066e1560e292a24191bed9e2f6792c/create_lmodsitepackage.py#L251 -# startup hook is removed again from the LMOD sitepackage.lua -export EESSI_SKIP_REMOVED_MODULES_CHECK=1 - for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do echo -e "Processing easystack file ${easystack_file}...\n\n" From dc471edc8de16eb6a5c634d1880c27ab1a720229 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 23 Apr 2025 22:46:44 +0200 Subject: [PATCH 13/23] Remove the CUDA load hook to resolve the issue in installing CUDA in the host_injections prefix --- create_lmodsitepackage.py | 47 +-------------------------------------- 1 file changed, 1 insertion(+), 46 deletions(-) diff --git a/create_lmodsitepackage.py b/create_lmodsitepackage.py index 6acef9bffa..8eb56c1176 100755 --- a/create_lmodsitepackage.py +++ b/create_lmodsitepackage.py @@ -248,51 +248,6 @@ return accel_stack_in_modulepath end -local function eessi_removed_module_warning_startup_hook(usrCmd) - if usrCmd == 'load' and not os.getenv("EESSI_SKIP_REMOVED_MODULES_CHECK") then - local CUDA_RELOCATION_MSG = [[All CUDA installations and modules depending on CUDA have been relocated to GPU-specific stacks. - Please see https://www.eessi.io/docs/site_specific_config/gpu/ for more information.]] - - local RELOCATED_CUDA_MODULES = { - ['NCCL'] = CUDA_RELOCATION_MSG, - ['NCCL/2.18.3-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - ['UCX-CUDA'] = CUDA_RELOCATION_MSG, - ['UCX-CUDA/1.14.1-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - -- we also have non-CUDA versions of OSU Micro Benchmarks, so only match the CUDA version - ['OSU-Micro-Benchmarks/7.2-gompi-2023a-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - ['UCC-CUDA'] = CUDA_RELOCATION_MSG, - ['UCC-CUDA/1.2.0-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - ['CUDA'] = CUDA_RELOCATION_MSG, - ['CUDA/12.1.1'] = CUDA_RELOCATION_MSG, - ['CUDA-Samples'] = CUDA_RELOCATION_MSG, - ['CUDA-Samples/12.1-GCC-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - } - - local REMOVED_MODULES = { - ['ipympl/0.9.3-foss-2023a'] = 'This module has been replaced by ipympl/0.9.3-gfbf-2023a', - } - - local masterTbl = masterTbl() - local error_msg = "" - -- The CUDA messages should only be shown if the accelerator stack is NOT being used - if not using_eessi_accel_stack() then - for _, module in pairs(masterTbl.pargs) do - if RELOCATED_CUDA_MODULES[module] ~= nil then - error_msg = error_msg .. module .. ': ' .. RELOCATED_CUDA_MODULES[module] .. '\\n\\n' - end - end - end - for _, module in pairs(masterTbl.pargs) do - if REMOVED_MODULES[module] ~= nil then - error_msg = error_msg .. module .. ': ' .. REMOVED_MODULES[module] .. '\\n\\n' - end - end - if error_msg ~= "" then - LmodError('\\n' .. error_msg .. 'If you know what you are doing and you want to ignore this check for removed/relocated modules, set $EESSI_SKIP_REMOVED_MODULES_CHECK to any value.') - end - end -end - function eessi_startup_hook(usrCmd) eessi_removed_module_warning_startup_hook(usrCmd) end @@ -320,7 +275,7 @@ modT.fullName:match("GCC%-([0-9]*.[0-9]*.[0-9]*)") or modT.fullName:match("GCCcore%-([0-9]*.[0-9]*.[0-9]*)") - -- if nothing matches, return + -- if nothing matches, return if tcver == nil then return end -- if we have matches, check if the toolchain version is either 2022b or 12.2.0 From 875c6127d0480d5919526eb4736cf45d5a71dc0c Mon Sep 17 00:00:00 2001 From: Richard Top Date: Thu, 24 Apr 2025 08:07:14 +0000 Subject: [PATCH 14/23] {2023.06}[2023a,grace] Z3 v4.12.2 in 2023a easystack --- .../2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml diff --git a/easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml b/easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml new file mode 100644 index 0000000000..fe03c312bb --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml @@ -0,0 +1,3 @@ +easyconfigs: +#This is an outdated version of the Z3-4.12.2-GCCcore-12.3.0 easyconfig, adding it to keep sync with the other stacks + - Z3-4.12.2-GCCcore-12.3.0-Python-3.11.3.eb From b5bbef8ff24f4446051328f39f4603ba9fc546fe Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 24 Apr 2025 10:08:15 +0200 Subject: [PATCH 15/23] Remove eessi startup hook that errors on CUDA being moved from CPU prefixes. This hook has caused more issues than it's worth, and the warning has been there for a long time now, so people should know. --- create_lmodsitepackage.py | 52 +-------------------------------------- 1 file changed, 1 insertion(+), 51 deletions(-) diff --git a/create_lmodsitepackage.py b/create_lmodsitepackage.py index 6acef9bffa..fc275bcd18 100755 --- a/create_lmodsitepackage.py +++ b/create_lmodsitepackage.py @@ -248,56 +248,6 @@ return accel_stack_in_modulepath end -local function eessi_removed_module_warning_startup_hook(usrCmd) - if usrCmd == 'load' and not os.getenv("EESSI_SKIP_REMOVED_MODULES_CHECK") then - local CUDA_RELOCATION_MSG = [[All CUDA installations and modules depending on CUDA have been relocated to GPU-specific stacks. - Please see https://www.eessi.io/docs/site_specific_config/gpu/ for more information.]] - - local RELOCATED_CUDA_MODULES = { - ['NCCL'] = CUDA_RELOCATION_MSG, - ['NCCL/2.18.3-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - ['UCX-CUDA'] = CUDA_RELOCATION_MSG, - ['UCX-CUDA/1.14.1-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - -- we also have non-CUDA versions of OSU Micro Benchmarks, so only match the CUDA version - ['OSU-Micro-Benchmarks/7.2-gompi-2023a-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - ['UCC-CUDA'] = CUDA_RELOCATION_MSG, - ['UCC-CUDA/1.2.0-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - ['CUDA'] = CUDA_RELOCATION_MSG, - ['CUDA/12.1.1'] = CUDA_RELOCATION_MSG, - ['CUDA-Samples'] = CUDA_RELOCATION_MSG, - ['CUDA-Samples/12.1-GCC-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, - } - - local REMOVED_MODULES = { - ['ipympl/0.9.3-foss-2023a'] = 'This module has been replaced by ipympl/0.9.3-gfbf-2023a', - } - - local masterTbl = masterTbl() - local error_msg = "" - -- The CUDA messages should only be shown if the accelerator stack is NOT being used - if not using_eessi_accel_stack() then - for _, module in pairs(masterTbl.pargs) do - if RELOCATED_CUDA_MODULES[module] ~= nil then - error_msg = error_msg .. module .. ': ' .. RELOCATED_CUDA_MODULES[module] .. '\\n\\n' - end - end - end - for _, module in pairs(masterTbl.pargs) do - if REMOVED_MODULES[module] ~= nil then - error_msg = error_msg .. module .. ': ' .. REMOVED_MODULES[module] .. '\\n\\n' - end - end - if error_msg ~= "" then - LmodError('\\n' .. error_msg .. 'If you know what you are doing and you want to ignore this check for removed/relocated modules, set $EESSI_SKIP_REMOVED_MODULES_CHECK to any value.') - end - end -end - -function eessi_startup_hook(usrCmd) - eessi_removed_module_warning_startup_hook(usrCmd) -end - -hook.register("startup", eessi_startup_hook) hook.register("load", eessi_load_hook) """ @@ -320,7 +270,7 @@ modT.fullName:match("GCC%-([0-9]*.[0-9]*.[0-9]*)") or modT.fullName:match("GCCcore%-([0-9]*.[0-9]*.[0-9]*)") - -- if nothing matches, return + -- if nothing matches, return if tcver == nil then return end -- if we have matches, check if the toolchain version is either 2022b or 12.2.0 From bd80f3a97a901559ab6eb1fefeeb36a630e77a16 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 24 Apr 2025 10:13:30 +0200 Subject: [PATCH 16/23] Restore original lmod sitepackage --- create_lmodsitepackage.py | 47 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/create_lmodsitepackage.py b/create_lmodsitepackage.py index 8eb56c1176..6acef9bffa 100755 --- a/create_lmodsitepackage.py +++ b/create_lmodsitepackage.py @@ -248,6 +248,51 @@ return accel_stack_in_modulepath end +local function eessi_removed_module_warning_startup_hook(usrCmd) + if usrCmd == 'load' and not os.getenv("EESSI_SKIP_REMOVED_MODULES_CHECK") then + local CUDA_RELOCATION_MSG = [[All CUDA installations and modules depending on CUDA have been relocated to GPU-specific stacks. + Please see https://www.eessi.io/docs/site_specific_config/gpu/ for more information.]] + + local RELOCATED_CUDA_MODULES = { + ['NCCL'] = CUDA_RELOCATION_MSG, + ['NCCL/2.18.3-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, + ['UCX-CUDA'] = CUDA_RELOCATION_MSG, + ['UCX-CUDA/1.14.1-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, + -- we also have non-CUDA versions of OSU Micro Benchmarks, so only match the CUDA version + ['OSU-Micro-Benchmarks/7.2-gompi-2023a-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, + ['UCC-CUDA'] = CUDA_RELOCATION_MSG, + ['UCC-CUDA/1.2.0-GCCcore-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, + ['CUDA'] = CUDA_RELOCATION_MSG, + ['CUDA/12.1.1'] = CUDA_RELOCATION_MSG, + ['CUDA-Samples'] = CUDA_RELOCATION_MSG, + ['CUDA-Samples/12.1-GCC-12.3.0-CUDA-12.1.1'] = CUDA_RELOCATION_MSG, + } + + local REMOVED_MODULES = { + ['ipympl/0.9.3-foss-2023a'] = 'This module has been replaced by ipympl/0.9.3-gfbf-2023a', + } + + local masterTbl = masterTbl() + local error_msg = "" + -- The CUDA messages should only be shown if the accelerator stack is NOT being used + if not using_eessi_accel_stack() then + for _, module in pairs(masterTbl.pargs) do + if RELOCATED_CUDA_MODULES[module] ~= nil then + error_msg = error_msg .. module .. ': ' .. RELOCATED_CUDA_MODULES[module] .. '\\n\\n' + end + end + end + for _, module in pairs(masterTbl.pargs) do + if REMOVED_MODULES[module] ~= nil then + error_msg = error_msg .. module .. ': ' .. REMOVED_MODULES[module] .. '\\n\\n' + end + end + if error_msg ~= "" then + LmodError('\\n' .. error_msg .. 'If you know what you are doing and you want to ignore this check for removed/relocated modules, set $EESSI_SKIP_REMOVED_MODULES_CHECK to any value.') + end + end +end + function eessi_startup_hook(usrCmd) eessi_removed_module_warning_startup_hook(usrCmd) end @@ -275,7 +320,7 @@ modT.fullName:match("GCC%-([0-9]*.[0-9]*.[0-9]*)") or modT.fullName:match("GCCcore%-([0-9]*.[0-9]*.[0-9]*)") - -- if nothing matches, return + -- if nothing matches, return if tcver == nil then return end -- if we have matches, check if the toolchain version is either 2022b or 12.2.0 From a12ba30348f45c42ab75ea768f13b79d275b2a13 Mon Sep 17 00:00:00 2001 From: Richard Top Date: Thu, 24 Apr 2025 09:18:21 +0000 Subject: [PATCH 17/23] added description --- .../2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml b/easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml index fe03c312bb..fa1b9b388e 100644 --- a/easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/grace/eessi-2023.06-eb-4.9.0-2023a.yml @@ -1,3 +1,4 @@ easyconfigs: #This is an outdated version of the Z3-4.12.2-GCCcore-12.3.0 easyconfig, adding it to keep sync with the other stacks +#see https://github.com/easybuilders/easybuild-easyconfigs/pull/20050 - Z3-4.12.2-GCCcore-12.3.0-Python-3.11.3.eb From ddf2ee2488a9f6ebf6c0da41b8aa4e0c37fe2d82 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 24 Apr 2025 11:54:48 +0200 Subject: [PATCH 18/23] Remove now unused function --- create_lmodsitepackage.py | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/create_lmodsitepackage.py b/create_lmodsitepackage.py index fc275bcd18..f3d11aebe0 100755 --- a/create_lmodsitepackage.py +++ b/create_lmodsitepackage.py @@ -231,23 +231,6 @@ end end -local function using_eessi_accel_stack () - local modulepath = os.getenv("MODULEPATH") or "" - local accel_stack_in_modulepath = false - - -- Check if we are using an EESSI version 2023 accelerator stack by checking if the $MODULEPATH contains - -- a path that starts with /cvmfs/software.eessi.io and contains accel/nvidia/ccNN - for path in string.gmatch(modulepath, '(.-):') do - if string.sub(path, 1, 41) == "/cvmfs/software.eessi.io/versions/2023.06" then - if string.find(path, "accel/nvidia/cc%d%d") then - accel_stack_in_modulepath = true - break - end - end - end - return accel_stack_in_modulepath -end - hook.register("load", eessi_load_hook) """ From e2257167199a2c0c35c56ce7b0cdbf93c540091c Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 24 Apr 2025 13:04:55 +0200 Subject: [PATCH 19/23] Make host injections install work temporarily --- scripts/gpu_support/nvidia/install_cuda_and_libraries.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh index 8b87f630e0..eed99276c8 100755 --- a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh +++ b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh @@ -92,6 +92,10 @@ echo "Created temporary directory '${tmpdir}'" # Store MODULEPATH so it can be restored at the end of each loop iteration SAVE_MODULEPATH=${MODULEPATH} +# THIS EXPORT SHOULD NEVER MAKE IT INTO THE REPO, it's just used temporarily to make host-injections +# install for icelake in https://github.com/EESSI/software-layer/pull/1044 +export EESSI_SKIP_REMOVED_MODULES_CHECK=1 + for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do echo -e "Processing easystack file ${easystack_file}...\n\n" From d5bddbc9263263d3de7dd7a3a30fa400818c1ceb Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 24 Apr 2025 13:18:02 +0200 Subject: [PATCH 20/23] Undo temporary workaround now that host_injections for icelake are in place --- scripts/gpu_support/nvidia/install_cuda_and_libraries.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh index eed99276c8..8b87f630e0 100755 --- a/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh +++ b/scripts/gpu_support/nvidia/install_cuda_and_libraries.sh @@ -92,10 +92,6 @@ echo "Created temporary directory '${tmpdir}'" # Store MODULEPATH so it can be restored at the end of each loop iteration SAVE_MODULEPATH=${MODULEPATH} -# THIS EXPORT SHOULD NEVER MAKE IT INTO THE REPO, it's just used temporarily to make host-injections -# install for icelake in https://github.com/EESSI/software-layer/pull/1044 -export EESSI_SKIP_REMOVED_MODULES_CHECK=1 - for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do echo -e "Processing easystack file ${easystack_file}...\n\n" From 117cbeedbaff40c9be513b9791696d2792faf659 Mon Sep 17 00:00:00 2001 From: Lara Ramona Peeters <49882639+laraPPr@users.noreply.github.com> Date: Thu, 24 Apr 2025 16:33:19 +0200 Subject: [PATCH 21/23] add missing link to pr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bob Dröge --- .../software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml index e89c82759f..50a9a74733 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-5.0.0-2023a.yml @@ -12,4 +12,5 @@ easyconfigs: options: # see https://github.com/easybuilders/easybuild-easyconfigs/pull/22707 # and https://github.com/easybuilders/easybuild-easyconfigs/pull/22540 + # and https://github.com/easybuilders/easybuild-easyconfigs/pull/22781 from-commit: 720c5b5b8280bf342d827617ee14738f3d231097 From 74b6b85542f4809e4a21221954968f87bd586b13 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 24 Apr 2025 20:52:43 +0200 Subject: [PATCH 22/23] use Arm GitHub Actions runner when checking for missing installations for aarch64/* CPU targets --- .github/workflows/test-software.eessi.io.yml | 53 ++++++++++++-------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/.github/workflows/test-software.eessi.io.yml b/.github/workflows/test-software.eessi.io.yml index b8979a49aa..3d9b395c59 100644 --- a/.github/workflows/test-software.eessi.io.yml +++ b/.github/workflows/test-software.eessi.io.yml @@ -8,6 +8,7 @@ on: permissions: contents: read # to fetch code (actions/checkout) env: + EESSI_VERSION: '2023.06' EESSI_ACCELERATOR_TARGETS: | x86_64/amd/zen2: - nvidia/cc80 @@ -15,23 +16,33 @@ env: - nvidia/cc80 jobs: check_missing: - runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: - EESSI_VERSION: - - 2023.06 - EESSI_SOFTWARE_SUBDIR_OVERRIDE: - - aarch64/generic - - aarch64/neoverse_n1 - - aarch64/neoverse_v1 - - x86_64/amd/zen2 - - x86_64/amd/zen3 - - x86_64/amd/zen4 - - x86_64/intel/haswell - - x86_64/intel/sapphirerapids - - x86_64/intel/skylake_avx512 - - x86_64/generic + include: + # Arm CPU targets + - runs_on: ubuntu-24.04-arm + EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/generic + - runs_on: ubuntu-24.04-arm + EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/neoverse_n1 + - runs_on: ubuntu-24.04-arm + EESSI_SOFTWARE_SUBDIR_OVERRIDE: aarch64/neoverse_v1 + # x86_64 CPU targets + - runs_on: ubuntu-24.04 + EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen2 + - runs_on: ubuntu-24.04 + EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen3 + - runs_on: ubuntu-24.04 + EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/amd/zen4 + - runs_on: ubuntu-24.04 + EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/haswell + - runs_on: ubuntu-24.04 + EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/sapphirerapids + - runs_on: ubuntu-24.04 + EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/intel/skylake_avx512 + - runs_on: ubuntu-24.04 + EESSI_SOFTWARE_SUBDIR_OVERRIDE: x86_64/generic + runs-on: ${{ matrix.runs_on }} steps: - name: Check out software-layer repository uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -46,20 +57,20 @@ jobs: - name: Test check_missing_installations.sh script run: | export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}} - source /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/bash + source /cvmfs/software.eessi.io/versions/${EESSI_VERSION}/init/bash # set $EESSI_CPU_FAMILY to the CPU architecture that corresponds to $EESSI_SOFTWARE_SUBDIR_OVERRIDE (part before the first slash), # to prevent issues with checks in the Easybuild configuration that use this variable export EESSI_CPU_FAMILY=${EESSI_SOFTWARE_SUBDIR_OVERRIDE%%/*} module load EasyBuild which eb eb --version - export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}} + export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${EESSI_VERSION} export EESSI_OS_TYPE=linux env | grep ^EESSI | sort # first check the CPU-only builds for this CPU target - echo "just run check_missing_installations.sh (should use easystacks/software.eessi.io/${{matrix.EESSI_VERSION}}/eessi-${{matrix.EESSI_VERSION}}-*.yml with latest EasyBuild release)" - for easystack_file in $(EESSI_VERSION=${{matrix.EESSI_VERSION}} .github/workflows/scripts/only_latest_easystacks.sh); do + echo "just run check_missing_installations.sh (should use easystacks/software.eessi.io/${EESSI_VERSION}/eessi-${EESSI_VERSION}-*.yml with latest EasyBuild release)" + for easystack_file in $(EESSI_VERSION=${EESSI_VERSION} .github/workflows/scripts/only_latest_easystacks.sh); do echo "check missing installations for ${easystack_file}..." ./check_missing_installations.sh ${easystack_file} ec=$? @@ -74,7 +85,7 @@ jobs: for accel in ${accelerators}; do module use ${EESSI_SOFTWARE_PATH}/accel/${accel}/modules/all echo "checking missing installations for accelerator ${accel} using modulepath: ${MODULEPATH}" - for easystack_file in $(EESSI_VERSION=${{matrix.EESSI_VERSION}} ACCEL_EASYSTACKS=1 .github/workflows/scripts/only_latest_easystacks.sh); do + for easystack_file in $(EESSI_VERSION=${EESSI_VERSION} ACCEL_EASYSTACKS=1 .github/workflows/scripts/only_latest_easystacks.sh); do echo "check missing installations for ${easystack_file}..." ./check_missing_installations.sh ${easystack_file} ec=$? @@ -87,14 +98,14 @@ jobs: - name: Test check_missing_installations.sh with missing package (GCC/8.3.0) run: | export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}} - source /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/bash + source /cvmfs/software.eessi.io/versions/${EESSI_VERSION}/init/bash # set $EESSI_CPU_FAMILY to the CPU architecture that corresponds to $EESSI_SOFTWARE_SUBDIR_OVERRIDE (part before the first slash), # to prevent issues with checks in the Easybuild configuration that use this variable export EESSI_CPU_FAMILY=${EESSI_SOFTWARE_SUBDIR_OVERRIDE%%/*} module load EasyBuild which eb eb --version - export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}} + export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${EESSI_VERSION} export EESSI_OS_TYPE=linux env | grep ^EESSI | sort # create dummy easystack file with a single entry (something that is not installed in EESSI) From 64679f0f4ea004f0d34a93335a62af4490a80aa5 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 24 Apr 2025 21:34:21 +0200 Subject: [PATCH 23/23] remove hooks that were only used to get checks for missing installation for aarch64/* targets to pass when using an x86_64 GitHub Actions runner, no longer needed due to 74b6b855 --- eb_hooks.py | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index 5f5405c173..947ac90e47 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -373,40 +373,6 @@ def parse_hook_freeimage_aarch64(ec, *args, **kwargs): print_msg("Changed toolchainopts for %s: %s", ec.name, ec['toolchainopts']) -def parse_hook_lammps_remove_deps_for_aarch64(ec, *args, **kwargs): - """ - Remove x86_64 specific dependencies for the CI and missing installations to pass on aarch64 - """ - if ec.name == 'LAMMPS': - if ec.version in ('2Aug2023_update2', '29Aug2024'): - if os.getenv('EESSI_CPU_FAMILY') == 'aarch64': - # ScaFaCoS and tbb are not compatible with aarch64/* CPU targets, - # so remove them as dependencies for LAMMPS (they're optional); - # see also https://github.com/easybuilders/easybuild-easyconfigs/pull/19164 + - # https://github.com/easybuilders/easybuild-easyconfigs/pull/19000; - # we need this hook because we check for missing installations for all CPU targets - # on an x86_64 VM in GitHub Actions (so condition based on ARCH in LAMMPS easyconfig is always true) - ec['dependencies'] = [dep for dep in ec['dependencies'] if dep[0] not in ('ScaFaCoS', 'tbb',)] - else: - raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!") - - -def parse_hook_CP2K_remove_deps_for_aarch64(ec, *args, **kwargs): - """ - Remove x86_64 specific dependencies for the CI and missing installations to pass on aarch64 - """ - if ec.name == 'CP2K' and ec.version in ('2023.1',): - if os.getenv('EESSI_CPU_FAMILY') == 'aarch64': - # LIBXSMM is not supported on ARM with GCC 12.2.0 and 12.3.0 - # See https://www.cp2k.org/dev:compiler_support - # See https://github.com/easybuilders/easybuild-easyconfigs/pull/20951 - # we need this hook because we check for missing installations for all CPU targets - # on an x86_64 VM in GitHub Actions (so condition based on ARCH in LAMMPS easyconfig is always true) - ec['dependencies'] = [dep for dep in ec['dependencies'] if dep[0] not in ('libxsmm',)] - else: - raise EasyBuildError("CP2K-specific hook triggered for non-CP2K easyconfig?!") - - def parse_hook_zen4_module_only(ec, eprefix): """ Use --force --module-only if building a foss-2022b-based EasyConfig for Zen4. @@ -1192,8 +1158,6 @@ def post_module_hook(self, *args, **kwargs): 'fontconfig': parse_hook_fontconfig_add_fonts, 'FreeImage': parse_hook_freeimage_aarch64, 'grpcio': parse_hook_grpcio_zlib, - 'LAMMPS': parse_hook_lammps_remove_deps_for_aarch64, - 'CP2K': parse_hook_CP2K_remove_deps_for_aarch64, 'OpenBLAS': parse_hook_openblas_relax_lapack_tests_num_errors, 'pybind11': parse_hook_pybind11_replace_catch2, 'Qt5': parse_hook_qt5_check_qtwebengine_disable,