From e4f37fe7dce39bd7e36b7b0cd194a22ed47c096b Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Thu, 21 Nov 2024 21:25:05 +0100 Subject: [PATCH 01/12] DEBUG {2023.06}[foss/2023a] PyTorch v2.1.2 w/ CUDA 12.1.1 --- .../2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023a-CUDA.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023a-CUDA.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023a-CUDA.yml index 873c19aa33..26ab9d97ec 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023a-CUDA.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023a-CUDA.yml @@ -1,3 +1,4 @@ easyconfigs: - CUDA-12.1.1.eb - cuDNN-8.9.2.26-CUDA-12.1.1.eb + - PyTorch-2.1.2-foss-2023a-CUDA-12.1.1.eb From 45046752faa327d5990e00b3006c1f6f188c3924 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Fri, 22 Nov 2024 09:12:10 +0100 Subject: [PATCH 02/12] add pre_configure hook for PyTorch to add CUPTI lib64 dir to LIBRARY_PATH --- eb_hooks.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index 03642656ea..63e79ebf51 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -604,6 +604,32 @@ def pre_configure_hook_LAMMPS_zen4(self, *args, **kwargs): raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!") + +def pre_configure_hook_pytorch_add_cupti_libdir(self, *args, **kwargs): + """ + Pre-configure hook for PyTorch: add directory $EESSI_SOFTWARE_PATH/software/CUDA/12.1.1/extras/CUPTI/lib64 to LIBRARY_PATH + """ + if self.name == 'PyTorch' and self.version == '2.1.2': + if 'cudaver' in self.cfg.template_values and self.cfg.template_values['cudaver'] == '12.1.1': + _cudaver = self.cfg.template_values['cudaver'] + print_msg("pre_configure_hook_pytorch_add_cupti_libdir: CUDA version: '%s'" % _cudaver) + _library_path = os.getenv('LIBRARY_PATH') + print_msg("pre_configure_hook_pytorch_add_cupti_libdir: library_path: '%s'", _library_path) + _eessi_software_path = os.getenv('EESSI_SOFTWARE_PATH') + print_msg("pre_configure_hook_pytorch_add_cupti_libdir: eessi_software_path: '%s'", _eessi_software_path) + _cupti_lib_dir = os.path.join(_eessi_software_path, 'software', 'CUDA', _cudaver, 'extras', 'CUPTI', 'lib64') + print_msg("pre_configure_hook_pytorch_add_cupti_libdir: cupti_lib_dir: '%s'", _cupti_lib_dir) + if _library_path: + env.setvar('LIBRARY_PATH', ':'.join([_library_path, _cupti_lib_dir])) + else: + env.setvar('LIBRARY_PATH', _cupti_lib_dir) + print_msg("pre_configure_hook_pytorch_add_cupti_libdir: LIBRARY_PATH: '%s'", os.getenv('LIBRARY_PATH')) + else: + print_msg("PyTorch/2.1.2-specific pre_configure hook triggered for non-CUDA or non-CUDA/12.1.1 easyconfig triggered; NOT adding CUPTI lib64 dir to LIBRARY_PATH") + else: + raise EasyBuildError("PyTorch/2.1.2-specific pre_configure hook triggered for non-PyTorch/2.1.2 easyconfig?!") + + 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: @@ -995,6 +1021,7 @@ def inject_gpu_property(ec): 'OpenBLAS': pre_configure_hook_openblas_optarch_generic, 'WRF': pre_configure_hook_wrf_aarch64, 'LAMMPS': pre_configure_hook_LAMMPS_zen4, + 'PyTorch': pre_configure_hook_pytorch_add_cupti_libdir, 'Score-P': pre_configure_hook_score_p, } From 6140430bb903a9c9c2c2a5744928625a2adfda3b Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sat, 23 Nov 2024 11:30:02 +0100 Subject: [PATCH 03/12] add cupti lib dir to LIBRARY_PATH in CUDA module --- eb_hooks.py | 39 ++++++++++++--------------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index 63e79ebf51..39eb8c7f65 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -604,32 +604,6 @@ def pre_configure_hook_LAMMPS_zen4(self, *args, **kwargs): raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!") - -def pre_configure_hook_pytorch_add_cupti_libdir(self, *args, **kwargs): - """ - Pre-configure hook for PyTorch: add directory $EESSI_SOFTWARE_PATH/software/CUDA/12.1.1/extras/CUPTI/lib64 to LIBRARY_PATH - """ - if self.name == 'PyTorch' and self.version == '2.1.2': - if 'cudaver' in self.cfg.template_values and self.cfg.template_values['cudaver'] == '12.1.1': - _cudaver = self.cfg.template_values['cudaver'] - print_msg("pre_configure_hook_pytorch_add_cupti_libdir: CUDA version: '%s'" % _cudaver) - _library_path = os.getenv('LIBRARY_PATH') - print_msg("pre_configure_hook_pytorch_add_cupti_libdir: library_path: '%s'", _library_path) - _eessi_software_path = os.getenv('EESSI_SOFTWARE_PATH') - print_msg("pre_configure_hook_pytorch_add_cupti_libdir: eessi_software_path: '%s'", _eessi_software_path) - _cupti_lib_dir = os.path.join(_eessi_software_path, 'software', 'CUDA', _cudaver, 'extras', 'CUPTI', 'lib64') - print_msg("pre_configure_hook_pytorch_add_cupti_libdir: cupti_lib_dir: '%s'", _cupti_lib_dir) - if _library_path: - env.setvar('LIBRARY_PATH', ':'.join([_library_path, _cupti_lib_dir])) - else: - env.setvar('LIBRARY_PATH', _cupti_lib_dir) - print_msg("pre_configure_hook_pytorch_add_cupti_libdir: LIBRARY_PATH: '%s'", os.getenv('LIBRARY_PATH')) - else: - print_msg("PyTorch/2.1.2-specific pre_configure hook triggered for non-CUDA or non-CUDA/12.1.1 easyconfig triggered; NOT adding CUPTI lib64 dir to LIBRARY_PATH") - else: - raise EasyBuildError("PyTorch/2.1.2-specific pre_configure hook triggered for non-PyTorch/2.1.2 easyconfig?!") - - 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: @@ -782,6 +756,7 @@ 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. + Also prepend path for CUPTI lib64 dir to LIBRARY_PATH. """ # We need to check if we are doing an EESSI-distributed installation @@ -824,6 +799,17 @@ def post_postproc_cuda(self, *args, **kwargs): # replace files that are not distributable with symlinks into # host_injections replace_non_distributable_files_with_symlinks(self.log, self.installdir, self.name, allowlist) + + # prepend CUPTI/lib64 dir to LIBRARY_PATH + if 'modluafooter' in self.cfg: + modluafooter = self.cfg['modluafooter'] + '\n' + else: + modluafooter = '' + print_msg("post_postproc_cuda hook: old modluafooter = '%s'", modluafooter) + cupti_lib_dir = os.path.join(self.installdir, "extras", "CUPTI", "lib64") + modluafooter = modluafooter + f'prepend_path("LIBRARY_PATH", {cupti_lib_dir})\n' + self.cfg['modluafooter'] = modluafooter + print_msg("post_postproc_cuda hook: new modluafooter = '%s'", self.cfg['modluafooter']) else: raise EasyBuildError("CUDA-specific hook triggered for non-CUDA easyconfig?!") @@ -1021,7 +1007,6 @@ def inject_gpu_property(ec): 'OpenBLAS': pre_configure_hook_openblas_optarch_generic, 'WRF': pre_configure_hook_wrf_aarch64, 'LAMMPS': pre_configure_hook_LAMMPS_zen4, - 'PyTorch': pre_configure_hook_pytorch_add_cupti_libdir, 'Score-P': pre_configure_hook_score_p, } From eff0de6bb3f7b157df1d0aa28b8f261d6ac93d39 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sat, 23 Nov 2024 11:34:45 +0100 Subject: [PATCH 04/12] rebuild CUDA with added CUPTI lib dir --- .../20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml new file mode 100644 index 0000000000..fa8c12e6ee --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml @@ -0,0 +1,7 @@ +# 2024.11.23 +# We add extras/CUPTI/lib64 to LIBRRY_PATH or the rpath wrappers won't add this +# directory to the RPATH search path and executables/libraries depending on it +# may not find libraries in it. +easyconfigs: + - CUDA-12.1.1.eb + From 4218d0180036dea63bcf72175a6dcef001abf7df Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sat, 23 Nov 2024 12:05:54 +0100 Subject: [PATCH 05/12] force rebuilding CUDA --- .../20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml index fa8c12e6ee..30498c2523 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml @@ -3,5 +3,9 @@ # directory to the RPATH search path and executables/libraries depending on it # may not find libraries in it. easyconfigs: - - CUDA-12.1.1.eb + - CUDA-12.1.1.eb: + # we need to force the rebuild because we still have CUDA under a non-accel + # directory available + options: + force: True From 9322c19ee2293cab51d7ccad10015eb2d11e918d Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sat, 23 Nov 2024 12:42:54 +0100 Subject: [PATCH 06/12] add a little debug info to verify if package will be removed --- EESSI-remove-software.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/EESSI-remove-software.sh b/EESSI-remove-software.sh index 1a03a7af98..6e43a298b4 100755 --- a/EESSI-remove-software.sh +++ b/EESSI-remove-software.sh @@ -118,6 +118,7 @@ if [ $EUID -eq 0 ]; then # we need to remove existing installation directories first, # so let's figure out which modules have to be rebuilt by doing a dry-run and grepping "someapp/someversion" for the relevant lines (with [R]) # * [R] $CFGS/s/someapp/someapp-someversion.eb (module: someapp/someversion) + eb --allow-use-as-root-and-accept-consequences --dry-run-short --rebuild --easystack ${easystack_file} rebuild_apps=$(eb --allow-use-as-root-and-accept-consequences --dry-run-short --rebuild --easystack ${easystack_file} | grep "^ \* \[R\]" | grep -o "module: .*[^)]" | awk '{print $2}') for app in ${rebuild_apps}; do # Returns e.g. /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/modules/all: From 892337ac592effaaf46700b190b6c67c0e8cd4f8 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sat, 23 Nov 2024 13:03:18 +0100 Subject: [PATCH 07/12] also match output when force option is used --- EESSI-remove-software.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/EESSI-remove-software.sh b/EESSI-remove-software.sh index 6e43a298b4..612c4e45d5 100755 --- a/EESSI-remove-software.sh +++ b/EESSI-remove-software.sh @@ -116,10 +116,15 @@ if [ $EUID -eq 0 ]; then if [ -f ${easystack_file} ]; then echo_green "Software rebuild(s) requested in ${easystack_file}, so determining which existing installation have to be removed..." # we need to remove existing installation directories first, - # so let's figure out which modules have to be rebuilt by doing a dry-run and grepping "someapp/someversion" for the relevant lines (with [R]) + # so let's figure out which modules have to be rebuilt by doing a + # dry-run and grepping "someapp/someversion" for the relevant + # lines (with [R] or [F], the latter may be shown when the option + # --force is used) # * [R] $CFGS/s/someapp/someapp-someversion.eb (module: someapp/someversion) + # or + # * [F] $CFGS/s/someapp/someapp-someversion.eb (module: someapp/someversion) eb --allow-use-as-root-and-accept-consequences --dry-run-short --rebuild --easystack ${easystack_file} - rebuild_apps=$(eb --allow-use-as-root-and-accept-consequences --dry-run-short --rebuild --easystack ${easystack_file} | grep "^ \* \[R\]" | grep -o "module: .*[^)]" | awk '{print $2}') + rebuild_apps=$(eb --allow-use-as-root-and-accept-consequences --dry-run-short --rebuild --easystack ${easystack_file} | grep "^ \* \[[FR]\]" | grep -o "module: .*[^)]" | awk '{print $2}') for app in ${rebuild_apps}; do # Returns e.g. /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen2/modules/all: app_modulepath=$(module --terse av ${app} 2>&1 | head -n 1 | sed 's/://') From 13f5946211bdf23b9bda17f260263addbfbd2877 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sat, 23 Nov 2024 13:21:56 +0100 Subject: [PATCH 08/12] also need to accept EULA for CUDA --- .../20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml index 30498c2523..63a1151b91 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml @@ -8,4 +8,4 @@ easyconfigs: # directory available options: force: True - + accept-eula-for: CUDA From d3345ea6f9e6a1d8b2965eb891d5929fa95f89df Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sat, 23 Nov 2024 20:05:14 +0100 Subject: [PATCH 09/12] add CUPTI lib dir in parse_hook, use pathJoin and root --- eb_hooks.py | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index 39eb8c7f65..e28ee8b21a 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -217,6 +217,27 @@ def parse_hook_cgal_toolchainopts_precise(ec, eprefix): raise EasyBuildError("CGAL-specific hook triggered for non-CGAL easyconfig?!") +def parse_hook_cuda_prepend_path_cupti(ec, eprefix): + """Add prepend_path(LIBRARY_PATH, CUPTI lib dir) to modluafooter.""" + if ec.name == 'CUDA': + ec_dict = ec.asdict() + modluafooter = 'modluafooter' + cupti_lib_dir = os.path.join("extras", "CUPTI", "lib64") + extra_mod_footer_lines = [f'prepend_path("LIBRARY_PATH", pathJoin(root, {cupti_lib_dir}))'] + if modluafooter in ec_dict: + print_msg("parse_hook_cuda...: old modluafooter = '%s'", ec_dict[modluafooter]) + value = ec_dict[modluafooter] + for line in extra_mod_footer_lines: + if not line in value: + value = '\n'.join([value, line]) + ec[modluafooter] = value + else: + ec[modluafooter] = '\n'.join(extra_mod_footer_lines) + print_msg("parse_hook_cuda...: new modluafooter = '%s'", ec[modluafooter]) + else: + raise EasyBuildError("CUDA-specific hook triggered for non-CUDA easyconfig?!") + + def parse_hook_fontconfig_add_fonts(ec, eprefix): """Inject --with-add-fonts configure option for fontconfig.""" if ec.name == 'fontconfig': @@ -756,7 +777,6 @@ 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. - Also prepend path for CUPTI lib64 dir to LIBRARY_PATH. """ # We need to check if we are doing an EESSI-distributed installation @@ -799,17 +819,6 @@ def post_postproc_cuda(self, *args, **kwargs): # replace files that are not distributable with symlinks into # host_injections replace_non_distributable_files_with_symlinks(self.log, self.installdir, self.name, allowlist) - - # prepend CUPTI/lib64 dir to LIBRARY_PATH - if 'modluafooter' in self.cfg: - modluafooter = self.cfg['modluafooter'] + '\n' - else: - modluafooter = '' - print_msg("post_postproc_cuda hook: old modluafooter = '%s'", modluafooter) - cupti_lib_dir = os.path.join(self.installdir, "extras", "CUPTI", "lib64") - modluafooter = modluafooter + f'prepend_path("LIBRARY_PATH", {cupti_lib_dir})\n' - self.cfg['modluafooter'] = modluafooter - print_msg("post_postproc_cuda hook: new modluafooter = '%s'", self.cfg['modluafooter']) else: raise EasyBuildError("CUDA-specific hook triggered for non-CUDA easyconfig?!") @@ -977,6 +986,7 @@ def inject_gpu_property(ec): PARSE_HOOKS = { 'casacore': parse_hook_casacore_disable_vectorize, 'CGAL': parse_hook_cgal_toolchainopts_precise, + 'CUDA': parse_hook_cuda_prepend_path_cupti, 'fontconfig': parse_hook_fontconfig_add_fonts, 'FreeImage': parse_hook_freeimage_aarch64, 'grpcio': parse_hook_grpcio_zlib, From 8df8a21268b1cb8d02a2b50eb8d63762fd564ea9 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sun, 24 Nov 2024 00:41:57 +0100 Subject: [PATCH 10/12] quote path in module file --- eb_hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index e28ee8b21a..3b8ecd2009 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -223,7 +223,7 @@ def parse_hook_cuda_prepend_path_cupti(ec, eprefix): ec_dict = ec.asdict() modluafooter = 'modluafooter' cupti_lib_dir = os.path.join("extras", "CUPTI", "lib64") - extra_mod_footer_lines = [f'prepend_path("LIBRARY_PATH", pathJoin(root, {cupti_lib_dir}))'] + extra_mod_footer_lines = [f'prepend_path("LIBRARY_PATH", pathJoin(root, "{cupti_lib_dir}"))'] if modluafooter in ec_dict: print_msg("parse_hook_cuda...: old modluafooter = '%s'", ec_dict[modluafooter]) value = ec_dict[modluafooter] From 32e1c8efeb34e46984a8c1f43de02b9f9c1f7c07 Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Sun, 24 Nov 2024 11:21:35 +0100 Subject: [PATCH 11/12] use updated easyblock for CUDA, disable parse_hook --- .../20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml | 2 ++ eb_hooks.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml index 63a1151b91..1cc8cce248 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml @@ -6,6 +6,8 @@ easyconfigs: - CUDA-12.1.1.eb: # we need to force the rebuild because we still have CUDA under a non-accel # directory available + # see https://github.com/easybuilders/easybuild-easyblocks/pull/3516 options: force: True accept-eula-for: CUDA + include-easyblocks-from-commit: dd3f00a5db62e44729b6193ee52edf556698a56f diff --git a/eb_hooks.py b/eb_hooks.py index 3b8ecd2009..d669fb51e0 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -986,7 +986,7 @@ def inject_gpu_property(ec): PARSE_HOOKS = { 'casacore': parse_hook_casacore_disable_vectorize, 'CGAL': parse_hook_cgal_toolchainopts_precise, - 'CUDA': parse_hook_cuda_prepend_path_cupti, + # 'CUDA': parse_hook_cuda_prepend_path_cupti, 'fontconfig': parse_hook_fontconfig_add_fonts, 'FreeImage': parse_hook_freeimage_aarch64, 'grpcio': parse_hook_grpcio_zlib, From 4ac3218fbab00c7f9b70f2e2ddaca0385b96268d Mon Sep 17 00:00:00 2001 From: Thomas Roeblitz Date: Mon, 25 Nov 2024 14:57:28 +0100 Subject: [PATCH 12/12] use latest commit for cuda.py easyblock --- .../20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml index 1cc8cce248..b06806da22 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/rebuilds/20241123-eb-4.9.4-CUDA-12.1.1-add-cupti-lib-dir.yml @@ -10,4 +10,4 @@ easyconfigs: options: force: True accept-eula-for: CUDA - include-easyblocks-from-commit: dd3f00a5db62e44729b6193ee52edf556698a56f + include-easyblocks-from-commit: 5077104baf2e0c80d035ba65e5bca3e4d7ce30d1