Skip to content

Commit a4033bf

Browse files
authored
Merge pull request #269 from ocaisa/cuda_easystack_fail_2023.06
2 parents 0093063 + 74e8c09 commit a4033bf

3 files changed

Lines changed: 44 additions & 4 deletions

File tree

scripts/gpu_support/nvidia/easystacks/2023.06/eessi-2023.06-eb-5.3.0-2023a-CUDA-host-injections.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ easyconfigs:
77
# needed to enforce acceptance of EULA in cuDNN easyblock,
88
# see https://github.com/easybuilders/easybuild-easyblocks/pull/3473
99
include-easyblocks-from-commit: 11afb88ec55e0ca431cbe823696aa43e2a9bfca8
10+
# Don't fail for missing PTX
11+
cuda-sanity-check-accept-missing-ptx: True

scripts/gpu_support/nvidia/install_cuda_and_libraries.sh

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,18 @@ echo "Created temporary directory '${tmpdir}'"
9292
# Store MODULEPATH so it can be restored at the end of each loop iteration
9393
SAVE_MODULEPATH=${MODULEPATH}
9494

95-
for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do
95+
# Check if NVIDIA_EASYSTACKS_DIRECTORY is already set and not empty
96+
if [ -n "${NVIDIA_EASYSTACKS_DIRECTORY}" ]; then
97+
echo_yellow "Using environment override NVIDIA_EASYSTACKS_DIRECTORY: ${NVIDIA_EASYSTACKS_DIRECTORY}"
98+
else
99+
NVIDIA_EASYSTACKS_DIRECTORY="${TOPDIR}/easystacks"
100+
echo_green "NVIDIA_EASYSTACKS_DIRECTORY environment variable override is not set, using default ${NVIDIA_EASYSTACKS_DIRECTORY}"
101+
fi
102+
# Initialize an empty array to store the processed easystack paths
103+
PROCESSED_EASYSTACK_FILES=()
104+
for EASYSTACK_FILE in ${NVIDIA_EASYSTACKS_DIRECTORY}/eessi-*CUDA*.yml; do
105+
# The file must exist
106+
[ -e "${EASYSTACK_FILE}" ] || continue
96107
echo -e "Processing easystack file ${EASYSTACK_FILE}...\n\n"
97108

98109
# determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file
@@ -267,6 +278,7 @@ for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do
267278
fatal_error "some installation failed, please check EasyBuild logs ${PWD}/$(basename ${eb_last_log})..."
268279
else
269280
echo_green "all installations at ${EASYBUILD_INSTALLPATH}/software/... succeeded!"
281+
PROCESSED_EASYSTACK_FILES+=("${EASYSTACK_FILE}")
270282
fi
271283

272284
# clean up tmpdir content
@@ -275,5 +287,16 @@ for EASYSTACK_FILE in ${TOPDIR}/easystacks/eessi-*CUDA*.yml; do
275287
# Restore MODULEPATH for next loop iteration
276288
MODULEPATH=${SAVE_MODULEPATH}
277289
done
290+
291+
# Check that we processed at least one easystack file
292+
if [ ${#PROCESSED_EASYSTACK_FILES[@]} -gt 0 ]; then
293+
echo_green "${#PROCESSED_EASYSTACK_FILES[@]} easystack files processed:"
294+
for EASYSTACK_FILE in "${PROCESSED_EASYSTACK_FILES[@]}"; do
295+
echo_green "- ${EASYSTACK_FILE}"
296+
done
297+
else
298+
fatal_error "Error: No matching CUDA easystack files were successfully found/processed in ${NVIDIA_EASYSTACKS_DIRECTORY}!"
299+
fi
300+
278301
# Remove the temporary directory
279302
rm -rf "${tmpdir}"

scripts/gpu_support/nvidia/link_nvidia_host_libraries.sh

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ get_nvlib_list() {
110110

111111
# see https://apptainer.org/docs/admin/1.0/configfiles.html#nvidia-gpus-cuda
112112
# https://github.com/apptainer/apptainer/commits/main/etc/nvliblist.conf
113-
# This default_nvlib_list is based on this commit on Oct 1, 2024:
114-
# https://github.com/apptainer/apptainer/commit/a19fa01527a8914839b8d1649688f83c61ba9ad2
113+
# This default_nvlib_list is based on this commit on July 24, 2026:
114+
# https://github.com/apptainer/apptainer/commit/b86c0aa171357c7be265d3130ab4f13a4061422f
115115
# TODO: driver version which corresponds to?
116116
local default_nvlib_list=(
117117
"libcuda.so"
@@ -130,6 +130,9 @@ get_nvlib_list() {
130130
"libglx.so"
131131
"libGLX.so"
132132
"libnvcuvid.so"
133+
"libnvcucompat.so"
134+
"libnvcudla.so"
135+
"libnvcuextend.so"
133136
"libnvidia-cbl.so"
134137
"libnvidia-cfg.so"
135138
"libnvidia-compiler.so"
@@ -150,10 +153,23 @@ get_nvlib_list() {
150153
"libnvidia-opencl.so"
151154
"libnvidia-opticalflow.so"
152155
"libnvidia-ptxjitcompiler.so"
156+
"libnvidia-rmapi-tegra.so"
153157
"libnvidia-rtcore.so"
154158
"libnvidia-tls.so"
155159
"libnvidia-wfb.so"
156160
"libnvoptix.so"
161+
"libnvos.so"
162+
"libnvosd.so"
163+
"libnvrm_chip.so"
164+
"libnvrm_gpu.so"
165+
"libnvrm_host1x.so"
166+
"libnvrm_mem.so"
167+
"libnvrm_stream.so"
168+
"libnvrm_surface.so"
169+
"libnvrm_sync.so"
170+
"libnvsciipc.so"
171+
"libnvsocsys.so"
172+
"libnvtegrahv.so"
157173
"libOpenCL.so"
158174
"libOpenGL.so"
159175
"libvdpau_nvidia.so"
@@ -820,4 +836,3 @@ fi
820836

821837
# If everything went OK, show success message
822838
echo_green "Host NVIDIA GPU drivers linked successfully for EESSI"
823-

0 commit comments

Comments
 (0)