Skip to content

Commit

Permalink
cuda 12.3 to 12.5 support
Browse files Browse the repository at this point in the history
  • Loading branch information
prathameshzarkar9 committed Sep 16, 2024
1 parent 0b53c1b commit 4276368
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 12 deletions.
9 changes: 1 addition & 8 deletions src/nvidia-cuda/devcontainer-feature.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"id": "nvidia-cuda",
"version": "1.1.3",
"version": "1.1.4",
"name": "NVIDIA CUDA",
"description": "Installs shared libraries for NVIDIA CUDA.",
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/nvidia-cuda",
Expand Down Expand Up @@ -77,13 +77,6 @@
"9.2.0.82",
"9.2.1.18",
"9.3.0.75",
"9.4.0.58",
"9.0.0.312",
"9.1.0.70",
"9.1.1.17",
"9.2.0.82",
"9.2.1.18",
"9.3.0.75",
"9.4.0.58"
],
"default": "8.6.0.163",
Expand Down
14 changes: 10 additions & 4 deletions src/nvidia-cuda/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ apt-get update -yq
cuda_pkg="cuda-libraries-${CUDA_VERSION/./-}"
nvtx_pkg="cuda-nvtx-${CUDA_VERSION/./-}"
toolkit_pkg="cuda-toolkit-${CUDA_VERSION/./-}"
major_cudnn_version=$(echo "${CUDNN_VERSION}" | cut -d '.' -f 1)
major_cuda_version=$(echo "${CUDA_VERSION}" | cut -d '.' -f 1)
if ! apt-cache show "$cuda_pkg"; then
echo "The requested version of CUDA is not available: CUDA $CUDA_VERSION"
exit 1
Expand All @@ -68,14 +70,12 @@ echo "Installing CUDA libraries..."
apt-get install -yq "$cuda_pkg"

if [ "$INSTALL_CUDNN" = "true" ]; then
major_cudnn_version=$(echo "${CUDNN_VERSION}" | cut -d '.' -f 1)
# Ensure that the requested version of cuDNN is available AND compatible
#if major cudnn version is 9, then we need to install libcudnn9-cuda-<major_version> package
#else we need to install libcudnn8-cuda-<major_version> package
if [[ $major_cudnn_version = "9" ]]
then
major_version=$(echo "${CUDA_VERSION}" | cut -d '.' -f 1)
cudnn_pkg_version="libcudnn9=libcudnn9-cuda-${major_version} ${CUDNN_VERSION}-1"
cudnn_pkg_version="libcudnn9-cuda-${major_cuda_version}=${CUDNN_VERSION}-1"
else
cudnn_pkg_version="libcudnn8=${CUDNN_VERSION}-1+cuda${CUDA_VERSION}"
fi
Expand All @@ -91,7 +91,13 @@ fi

if [ "$INSTALL_CUDNNDEV" = "true" ]; then
# Ensure that the requested version of cuDNN development package is available AND compatible
cudnn_dev_pkg_version="libcudnn8-dev=${CUDNN_VERSION}-1+cuda${CUDA_VERSION}"
if [[ $major_cudnn_version = "9" ]]
then
cudnn_dev_pkg_version="libcudnn9-dev-cuda-${major_cuda_version}=${CUDNN_VERSION}-1"
else
cudnn_dev_pkg_version="libcudnn8-dev=${CUDNN_VERSION}-1+cuda${CUDA_VERSION}"
fi

if ! apt-cache show "$cudnn_dev_pkg_version"; then
echo "The requested version of cuDNN development package is not available: cuDNN $CUDNN_VERSION for CUDA $CUDA_VERSION"
exit 1
Expand Down
16 changes: 16 additions & 0 deletions test/nvidia-cuda/install_cudnn_123_version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

set -e

# Optional: Import test library
source dev-container-features-test-lib

# Check installation of libcudnn9-cuda-12 (9.4.0)
check "libcudnn.so.9.4.0" test 1 -eq "$(find /usr -name 'libcudnn.so.9.4.0' | wc -l)"

# Check installation of cuda-nvtx-11-7 (11.7)
# check "cuda-12-4+nvtx" test -e '/usr/local/cuda-12.4/targets/x86_64-linux/include/nvtx3'

# Report result
reportResults

16 changes: 16 additions & 0 deletions test/nvidia-cuda/install_cudnn_124_version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

set -e

# Optional: Import test library
source dev-container-features-test-lib

# Check installation of libcudnn9-cuda-12 (9.4.0)
check "libcudnn.so.9.4.0" test 1 -eq "$(find /usr -name 'libcudnn.so.9.4.0' | wc -l)"

# Check installation of cuda-nvtx-11-7 (11.7)
# check "cuda-12-4+nvtx" test -e '/usr/local/cuda-12.4/targets/x86_64-linux/include/nvtx3'

# Report result
reportResults

16 changes: 16 additions & 0 deletions test/nvidia-cuda/install_cudnn_latest_version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

set -e

# Optional: Import test library
source dev-container-features-test-lib

# Check installation of libcudnn9-cuda-12 (9.4.0)
check "libcudnn.so.9.4.0" test 1 -eq "$(find /usr -name 'libcudnn.so.9.4.0' | wc -l)"

# Check installation of cuda-nvtx-11-7 (11.7)
# check "cuda-12-4+nvtx" test -e '/usr/local/cuda-12.4/targets/x86_64-linux/include/nvtx3'

# Report result
reportResults

39 changes: 39 additions & 0 deletions test/nvidia-cuda/scenarios.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,44 @@
"cudnnVersion": "8.5.0.96"
}
}
},
"install_cudnn_123_version": {
"image": "debian",
"features": {
"nvidia-cuda": {
"installCudnn": true,
"installNvtx": true,
"installCudnnDev": true,
"installToolkit": true,
"cudaVersion": "12.3",
"cudnnVersion": "9.4.0.58"
}
}
},
"install_cudnn_124_version": {
"image": "debian",
"features": {
"nvidia-cuda": {
"installCudnn": true,
"installNvtx": true,
"installCudnnDev": true,
"installToolkit": true,
"cudaVersion": "12.4",
"cudnnVersion": "9.4.0.58"
}
}
},
"install_cudnn_latest_version": {
"image": "debian",
"features": {
"nvidia-cuda": {
"installCudnn": true,
"installNvtx": true,
"installCudnnDev": true,
"installToolkit": true,
"cudaVersion": "12.5",
"cudnnVersion": "9.4.0.58"
}
}
}
}

0 comments on commit 4276368

Please sign in to comment.