aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvidia-cuda/devcontainer-feature.json24
-rw-r--r--src/nvidia-cuda/install.sh20
2 files changed, 43 insertions, 1 deletions
diff --git a/src/nvidia-cuda/devcontainer-feature.json b/src/nvidia-cuda/devcontainer-feature.json
index 81e1dff..78ad10c 100644
--- a/src/nvidia-cuda/devcontainer-feature.json
+++ b/src/nvidia-cuda/devcontainer-feature.json
@@ -1,6 +1,6 @@
{
"id": "nvidia-cuda",
- "version": "1.0.7",
+ "version": "1.1.0",
"name": "NVIDIA CUDA",
"description": "Installs shared libraries for NVIDIA CUDA.",
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/nvidia-cuda",
@@ -10,14 +10,27 @@
"default": false,
"description": "Additionally install CUDA Deep Neural Network (cuDNN) shared library"
},
+ "installCudnnDev": {
+ "type": "boolean",
+ "default": false,
+ "description": "Additionally install CUDA Deep Neural Network (cuDNN) development libraries and headers"
+ },
"installNvtx": {
"type": "boolean",
"default": false,
"description": "Additionally install NVIDIA Tools Extension (NVTX)"
},
+ "installToolkit": {
+ "type": "boolean",
+ "default": false,
+ "description": "Additionally install NVIDIA CUDA Toolkit"
+ },
"cudaVersion": {
"type": "string",
"proposals": [
+ "12.2",
+ "12.1",
+ "12.0",
"11.8",
"11.7",
"11.6",
@@ -32,6 +45,15 @@
"cudnnVersion": {
"type": "string",
"proposals": [
+ "8.9.5.29",
+ "8.9.4.25",
+ "8.9.3.28",
+ "8.9.2.26",
+ "8.9.1.23",
+ "8.9.0.131",
+ "8.8.1.3",
+ "8.8.0.121",
+ "8.7.0.84",
"8.6.0.163",
"8.5.0.96",
"8.4.1.50",
diff --git a/src/nvidia-cuda/install.sh b/src/nvidia-cuda/install.sh
index f7db18e..cb66d39 100644
--- a/src/nvidia-cuda/install.sh
+++ b/src/nvidia-cuda/install.sh
@@ -6,7 +6,9 @@ set -e
rm -rf /var/lib/apt/lists/*
INSTALL_CUDNN=${INSTALLCUDNN}
+INSTALL_CUDNNDEV=${INSTALLCUDNNDEV}
INSTALL_NVTX=${INSTALLNVTX}
+INSTALL_TOOLKIT=${INSTALLTOOLKIT}
CUDA_VERSION=${CUDAVERSION}
CUDNN_VERSION=${CUDNNVERSION}
@@ -47,6 +49,7 @@ apt-get update -yq
# Ensure that the requested version of CUDA is available
cuda_pkg="cuda-libraries-${CUDA_VERSION/./-}"
nvtx_pkg="cuda-nvtx-${CUDA_VERSION/./-}"
+toolkit_pkg="cuda-toolkit-${CUDA_VERSION/./-}"
if ! apt-cache show "$cuda_pkg"; then
echo "The requested version of CUDA is not available: CUDA $CUDA_VERSION"
exit 1
@@ -67,11 +70,28 @@ if [ "$INSTALL_CUDNN" = "true" ]; then
apt-get install -yq "$cudnn_pkg_version"
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 ! 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
+ fi
+
+ echo "Installing cuDNN dev libraries..."
+ apt-get install -yq "$cudnn_dev_pkg_version"
+fi
+
if [ "$INSTALL_NVTX" = "true" ]; then
echo "Installing NVTX..."
apt-get install -yq "$nvtx_pkg"
fi
+if [ "$INSTALL_TOOLKIT" = "true" ]; then
+ echo "Installing CUDA Toolkit..."
+ apt-get install -yq "$toolkit_pkg"
+fi
+
# Clean up
rm -rf /var/lib/apt/lists/*