diff options
author | Masahiro Wada <argon.argon.argon@gmail.com> | 2023-09-27 22:17:31 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-27 22:17:31 +0300 |
commit | 243671eece9c9e3d38b7cecf404acd4ea4bd2f05 (patch) | |
tree | 57b27863922f374c9dc14e80c6e46bd63ffd0229 /src | |
parent | 0d2fc3ad5b9d6bb33a29891c2378a377f0618c9b (diff) |
Enhancements in CUDA Support (#699)feature_nvidia-cuda_1.1.0
* add cuda tookit installing support
* add nvcc installing support
* add libcudnn8-dev installing support
* add new cuda versions adn cudnn versions
* add specificaitons of new option
* remove installNvcc
installNvcc process is included in installToolkit
* add tests for new nvidia-cuda options
* fix wrong scenario name
* Revert "add specificaitons of new option"
This reverts commit 0dcdb92406e38caa297643eab5af641f814b4f69.
README.md should be generated by CI workflow.
* make cudnn-dev installation isolated
* dump minor version to 1.1.0
Diffstat (limited to 'src')
-rw-r--r-- | src/nvidia-cuda/devcontainer-feature.json | 24 | ||||
-rw-r--r-- | src/nvidia-cuda/install.sh | 20 |
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/* |