Unverified Commit 1a6b7152 authored by Prathamesh Zarkar's avatar Prathamesh Zarkar Committed by GitHub

cuda support for 12.3 .. 12.5 (#1119)

* cuda support for 12.3 .. 12.5

* cuda 12.3 to 12.5 support

* patch version update

* review comments addressed
parent d849e127
{ {
"id": "nvidia-cuda", "id": "nvidia-cuda",
"version": "1.1.2", "version": "1.1.3",
"name": "NVIDIA CUDA", "name": "NVIDIA CUDA",
"description": "Installs shared libraries for NVIDIA CUDA.", "description": "Installs shared libraries for NVIDIA CUDA.",
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/nvidia-cuda", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/nvidia-cuda",
...@@ -28,6 +28,9 @@ ...@@ -28,6 +28,9 @@
"cudaVersion": { "cudaVersion": {
"type": "string", "type": "string",
"proposals": [ "proposals": [
"12.5",
"12.4",
"12.3",
"12.2", "12.2",
"12.1", "12.1",
"12.0", "12.0",
...@@ -45,15 +48,15 @@ ...@@ -45,15 +48,15 @@
"cudnnVersion": { "cudnnVersion": {
"type": "string", "type": "string",
"proposals": [ "proposals": [
"8.9.5.29", "8.9.5.29",
"8.9.4.25", "8.9.4.25",
"8.9.3.28", "8.9.3.28",
"8.9.2.26", "8.9.2.26",
"8.9.1.23", "8.9.1.23",
"8.9.0.131", "8.9.0.131",
"8.8.1.3", "8.8.1.3",
"8.8.0.121", "8.8.0.121",
"8.7.0.84", "8.7.0.84",
"8.6.0.163", "8.6.0.163",
"8.5.0.96", "8.5.0.96",
"8.4.1.50", "8.4.1.50",
...@@ -67,7 +70,14 @@ ...@@ -67,7 +70,14 @@
"8.2.1.32", "8.2.1.32",
"8.2.0.53", "8.2.0.53",
"8.1.1.33", "8.1.1.33",
"8.1.0.77" "8.1.0.77",
"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", "default": "8.6.0.163",
"description": "Version of cuDNN to install" "description": "Version of cuDNN to install"
......
...@@ -59,6 +59,8 @@ apt-get update -yq ...@@ -59,6 +59,8 @@ apt-get update -yq
cuda_pkg="cuda-libraries-${CUDA_VERSION/./-}" cuda_pkg="cuda-libraries-${CUDA_VERSION/./-}"
nvtx_pkg="cuda-nvtx-${CUDA_VERSION/./-}" nvtx_pkg="cuda-nvtx-${CUDA_VERSION/./-}"
toolkit_pkg="cuda-toolkit-${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 if ! apt-cache show "$cuda_pkg"; then
echo "The requested version of CUDA is not available: CUDA $CUDA_VERSION" echo "The requested version of CUDA is not available: CUDA $CUDA_VERSION"
exit 1 exit 1
...@@ -69,7 +71,15 @@ apt-get install -yq "$cuda_pkg" ...@@ -69,7 +71,15 @@ apt-get install -yq "$cuda_pkg"
if [ "$INSTALL_CUDNN" = "true" ]; then if [ "$INSTALL_CUDNN" = "true" ]; then
# Ensure that the requested version of cuDNN is available AND compatible # Ensure that the requested version of cuDNN is available AND compatible
cudnn_pkg_version="libcudnn8=${CUDNN_VERSION}-1+cuda${CUDA_VERSION}" #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 -ge "9" ]]
then
cudnn_pkg_version="libcudnn9-cuda-${major_cuda_version}=${CUDNN_VERSION}-1"
else
cudnn_pkg_version="libcudnn8=${CUDNN_VERSION}-1+cuda${CUDA_VERSION}"
fi
if ! apt-cache show "$cudnn_pkg_version"; then if ! apt-cache show "$cudnn_pkg_version"; then
echo "The requested version of cuDNN is not available: cuDNN $CUDNN_VERSION for CUDA $CUDA_VERSION" echo "The requested version of cuDNN is not available: cuDNN $CUDNN_VERSION for CUDA $CUDA_VERSION"
exit 1 exit 1
...@@ -81,7 +91,13 @@ fi ...@@ -81,7 +91,13 @@ fi
if [ "$INSTALL_CUDNNDEV" = "true" ]; then if [ "$INSTALL_CUDNNDEV" = "true" ]; then
# Ensure that the requested version of cuDNN development package is available AND compatible # 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 -ge "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 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" echo "The requested version of cuDNN development package is not available: cuDNN $CUDNN_VERSION for CUDA $CUDA_VERSION"
exit 1 exit 1
......
#!/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
\ No newline at end of file
#!/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
\ No newline at end of file
#!/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
\ No newline at end of file
...@@ -20,5 +20,44 @@ ...@@ -20,5 +20,44 @@
"cudnnVersion": "8.5.0.96" "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"
}
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment