From 225accc6dba397b07f1b8642864f8e1993ac050c Mon Sep 17 00:00:00 2001 From: lara Date: Wed, 25 Sep 2024 09:51:34 +0200 Subject: [PATCH 01/34] {2023.06}[system] EasyBuild v4.9.4 --- .../2023.06/eessi-2023.06-eb-4.9.3-001-system.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-001-system.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-001-system.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-001-system.yml new file mode 100644 index 0000000000..d9c6075561 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-001-system.yml @@ -0,0 +1,5 @@ +easyconfigs: + - EasyBuild-4.9.4.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21465 + from-commit: 39cdebd7bd2cb4a9c170ee22439401316b2e7a25 From f3820a1d43121d6aa8d9bdeb6bead0ff9c5bdbdc Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Tue, 24 Sep 2024 12:51:22 +0200 Subject: [PATCH 02/34] Limit CUDA hook to EESSI installs only, and remove duplication when creating symlinks --- eb_hooks.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index b3e457cfe3..e3c6c4faeb 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -684,7 +684,8 @@ def post_sanitycheck_cuda(self, *args, **kwargs): Remove files from CUDA installation that we are not allowed to ship, and replace them with a symlink to a corresponding installation under host_injections. """ - if self.name == 'CUDA': + # Make sure we only do this for CUDA and only if we are doing a CVMFS installation + if self.name == 'CUDA' and self.installdir.startswith('/cvmfs/software.eessi.io/versions'): print_msg("Replacing files in CUDA installation that we can not ship with symlinks to host_injections...") # read CUDA EULA, construct allowlist based on section 2.6 that specifies list of files that can be shipped @@ -733,6 +734,9 @@ def post_sanitycheck_cuda(self, *args, **kwargs): basename, full_path) # if it is not in the allowlist, delete the file and create a symlink to host_injections host_inj_path = full_path.replace('versions', 'host_injections') + # CUDA itself doesn't care about compute capability so remove this duplication from + # under host_injections + host_inj_path = re.sub(r"accel/nvidia/cc\d+/", '', host_inj_path) # make sure source and target of symlink are not the same if full_path == host_inj_path: raise EasyBuildError("Source (%s) and target (%s) are the same location, are you sure you " From a857bf11ccfdc9205f5f225574081a816c3d3800 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 19 Sep 2024 08:41:25 +0200 Subject: [PATCH 03/34] Readd cuda reinstall --- .../20240918-eb-4.9.3-CUDA-12.1.1-in-accel-prefix.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/rebuilds/20240918-eb-4.9.3-CUDA-12.1.1-in-accel-prefix.yml diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240918-eb-4.9.3-CUDA-12.1.1-in-accel-prefix.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240918-eb-4.9.3-CUDA-12.1.1-in-accel-prefix.yml new file mode 100644 index 0000000000..755bea096e --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240918-eb-4.9.3-CUDA-12.1.1-in-accel-prefix.yml @@ -0,0 +1,7 @@ +# 2024.09.18 +# We need to reinstall CUDA in the accelerator prefixes +# See https://github.com/EESSI/software-layer/pull/720 +easyconfigs: + - CUDA-12.1.1.eb: + options: + accept-eula-for: CUDA From 1a72a4c2ca36c62d494516c1a8d7ec28341cdcc6 Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Tue, 24 Sep 2024 15:46:08 +0200 Subject: [PATCH 04/34] Use EESSI_ACCELERATOR_TARGET rather than regex --- eb_hooks.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index e3c6c4faeb..0a42a91d49 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -736,7 +736,9 @@ def post_sanitycheck_cuda(self, *args, **kwargs): host_inj_path = full_path.replace('versions', 'host_injections') # CUDA itself doesn't care about compute capability so remove this duplication from # under host_injections - host_inj_path = re.sub(r"accel/nvidia/cc\d+/", '', host_inj_path) + accel_subdir = os.getenv("EESSI_ACCELERATOR_TARGET") + if accel_subdir: + host_inj_path = host_inj_path.replace('/accel/%s' % accel_subdir, 'host_injections') # make sure source and target of symlink are not the same if full_path == host_inj_path: raise EasyBuildError("Source (%s) and target (%s) are the same location, are you sure you " From 5d66e4ce96d9e673d286dfd781f137c5e9037a15 Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Tue, 24 Sep 2024 16:00:32 +0200 Subject: [PATCH 05/34] Ensure we are making an EESSI install when using the CUDA hook --- eb_hooks.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index 0a42a91d49..4d94357e8c 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -685,7 +685,12 @@ def post_sanitycheck_cuda(self, *args, **kwargs): and replace them with a symlink to a corresponding installation under host_injections. """ # Make sure we only do this for CUDA and only if we are doing a CVMFS installation - if self.name == 'CUDA' and self.installdir.startswith('/cvmfs/software.eessi.io/versions'): + is_eessi_install = ( + self.installdir.startswith("/cvmfs/software.eessi.io/versions") + and not build_option("sanity_check_only") + and not build_option("module_only") + ) + if self.name == 'CUDA' and is_eessi_install: print_msg("Replacing files in CUDA installation that we can not ship with symlinks to host_injections...") # read CUDA EULA, construct allowlist based on section 2.6 that specifies list of files that can be shipped From ae55491b75e77b1f445654a77d06394040a370aa Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Wed, 25 Sep 2024 10:54:02 +0200 Subject: [PATCH 06/34] Move CUDA hook to post-install, allow hook to trigger for any EESSI distributed repo (but always make symlinks to software.eessi.io) --- eb_hooks.py | 76 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 31 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index 4d94357e8c..788a0419ba 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -131,7 +131,8 @@ def pre_prepare_hook(self, *args, **kwargs): def post_prepare_hook_gcc_prefixed_ld_rpath_wrapper(self, *args, **kwargs): """ Post-configure hook for GCCcore: - - copy RPATH wrapper script for linker commands to also have a wrapper in place with system type prefix like 'x86_64-pc-linux-gnu' + - copy RPATH wrapper script for linker commands to also have a wrapper in + place with system type prefix like 'x86_64-pc-linux-gnu' """ if self.name == 'GCCcore': config_guess = obtain_config_guess() @@ -279,10 +280,10 @@ def parse_hook_qt5_check_qtwebengine_disable(ec, eprefix): Disable check for QtWebEngine in Qt5 as workaround for problem with determining glibc version. """ if ec.name == 'Qt5': - # workaround for glibc version being reported as "UNKNOWN" in Gentoo Prefix environment by EasyBuild v4.7.2, - # see also https://github.com/easybuilders/easybuild-framework/pull/4290 - ec['check_qtwebengine'] = False - print_msg("Checking for QtWebEgine in Qt5 installation has been disabled") + # workaround for glibc version being reported as "UNKNOWN" in Gentoo Prefix environment by EasyBuild v4.7.2, + # see also https://github.com/easybuilders/easybuild-framework/pull/4290 + ec['check_qtwebengine'] = False + print_msg("Checking for QtWebEgine in Qt5 installation has been disabled") else: raise EasyBuildError("Qt5-specific hook triggered for non-Qt5 easyconfig?!") @@ -341,7 +342,7 @@ def pre_prepare_hook_highway_handle_test_compilation_issues(self, *args, **kwarg if self.name == 'Highway': tcname, tcversion = self.toolchain.name, self.toolchain.version cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') - # note: keep condition in sync with the one used in + # note: keep condition in sync with the one used in # post_prepare_hook_highway_handle_test_compilation_issues if self.version in ['1.0.4'] and tcname == 'GCCcore' and tcversion == '12.3.0': if cpu_target in [CPU_TARGET_A64FX, CPU_TARGET_NEOVERSE_V1]: @@ -360,12 +361,13 @@ def post_prepare_hook_highway_handle_test_compilation_issues(self, *args, **kwar if self.name == 'Highway': tcname, tcversion = self.toolchain.name, self.toolchain.version cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') - # note: keep condition in sync with the one used in + # note: keep condition in sync with the one used in # pre_prepare_hook_highway_handle_test_compilation_issues if self.version in ['1.0.4'] and tcname == 'GCCcore' and tcversion == '12.3.0': if cpu_target == CPU_TARGET_NEOVERSE_N1: update_build_option('optarch', self.orig_optarch) + def pre_configure_hook(self, *args, **kwargs): """Main pre-configure hook: trigger custom functions based on software name.""" if self.name in PRE_CONFIGURE_HOOKS: @@ -389,6 +391,7 @@ def pre_configure_hook_BLIS_a64fx(self, *args, **kwargs): else: raise EasyBuildError("BLIS-specific hook triggered for non-BLIS easyconfig?!") + def pre_configure_hook_extrae(self, *args, **kwargs): """ Pre-configure hook for Extrae @@ -414,7 +417,11 @@ def pre_configure_hook_extrae(self, *args, **kwargs): # replace use of 'which' with 'command -v', since 'which' is broken in EESSI build container; # this must be done *after* running configure script, because initial configuration re-writes configure script, # and problem due to use of which only pops up when running make ?! - self.cfg.update('prebuildopts', "cp config/mpi-macros.m4 config/mpi-macros.m4.orig && sed -i 's/`which /`command -v /g' config/mpi-macros.m4 && ") + self.cfg.update( + 'prebuildopts', + "cp config/mpi-macros.m4 config/mpi-macros.m4.orig &&" + "sed -i 's/`which /`command -v /g' config/mpi-macros.m4 && " + ) else: raise EasyBuildError("Extrae-specific hook triggered for non-Extrae easyconfig?!") @@ -445,7 +452,10 @@ def pre_configure_hook_gromacs(self, *args, **kwargs): cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') if LooseVersion(self.version) <= LooseVersion('2024.1') and cpu_target == CPU_TARGET_NEOVERSE_V1: self.cfg.update('configopts', '-DGMX_SIMD=ARM_NEON_ASIMD') - print_msg("Avoiding use of SVE instructions for GROMACS %s by using ARM_NEON_ASIMD as GMX_SIMD value", self.version) + print_msg( + "Avoiding use of SVE instructions for GROMACS %s by using ARM_NEON_ASIMD as GMX_SIMD value", + self.version + ) else: raise EasyBuildError("GROMACS-specific hook triggered for non-GROMACS easyconfig?!") @@ -506,12 +516,12 @@ def pre_configure_hook_wrf_aarch64(self, *args, **kwargs): pattern = "Linux x86_64 ppc64le, gfortran" repl = "Linux x86_64 aarch64 ppc64le, gfortran" if LooseVersion(self.version) <= LooseVersion('3.9.0'): - self.cfg.update('preconfigopts', "sed -i 's/%s/%s/g' arch/configure_new.defaults && " % (pattern, repl)) - print_msg("Using custom preconfigopts for %s: %s", self.name, self.cfg['preconfigopts']) + self.cfg.update('preconfigopts', "sed -i 's/%s/%s/g' arch/configure_new.defaults && " % (pattern, repl)) + print_msg("Using custom preconfigopts for %s: %s", self.name, self.cfg['preconfigopts']) if LooseVersion('4.0.0') <= LooseVersion(self.version) <= LooseVersion('4.2.1'): - self.cfg.update('preconfigopts', "sed -i 's/%s/%s/g' arch/configure.defaults && " % (pattern, repl)) - print_msg("Using custom preconfigopts for %s: %s", self.name, self.cfg['preconfigopts']) + self.cfg.update('preconfigopts', "sed -i 's/%s/%s/g' arch/configure.defaults && " % (pattern, repl)) + print_msg("Using custom preconfigopts for %s: %s", self.name, self.cfg['preconfigopts']) else: raise EasyBuildError("WRF-specific hook triggered for non-WRF easyconfig?!") @@ -533,7 +543,7 @@ def pre_configure_hook_LAMMPS_zen4(self, *args, **kwargs): raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!") -def pre_test_hook(self,*args, **kwargs): +def pre_test_hook(self, *args, **kwargs): """Main pre-test hook: trigger custom functions based on software name.""" if self.name in PRE_TEST_HOOKS: PRE_TEST_HOOKS[self.name](self, *args, **kwargs) @@ -596,6 +606,7 @@ def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): elif cpu_target == CPU_TARGET_A64FX and self.version in scipy_bundle_versions_a64fx: self.cfg['testopts'] = "|| echo ignoring failing tests" + def pre_test_hook_ignore_failing_tests_netCDF(self, *args, **kwargs): """ Pre-test hook for netCDF: skip failing tests for selected netCDF versions on neoverse_v1 @@ -609,6 +620,7 @@ def pre_test_hook_ignore_failing_tests_netCDF(self, *args, **kwargs): if self.name == 'netCDF' and self.version == '4.9.2' and cpu_target == CPU_TARGET_NEOVERSE_V1: self.cfg['testopts'] = "|| echo ignoring failing tests" + def pre_test_hook_increase_max_failed_tests_arm_PyTorch(self, *args, **kwargs): """ Pre-test hook for PyTorch: increase max failing tests for ARM for PyTorch 2.1.2 @@ -673,24 +685,24 @@ def pre_single_extension_testthat(ext, *args, **kwargs): ext.cfg['preinstallopts'] = "sed -i 's/SIGSTKSZ/32768/g' inst/include/testthat/vendor/catch.h && " -def post_sanitycheck_hook(self, *args, **kwargs): - """Main post-sanity-check hook: trigger custom functions based on software name.""" - if self.name in POST_SANITYCHECK_HOOKS: - POST_SANITYCHECK_HOOKS[self.name](self, *args, **kwargs) +def post_postproc_hook(self, *args, **kwargs): + """Main post-postprocessing hook: trigger custom functions based on software name.""" + if self.name in POST_POSTPROC_HOOKS: + POST_POSTPROC_HOOKS[self.name](self, *args, **kwargs) -def post_sanitycheck_cuda(self, *args, **kwargs): +def post_postproc_cuda(self, *args, **kwargs): """ Remove files from CUDA installation that we are not allowed to ship, and replace them with a symlink to a corresponding installation under host_injections. """ - # Make sure we only do this for CUDA and only if we are doing a CVMFS installation - is_eessi_install = ( - self.installdir.startswith("/cvmfs/software.eessi.io/versions") - and not build_option("sanity_check_only") - and not build_option("module_only") - ) - if self.name == 'CUDA' and is_eessi_install: + + # We need to check if we are doing an EESSI-distributed installation + eessi_pattern = r"^/cvmfs/[^/]*.eessi.io/versions/" + host_injections_location = "/cvmfs/software.eessi.io/host_injections/" + eessi_installation = bool(re.search(eessi_pattern, self.installdir)) + + if self.name == 'CUDA' and eessi_installation: print_msg("Replacing files in CUDA installation that we can not ship with symlinks to host_injections...") # read CUDA EULA, construct allowlist based on section 2.6 that specifies list of files that can be shipped @@ -738,12 +750,14 @@ def post_sanitycheck_cuda(self, *args, **kwargs): self.log.debug("%s is not found in allowlist, so replacing it with symlink: %s", basename, full_path) # if it is not in the allowlist, delete the file and create a symlink to host_injections - host_inj_path = full_path.replace('versions', 'host_injections') + + # the host_injections path is under a fixed repo/location for CUDA + host_inj_path = re.sub(eessi_pattern, host_injections_location, full_path) # CUDA itself doesn't care about compute capability so remove this duplication from # under host_injections accel_subdir = os.getenv("EESSI_ACCELERATOR_TARGET") if accel_subdir: - host_inj_path = host_inj_path.replace('/accel/%s' % accel_subdir, 'host_injections') + host_inj_path = host_inj_path.replace('/accel/%s' % accel_subdir, '') # make sure source and target of symlink are not the same if full_path == host_inj_path: raise EasyBuildError("Source (%s) and target (%s) are the same location, are you sure you " @@ -775,7 +789,7 @@ def inject_gpu_property(ec): ec_dict['builddependencies'].append(dep) value = '\n'.join([value, 'setenv("EESSICUDAVERSION","%s")' % cuda_version]) if key in ec_dict: - if not value in ec_dict[key]: + if value not in ec_dict[key]: ec[key] = '\n'.join([ec_dict[key], value]) else: ec[key] = value @@ -835,6 +849,6 @@ def inject_gpu_property(ec): 'numpy': post_single_extension_numpy, } -POST_SANITYCHECK_HOOKS = { - 'CUDA': post_sanitycheck_cuda, +POST_POSTPROC_HOOKS = { + 'CUDA': post_postproc_cuda, } From 7a95dd2b980b4e6796b3e7e1295b44417aa36d79 Mon Sep 17 00:00:00 2001 From: ocaisa Date: Tue, 24 Sep 2024 16:08:37 +0200 Subject: [PATCH 07/34] Update eb_hooks.py --- eb_hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index 788a0419ba..a8182df971 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -757,7 +757,7 @@ def post_postproc_cuda(self, *args, **kwargs): # under host_injections accel_subdir = os.getenv("EESSI_ACCELERATOR_TARGET") if accel_subdir: - host_inj_path = host_inj_path.replace('/accel/%s' % accel_subdir, '') + host_inj_path = host_inj_path.replace("/accel/%s" % accel_subdir, '') # make sure source and target of symlink are not the same if full_path == host_inj_path: raise EasyBuildError("Source (%s) and target (%s) are the same location, are you sure you " From 64a0f378fb7bdf12537d99b9b45d0a9623f18575 Mon Sep 17 00:00:00 2001 From: Alan O'Cais Date: Wed, 25 Sep 2024 11:14:29 +0200 Subject: [PATCH 08/34] Address review comments --- eb_hooks.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index a8182df971..9b0e9c8dcb 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -32,6 +32,9 @@ SYSTEM = EASYCONFIG_CONSTANTS['SYSTEM'][0] +EESSI_INSTALLATION_REGEX = r"^/cvmfs/[^/]*.eessi.io/versions/" +HOST_INJECTIONS_LOCATION = "/cvmfs/software.eessi.io/host_injections/" + def get_eessi_envvar(eessi_envvar): """Get an EESSI environment variable from the environment""" @@ -419,7 +422,7 @@ def pre_configure_hook_extrae(self, *args, **kwargs): # and problem due to use of which only pops up when running make ?! self.cfg.update( 'prebuildopts', - "cp config/mpi-macros.m4 config/mpi-macros.m4.orig &&" + "cp config/mpi-macros.m4 config/mpi-macros.m4.orig && " "sed -i 's/`which /`command -v /g' config/mpi-macros.m4 && " ) else: @@ -698,9 +701,7 @@ def post_postproc_cuda(self, *args, **kwargs): """ # We need to check if we are doing an EESSI-distributed installation - eessi_pattern = r"^/cvmfs/[^/]*.eessi.io/versions/" - host_injections_location = "/cvmfs/software.eessi.io/host_injections/" - eessi_installation = bool(re.search(eessi_pattern, self.installdir)) + eessi_installation = bool(re.search(EESSI_INSTALLATION_REGEX, self.installdir)) if self.name == 'CUDA' and eessi_installation: print_msg("Replacing files in CUDA installation that we can not ship with symlinks to host_injections...") @@ -752,9 +753,10 @@ def post_postproc_cuda(self, *args, **kwargs): # if it is not in the allowlist, delete the file and create a symlink to host_injections # the host_injections path is under a fixed repo/location for CUDA - host_inj_path = re.sub(eessi_pattern, host_injections_location, full_path) + host_inj_path = re.sub(EESSI_INSTALLATION_REGEX, HOST_INJECTIONS_LOCATION, full_path) # CUDA itself doesn't care about compute capability so remove this duplication from - # under host_injections + # under host_injections (symlink to a single CUDA installation for all compute + # capabilities) accel_subdir = os.getenv("EESSI_ACCELERATOR_TARGET") if accel_subdir: host_inj_path = host_inj_path.replace("/accel/%s" % accel_subdir, '') From a5ca128e550c4afaac678fabcc20c843e31a59f3 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Wed, 25 Sep 2024 17:05:41 +0200 Subject: [PATCH 09/34] Add ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb --- .../2023.06/eessi-2023.06-eb-4.9.3-2023a.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml new file mode 100644 index 0000000000..d9429ad8a8 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml @@ -0,0 +1,5 @@ +easyconfigs: + - ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21465 + from-commit: 5525968921d7b5eae54f7d16391201e17ffae13c From 730869a1a336514246c9c4e73c075247356a108b Mon Sep 17 00:00:00 2001 From: Neves-P Date: Thu, 26 Sep 2024 14:27:46 +0200 Subject: [PATCH 10/34] Move CUDA builds to accel/ subdir --- .../eessi-2023.06-eb-4.9.3-2023a-CUDA.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easystacks/software.eessi.io/{2023.06/eessi-2023.06-eb-4.9.3-2023a.yml => accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml} (100%) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml b/easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml rename to easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml From d0259dcdcff0c451c61683323b8e75feb9ed4ff0 Mon Sep 17 00:00:00 2001 From: Neves-P Date: Thu, 26 Sep 2024 14:43:44 +0200 Subject: [PATCH 11/34] Fix EasyBuild PR link --- .../accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml index d9429ad8a8..f41bc986ec 100644 --- a/easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml +++ b/easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml @@ -1,5 +1,5 @@ easyconfigs: - ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb: options: - # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21465 + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21440 from-commit: 5525968921d7b5eae54f7d16391201e17ffae13c From c2cdf3b7867ff9af0ab77fae7de39c58336fd8c2 Mon Sep 17 00:00:00 2001 From: lara Date: Wed, 18 Sep 2024 12:45:55 +0200 Subject: [PATCH 12/34] {2023.06}[2023a,GPU] LAMMPS 2Aug2023 CUDA 12.1.1 --- .../2023.06/eessi-2023.06-eb-4.9.3-2023-CUDA.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023-CUDA.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023-CUDA.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023-CUDA.yml new file mode 100644 index 0000000000..91c4b1f472 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023-CUDA.yml @@ -0,0 +1,2 @@ +easyconfigs: + - LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb From ea6fdec621655d8a689e3940d4eb98e5160e8973 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 18 Sep 2024 21:29:31 +0200 Subject: [PATCH 13/34] UCX cuda 1.14.1 --- .../2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml new file mode 100644 index 0000000000..bfe4a4dc52 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml @@ -0,0 +1,2 @@ +easyconfigs: + - UCX-CUDA-1.14.1-GCCcore-12.3.0-CUDA-12.1.1.eb From 1e19767896d3b58d5d4f36b73ea990c54b50446e Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 19 Sep 2024 10:34:39 +0200 Subject: [PATCH 14/34] Move to rebuilds --- .../20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easystacks/software.eessi.io/2023.06/{eessi-2023.06-eb-4.9.3-2023a-CUDA.yml => rebuilds/20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml} (100%) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml rename to easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml From 8b3a3cde4a2ee51f044a7c7cd4999b80b871d5ac Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 19 Sep 2024 10:49:58 +0200 Subject: [PATCH 15/34] Add comment --- .../rebuilds/20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml index bfe4a4dc52..d347af335a 100644 --- a/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-uxc-cuda-in-accel-prefix.yml @@ -1,2 +1,5 @@ +# 2024.09.19 +# We need to reinstall UCX-CUDA in the accelerator prefixes +# See https://github.com/EESSI/software-layer/pull/719 easyconfigs: - UCX-CUDA-1.14.1-GCCcore-12.3.0-CUDA-12.1.1.eb From 25475f789c3d40b25f389f58cfcfd46761094b15 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 18 Sep 2024 21:05:17 +0200 Subject: [PATCH 16/34] Add CUDA-Samples for the accelerator prefix --- .../2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml new file mode 100644 index 0000000000..01a47bbc99 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml @@ -0,0 +1,2 @@ +easyconfigs: + - CUDA-Samples-12.1-GCC-12.3.0-CUDA-12.1.1.eb From f7f2e26fa0f05f7bd3fe9bca137474456fd41433 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 19 Sep 2024 10:31:39 +0200 Subject: [PATCH 17/34] Move to rebuilds --- .../20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easystacks/software.eessi.io/2023.06/{eessi-2023.06-eb-4.9.3-2023a-CUDA.yml => rebuilds/20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml} (100%) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml rename to easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml From c30842df015a8f6217ab694f982778dce1a0d03e Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 19 Sep 2024 10:49:20 +0200 Subject: [PATCH 18/34] Add comment --- .../20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml index 01a47bbc99..da2c06ae1e 100644 --- a/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-Cuda-Samples-in-accel-prefix.yml @@ -1,2 +1,5 @@ +# 2024.09.19 +# We need to reinstall CUDA-Samples in the accelerator prefixes +# See https://github.com/EESSI/software-layer/pull/715 easyconfigs: - CUDA-Samples-12.1-GCC-12.3.0-CUDA-12.1.1.eb From 1d91f4836b848e97416cd6ba0bd878501e8062e1 Mon Sep 17 00:00:00 2001 From: lara Date: Fri, 20 Sep 2024 08:23:46 +0200 Subject: [PATCH 19/34] {2023.06}[foss/2023a] NCCL v2.18.3 w/ CUDA 12.1.1 --- .../20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/rebuilds/20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml new file mode 100644 index 0000000000..6ff3b1bfbf --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml @@ -0,0 +1,5 @@ +# 2024.09.19 +# We need to reinstall NCCL in the accelerator prefixes +# See https://github.com/EESSI/software-layer/pull/487 +easyconfigs: + - NCCL-2.18.3-GCCcore-12.3.0-CUDA-12.1.1.eb From b09b90fb8b53b452e27945c34322328aa8f3776a Mon Sep 17 00:00:00 2001 From: lara Date: Wed, 25 Sep 2024 10:05:21 +0200 Subject: [PATCH 20/34] {2023.06}[foss/2023a] NCCL 2.18.3 w/ CUDA 12.1.1 --- ...ix.yml => 20240925-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easystacks/software.eessi.io/2023.06/rebuilds/{20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml => 20240925-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml} (92%) diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240925-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml similarity index 92% rename from easystacks/software.eessi.io/2023.06/rebuilds/20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml rename to easystacks/software.eessi.io/2023.06/rebuilds/20240925-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml index 6ff3b1bfbf..d6667af9a1 100644 --- a/easystacks/software.eessi.io/2023.06/rebuilds/20240920-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240925-eb-4.9.4-NCCL-2.18.3-in-accel-prefix.yml @@ -1,4 +1,4 @@ -# 2024.09.19 +# 2024.09.25 # We need to reinstall NCCL in the accelerator prefixes # See https://github.com/EESSI/software-layer/pull/487 easyconfigs: From 6c63de6b8913d76b9f0039df772d77da1c6b1bee Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 25 Sep 2024 22:04:54 +0200 Subject: [PATCH 21/34] UCC CUDA rebuild now that we have an accel prefix --- .../rebuilds/20240925-eb-4.9.3-ucc-cuda-in-accel-prefix.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/rebuilds/20240925-eb-4.9.3-ucc-cuda-in-accel-prefix.yml diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240925-eb-4.9.3-ucc-cuda-in-accel-prefix.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240925-eb-4.9.3-ucc-cuda-in-accel-prefix.yml new file mode 100644 index 0000000000..a418086c44 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240925-eb-4.9.3-ucc-cuda-in-accel-prefix.yml @@ -0,0 +1,4 @@ +# 2024.09.19 +# We need to reinstall UCC-CUDA in the accelerator prefixes +easyconfigs: + - UCC-CUDA-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb From 9182b21d95d67a1f5604378d2d50d3bfba990057 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 24 Sep 2024 16:12:22 +0200 Subject: [PATCH 22/34] Add various tools --- .../2023.06/eessi-2023.06-eb-4.9.3-2023a.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml new file mode 100644 index 0000000000..d3927ea3f1 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml @@ -0,0 +1,6 @@ +easyconfigs: + - ccache-4.9-GCCcore-12.3.0.eb + - GDB-13.2-GCCcore-12.3.0.eb + - mold-1.11.0-GCCcore-12.3.0.eb + - tmux-3.3a-GCCcore-12.3.0.eb + - Vim-9.1.0004-GCCcore-12.3.0.eb From e181237f32b9c11a0cd5081703c8e31bb8f7f4ca Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 25 Sep 2024 11:10:51 +0200 Subject: [PATCH 23/34] Remove mold, it's a complicated case since it is a linker, and it's not urgent now --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml index d3927ea3f1..0a4a4e5554 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a.yml @@ -1,6 +1,5 @@ easyconfigs: - ccache-4.9-GCCcore-12.3.0.eb - GDB-13.2-GCCcore-12.3.0.eb - - mold-1.11.0-GCCcore-12.3.0.eb - tmux-3.3a-GCCcore-12.3.0.eb - Vim-9.1.0004-GCCcore-12.3.0.eb From c906e0c1e2e97970fb207ec7d17d598aa0c22a9e Mon Sep 17 00:00:00 2001 From: lara Date: Thu, 26 Sep 2024 15:10:52 +0200 Subject: [PATCH 24/34] use subdir accel for CUDA builds --- .../eessi-2023.06-eb-4.9.3-2023a-CUDA.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easystacks/software.eessi.io/2023.06/{eessi-2023.06-eb-4.9.3-2023-CUDA.yml => accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml} (100%) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023-CUDA.yml b/easystacks/software.eessi.io/2023.06/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023-CUDA.yml rename to easystacks/software.eessi.io/2023.06/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml From 7d59905789554b13f464ba452edba5c330ac5bf0 Mon Sep 17 00:00:00 2001 From: lara Date: Thu, 26 Sep 2024 15:47:36 +0200 Subject: [PATCH 25/34] create nvidia directory --- .../accel/{ => nvidia}/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easystacks/software.eessi.io/2023.06/accel/{ => nvidia}/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml (100%) diff --git a/easystacks/software.eessi.io/2023.06/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml rename to easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml From 31b37d609eaa50914868cd0bd29abb5def416b22 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 18 Sep 2024 21:10:44 +0200 Subject: [PATCH 26/34] Add OSU Microbenchmarks 7.2 --- .../2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml new file mode 100644 index 0000000000..cccbfa6808 --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml @@ -0,0 +1,2 @@ +easyconfigs: + - OSU-Micro-Benchmarks-7.2-gompi-2023a-CUDA-12.1.1.eb From 0f159b4bfdca7bfd43584a059fb321aca02e3613 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 19 Sep 2024 10:44:42 +0200 Subject: [PATCH 27/34] Move into rebuilds --- .../20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easystacks/software.eessi.io/2023.06/{eessi-2023.06-eb-4.9.3-2023a-CUDA.yml => rebuilds/20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml} (100%) diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml similarity index 100% rename from easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml rename to easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml From 5d85411d63199b3de4a21bfa57879294404cdcec Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Thu, 19 Sep 2024 10:45:44 +0200 Subject: [PATCH 28/34] Add comment --- .../20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml index cccbfa6808..23801e0250 100644 --- a/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml +++ b/easystacks/software.eessi.io/2023.06/rebuilds/20240919-eb-4.9.3-osu-microbenchmarks-in-accel-prefix.yml @@ -1,2 +1,5 @@ +# 2024.09.19 +# We need to reinstall OSU-Micro-Benchmarks in the accelerator prefixes +# See https://github.com/EESSI/software-layer/pull/716 easyconfigs: - OSU-Micro-Benchmarks-7.2-gompi-2023a-CUDA-12.1.1.eb From 925b48e7e5e84b2b39258659d050ceb6776a0b75 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 26 Sep 2024 20:40:04 +0200 Subject: [PATCH 29/34] use easystack file in accel/nvidia for ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb --- .../accel/nvidia/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml | 4 ++++ .../accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml | 5 ----- 2 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml index 91c4b1f472..8935a3f3c3 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml @@ -1,2 +1,6 @@ easyconfigs: - LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb + - ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb: + options: + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21440 + from-commit: 5525968921d7b5eae54f7d16391201e17ffae13c diff --git a/easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml b/easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml deleted file mode 100644 index f41bc986ec..0000000000 --- a/easystacks/software.eessi.io/accel/eessi-2023.06-eb-4.9.3-2023a-CUDA.yml +++ /dev/null @@ -1,5 +0,0 @@ -easyconfigs: - - ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb: - options: - # see https://github.com/easybuilders/easybuild-easyconfigs/pull/21440 - from-commit: 5525968921d7b5eae54f7d16391201e17ffae13c From 46ee666d435d4e2e50d6ecbf5e463a13bdca6342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 27 Sep 2024 10:28:57 +0200 Subject: [PATCH 30/34] add mapping for cpu->accelerators and check for missing accelerator builds --- .github/workflows/test-software.eessi.io.yml | 36 +++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-software.eessi.io.yml b/.github/workflows/test-software.eessi.io.yml index d4d980901f..c4e3286f6c 100644 --- a/.github/workflows/test-software.eessi.io.yml +++ b/.github/workflows/test-software.eessi.io.yml @@ -2,11 +2,25 @@ name: Check for missing software installations in software.eessi.io on: push: - branches: [ "*-software.eessi.io" ] +# branches: [ "*-software.eessi.io" ] + branches: "*" pull_request: workflow_dispatch: permissions: contents: read # to fetch code (actions/checkout) +env: + EESSI_ACCELERATOR_TARGETS: | + aarch64/generic: + aarch64/neoverse_n1: + aarch64/neoverse_v1: + x86_64/generic: + x86_64/amd/zen2: + - nvidia/cc80 + x86_64/amd/zen3: + - nvidia/cc80 + x86_64/amd/zen4: + x86_64/intel/haswell: + x86_64/intel/skylake_avx512: jobs: check_missing: runs-on: ubuntu-latest @@ -48,6 +62,8 @@ jobs: export EESSI_PREFIX=/cvmfs/software.eessi.io/versions/${{matrix.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)" for easystack_file in $(ls easystacks/software.eessi.io/${{matrix.EESSI_VERSION}}/eessi-${{matrix.EESSI_VERSION}}-eb-*.yml); do echo "check missing installations for ${easystack_file}..." @@ -56,6 +72,24 @@ jobs: if [[ ${ec} -ne 0 ]]; then echo "missing installations found for ${easystack_file}!" >&2; exit ${ec}; fi done + # now check the accelerator builds for this CPU target + accelerators=$(echo "${EESSI_ACCELERATOR_TARGETS}" | yq ".${EESSI_SOFTWARE_SUBDIR_OVERRIDE}[]") + if [ -z ${accelerators} ]; then + echo "no accelerator targets defined for ${EESSI_SOFTWARE_SUBDIR_OVERRIDE}" + else + 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 $(ls easystacks/software.eessi.io/${{matrix.EESSI_VERSION}}/accel/nvidia/eessi-${{matrix.EESSI_VERSION}}-eb-*.yml); do + echo "check missing installations for ${easystack_file}..." + ./check_missing_installations.sh ${easystack_file} + ec=$? + if [[ ${ec} -ne 0 ]]; then echo "missing installations found for ${easystack_file}!" >&2; exit ${ec}; fi + done + module unuse ${EESSI_SOFTWARE_PATH}/accel/${accel}/modules/all + done + fi + - name: Test check_missing_installations.sh with missing package (GCC/8.3.0) run: | export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}} From bd0edd18d33ed4e1ea21f9c09fe7cb07546e30af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 27 Sep 2024 11:01:11 +0200 Subject: [PATCH 31/34] remove entries without an accelerator --- .github/workflows/test-software.eessi.io.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/test-software.eessi.io.yml b/.github/workflows/test-software.eessi.io.yml index c4e3286f6c..bad392aef8 100644 --- a/.github/workflows/test-software.eessi.io.yml +++ b/.github/workflows/test-software.eessi.io.yml @@ -10,17 +10,10 @@ permissions: contents: read # to fetch code (actions/checkout) env: EESSI_ACCELERATOR_TARGETS: | - aarch64/generic: - aarch64/neoverse_n1: - aarch64/neoverse_v1: - x86_64/generic: x86_64/amd/zen2: - nvidia/cc80 x86_64/amd/zen3: - nvidia/cc80 - x86_64/amd/zen4: - x86_64/intel/haswell: - x86_64/intel/skylake_avx512: jobs: check_missing: runs-on: ubuntu-latest From af7dfc31b8f950df11d35d2ec964e8c68f1e393d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 27 Sep 2024 11:07:35 +0200 Subject: [PATCH 32/34] replace hardcoded nvidia in easystack dir by "dirname $accel" --- .github/workflows/test-software.eessi.io.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-software.eessi.io.yml b/.github/workflows/test-software.eessi.io.yml index bad392aef8..48df5f9ca3 100644 --- a/.github/workflows/test-software.eessi.io.yml +++ b/.github/workflows/test-software.eessi.io.yml @@ -73,7 +73,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 $(ls easystacks/software.eessi.io/${{matrix.EESSI_VERSION}}/accel/nvidia/eessi-${{matrix.EESSI_VERSION}}-eb-*.yml); do + for easystack_file in $(ls easystacks/software.eessi.io/${{matrix.EESSI_VERSION}}/accel/$(dirname ${accel})/eessi-${{matrix.EESSI_VERSION}}-eb-*.yml); do echo "check missing installations for ${easystack_file}..." ./check_missing_installations.sh ${easystack_file} ec=$? From 645ea271a4f4781ed9b2781964fb1a3b8d6b08b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 27 Sep 2024 11:27:08 +0200 Subject: [PATCH 33/34] only run on *-software.eessi.io branches again --- .github/workflows/test-software.eessi.io.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test-software.eessi.io.yml b/.github/workflows/test-software.eessi.io.yml index 48df5f9ca3..e247c96676 100644 --- a/.github/workflows/test-software.eessi.io.yml +++ b/.github/workflows/test-software.eessi.io.yml @@ -2,8 +2,7 @@ name: Check for missing software installations in software.eessi.io on: push: -# branches: [ "*-software.eessi.io" ] - branches: "*" + branches: [ "*-software.eessi.io" ] pull_request: workflow_dispatch: permissions: From 748300c7cdb9df39bf75b01d4265b388f8a92246 Mon Sep 17 00:00:00 2001 From: lara Date: Fri, 27 Sep 2024 19:43:54 +0200 Subject: [PATCH 34/34] {2023.06}[system,zen4] EasyBuild v4.9.0 and v4.8.2 for zen4 --- .../2023.06/zen4/eessi-2023.06-eb-4.9.3-001-system.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/zen4/eessi-2023.06-eb-4.9.3-001-system.yml b/easystacks/software.eessi.io/2023.06/zen4/eessi-2023.06-eb-4.9.3-001-system.yml index 1e30631e57..25337649ce 100644 --- a/easystacks/software.eessi.io/2023.06/zen4/eessi-2023.06-eb-4.9.3-001-system.yml +++ b/easystacks/software.eessi.io/2023.06/zen4/eessi-2023.06-eb-4.9.3-001-system.yml @@ -1,2 +1,4 @@ easyconfigs: - Nextflow-23.10.0.eb + - EasyBuild-4.8.2.eb + - EasyBuild-4.9.0.eb