From a1f407340339cee2b8517121ceebe56d90847b7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 19 Nov 2024 14:40:52 +0100 Subject: [PATCH 1/7] add CUDA 12.4.0 and UCX-CUDA 1.15.0 for 2023b --- .../2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml new file mode 100644 index 0000000000..3fd439d0dc --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml @@ -0,0 +1,3 @@ +easyconfigs: + - CUDA-12.4.0.eb + - UCX-CUDA-1.15.0.eb From 6c07b17be28c0263bab8f14e95b31a29eaff96ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 19 Nov 2024 14:45:24 +0100 Subject: [PATCH 2/7] add easystack for 2023b, with CUDA 12.4.0 in it --- .../eessi-2023.06-eb-4.9.4-2023b-CUDA-host-injections.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 scripts/gpu_support/nvidia/easystacks/eessi-2023.06-eb-4.9.4-2023b-CUDA-host-injections.yml diff --git a/scripts/gpu_support/nvidia/easystacks/eessi-2023.06-eb-4.9.4-2023b-CUDA-host-injections.yml b/scripts/gpu_support/nvidia/easystacks/eessi-2023.06-eb-4.9.4-2023b-CUDA-host-injections.yml new file mode 100644 index 0000000000..5cfec813f6 --- /dev/null +++ b/scripts/gpu_support/nvidia/easystacks/eessi-2023.06-eb-4.9.4-2023b-CUDA-host-injections.yml @@ -0,0 +1,4 @@ +# This EasyStack provides a list of all the EasyConfigs that should be installed in host_injections +# for nvidia GPU support, because they cannot (fully) be shipped as part of EESSI due to license constraints +easyconfigs: + - CUDA-12.4.0.eb From 0959f2db0fd820f0d335341d83f3207b559c51fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 19 Nov 2024 14:46:17 +0100 Subject: [PATCH 3/7] add 2023b easystack for host injection installations --- install_scripts.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install_scripts.sh b/install_scripts.sh index 8787888c79..c5a9a556c2 100755 --- a/install_scripts.sh +++ b/install_scripts.sh @@ -132,6 +132,7 @@ copy_files_by_list ${TOPDIR}/scripts/gpu_support/nvidia ${INSTALL_PREFIX}/script # Easystacks to be used to install software in host injections host_injections_easystacks=( eessi-2023.06-eb-4.9.4-2023a-CUDA-host-injections.yml + eessi-2023.06-eb-4.9.4-2023b-CUDA-host-injections.yml ) copy_files_by_list ${TOPDIR}/scripts/gpu_support/nvidia/easystacks \ ${INSTALL_PREFIX}/scripts/gpu_support/nvidia/easystacks "${host_injections_easystacks[@]}" From 37d57715fcaac1fd5f8583bbc6cd6872bdc90754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 19 Nov 2024 15:22:28 +0100 Subject: [PATCH 4/7] accept CUDA eula --- .../2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml index 3fd439d0dc..0001b5db16 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml @@ -1,3 +1,5 @@ easyconfigs: - CUDA-12.4.0.eb + options: + accept-eula-for: CUDA - UCX-CUDA-1.15.0.eb From 1191204d620a041fde635d4757b92f04d96ce32f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 19 Nov 2024 15:40:15 +0100 Subject: [PATCH 5/7] add missing colon --- .../2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml index 0001b5db16..c549ebdd70 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml @@ -1,5 +1,5 @@ easyconfigs: - - CUDA-12.4.0.eb + - CUDA-12.4.0.eb: options: accept-eula-for: CUDA - UCX-CUDA-1.15.0.eb From 4518029454bb51ca810a18dc275cdb9324131676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 19 Nov 2024 15:47:40 +0100 Subject: [PATCH 6/7] fix name of UCX-CUDA easyconfig --- .../2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml index c549ebdd70..5f195b3714 100644 --- a/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml +++ b/easystacks/software.eessi.io/2023.06/accel/nvidia/eessi-2023.06-eb-4.9.4-2023b-CUDA.yml @@ -2,4 +2,4 @@ easyconfigs: - CUDA-12.4.0.eb: options: accept-eula-for: CUDA - - UCX-CUDA-1.15.0.eb + - UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb From 3091a3194c975cb1ccad0eb99b91c23731569400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Tue, 26 Nov 2024 09:06:28 +0100 Subject: [PATCH 7/7] fix typo in EULA: replace libnvrtx-builtins_static by libnvrtc-builtins_static --- eb_hooks.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index 03642656ea..8a12d63d7e 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -786,6 +786,11 @@ def post_postproc_cuda(self, *args, **kwargs): for word in line.split(): if any(ext in word for ext in file_extensions): allowlist.append(os.path.splitext(word)[0]) + # The EULA of CUDA 12.4 introduced a typo (confirmed by NVIDIA): + # libnvrtx-builtins_static.so should be libnvrtc-builtins_static.so + if 'libnvrtx-builtins_static' in allowlist: + allowlist.remove('libnvrtx-builtins_static') + allowlist.append('libnvrtc-builtins_static') allowlist = sorted(set(allowlist)) self.log.info("Allowlist for files in CUDA installation that can be redistributed: " + ', '.join(allowlist))