diff --git a/features/src/nvhpc/.bashrc b/features/src/nvhpc/.bashrc index 0bfffd56..75e78075 100644 --- a/features/src/nvhpc/.bashrc +++ b/features/src/nvhpc/.bashrc @@ -1,3 +1,7 @@ +export NVHPC_CUDA_VERSION="${NVHPC_CUDA_VERSION}"; +export NVHPC_CUDA_VERSION_MAJOR="${NVHPC_CUDA_VERSION_MAJOR}"; +export NVHPC_CUDA_VERSION_MINOR="${NVHPC_CUDA_VERSION_MINOR}"; +export NVHPC_CUDA_VERSION_PATCH="${NVHPC_CUDA_VERSION_PATCH}"; export NVHPC="${NVHPC}"; export NVHPC_VERSION="${NVHPC_VERSION}"; export NVHPC_VERSION_MAJOR="${NVHPC_VERSION_MAJOR}"; diff --git a/features/src/nvhpc/devcontainer-feature.json b/features/src/nvhpc/devcontainer-feature.json index b35ae53d..9fc79b56 100644 --- a/features/src/nvhpc/devcontainer-feature.json +++ b/features/src/nvhpc/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "NVHPC SDK", "id": "nvhpc", - "version": "26.4.1", + "version": "26.4.2", "description": "A feature to install the NVHPC SDK", "options": { "version": { diff --git a/features/src/nvhpc/etc/profile.d/nvhpc.sh b/features/src/nvhpc/etc/profile.d/nvhpc.sh index 3edabc80..7d7da673 100755 --- a/features/src/nvhpc/etc/profile.d/nvhpc.sh +++ b/features/src/nvhpc/etc/profile.d/nvhpc.sh @@ -9,7 +9,8 @@ if [ -n "${PATH##*"${NVHPC_ROOT}/compilers/bin"*}" ]; then fi done unset NVHPC_MODULEFILES_DIR; - for NVHPC_MODULE_NAME in "nvhpc-hpcx/${NVHPC_VERSION}"; do + for NVHPC_MODULE_NAME in "nvhpc-hpcx-cuda${NVHPC_CUDA_VERSION_MAJOR}/${NVHPC_VERSION}" \ + "nvhpc-hpcx/${NVHPC_VERSION}"; do if ! module list "${NVHPC_MODULE_NAME}" 2>&1 | grep -q 'None found.'; then if ! module list 2>&1 | grep -q "${NVHPC_MODULE_NAME}"; then module try-load "${NVHPC_MODULE_NAME}" >/dev/null 2>&1; diff --git a/features/src/nvhpc/install.sh b/features/src/nvhpc/install.sh index be96cb78..2349d0dc 100644 --- a/features/src/nvhpc/install.sh +++ b/features/src/nvhpc/install.sh @@ -68,6 +68,12 @@ if ! test -L /usr/local/cuda; then ln -s "${NVHPC_CUDA_HOME}" /usr/local/cuda; fi +cuda_ver=$(grep "#define CUDA_VERSION" "${NVHPC_CUDA_HOME}/include/cuda.h" | cut -d' ' -f3); +export NVHPC_CUDA_VERSION_MAJOR="$((cuda_ver / 1000))"; +export NVHPC_CUDA_VERSION_MINOR="$((cuda_ver / 10 % 100))"; +export NVHPC_CUDA_VERSION_PATCH="$((cuda_ver % 10))"; +export NVHPC_CUDA_VERSION="$NVHPC_CUDA_VERSION_MAJOR.$NVHPC_CUDA_VERSION_MINOR.$NVHPC_CUDA_VERSION_PATCH"; + bash "${NVHPC_ROOT}/compilers/bin/makelocalrc" \ -x "${NVHPC_ROOT}/compilers/bin" \ -gcc "$(which gcc)" \ @@ -76,6 +82,10 @@ bash "${NVHPC_ROOT}/compilers/bin/makelocalrc" \ vars_=(); vars_+=('$NVHPC'); +vars_+=('$NVHPC_CUDA_VERSION'); +vars_+=('$NVHPC_CUDA_VERSION_MAJOR'); +vars_+=('$NVHPC_CUDA_VERSION_MINOR'); +vars_+=('$NVHPC_CUDA_VERSION_PATCH'); vars_+=('$NVHPC_VERSION'); vars_+=('$NVHPC_VERSION_MAJOR'); vars_+=('$NVHPC_VERSION_MINOR');