From 1bd1bd5974754aa958a4fbc9f7b0ffb12ff08346 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Wed, 17 Jul 2024 10:17:11 -0600 Subject: [PATCH] Update to CUDA 12.5. (#332) * Update to CUDA 12.5. * Use cudnn 9. * Add cuDNN input variable. * Try to use cuDNN version. * fix shellcheck lint * cudnn_version -> cuDNNVersion * install different packages for cuDNN v8 and v9 * Use CUDNNVERSION=8 by default --------- Co-authored-by: Paul Taylor <178183+trxcllnt@users.noreply.github.com> Co-authored-by: ptaylor --- .devcontainer/cuda11.8-pip/devcontainer.json | 1 + .devcontainer/cuda12.0-pip/devcontainer.json | 1 + .devcontainer/cuda12.2-pip/devcontainer.json | 1 + .../cuda12.5-conda/devcontainer.json | 82 +++++++++++++++++ .devcontainer/cuda12.5-conda/features | 1 + .devcontainer/cuda12.5-pip/devcontainer.json | 91 +++++++++++++++++++ .devcontainer/cuda12.5-pip/features | 1 + .github/workflows/build-all-rapids-repos.yml | 2 +- features/src/cuda/README.md | 3 +- features/src/cuda/devcontainer-feature.json | 14 ++- features/src/cuda/install.sh | 35 ++++--- features/test/_global/cpp_llvm_cuda_nvhpc.sh | 6 +- features/test/_global/cuda_rust.sh | 6 +- features/test/_global/scenarios.json | 4 +- features/test/cuda/test.sh | 6 +- features/test/openmpi/scenarios.json | 2 +- features/test/ucx/scenarios.json | 4 +- matrix.yml | 2 +- 18 files changed, 231 insertions(+), 31 deletions(-) create mode 100644 .devcontainer/cuda12.5-conda/devcontainer.json create mode 120000 .devcontainer/cuda12.5-conda/features create mode 100644 .devcontainer/cuda12.5-pip/devcontainer.json create mode 120000 .devcontainer/cuda12.5-pip/features diff --git a/.devcontainer/cuda11.8-pip/devcontainer.json b/.devcontainer/cuda11.8-pip/devcontainer.json index a7912b67..27016dbb 100644 --- a/.devcontainer/cuda11.8-pip/devcontainer.json +++ b/.devcontainer/cuda11.8-pip/devcontainer.json @@ -17,6 +17,7 @@ "features": { "./features/src/cuda": { "version": "11.8", + "cuDNNVersion": "8", "installcuBLAS": true, "installcuDNN": true, "installcuSOLVER": true, diff --git a/.devcontainer/cuda12.0-pip/devcontainer.json b/.devcontainer/cuda12.0-pip/devcontainer.json index 1e428ccb..9bea22d5 100644 --- a/.devcontainer/cuda12.0-pip/devcontainer.json +++ b/.devcontainer/cuda12.0-pip/devcontainer.json @@ -17,6 +17,7 @@ "features": { "./features/src/cuda": { "version": "12.0", + "cuDNNVersion": "8", "installcuBLAS": true, "installcuDNN": true, "installcuSOLVER": true, diff --git a/.devcontainer/cuda12.2-pip/devcontainer.json b/.devcontainer/cuda12.2-pip/devcontainer.json index b6336682..f79ed098 100644 --- a/.devcontainer/cuda12.2-pip/devcontainer.json +++ b/.devcontainer/cuda12.2-pip/devcontainer.json @@ -17,6 +17,7 @@ "features": { "./features/src/cuda": { "version": "12.2", + "cuDNNVersion": "8", "installcuBLAS": true, "installcuDNN": true, "installcuSOLVER": true, diff --git a/.devcontainer/cuda12.5-conda/devcontainer.json b/.devcontainer/cuda12.5-conda/devcontainer.json new file mode 100644 index 00000000..fa822661 --- /dev/null +++ b/.devcontainer/cuda12.5-conda/devcontainer.json @@ -0,0 +1,82 @@ +{ + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/rapids.Dockerfile", + "args": { + "CUDA": "12.5", + "PYTHON_PACKAGE_MANAGER": "conda", + "BASE": "rapidsai/devcontainers:24.08-cpp-mambaforge-ubuntu22.04" + } + }, + "runArgs": [ + "--rm", + "--name", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-24.08-cuda12.5-conda" + ], + "hostRequirements": {"gpu": "optional"}, + "features": { + "./features/src/utils": {}, + "./features/src/rapids-build-utils": {} + }, + "overrideFeatureInstallOrder": [ + "./features/src/utils", + "./features/src/rapids-build-utils" + ], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.5-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../kvikio,target=/home/coder/kvikio,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../ucxx,target=/home/coder/ucxx,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cudf,target=/home/coder/cudf,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../raft,target=/home/coder/raft,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuvs,target=/home/coder/cuvs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda12.5-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.log/devcontainer-utils,target=/var/log/devcontainer-utils,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/.devcontainer/cuda12.5-conda/features/src/utils/opt/devcontainer/bin,target=/opt/devcontainer/bin,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/.devcontainer/cuda12.5-conda/features/src/rapids-build-utils/opt/rapids-build-utils,target=/opt/rapids-build-utils,type=bind,consistency=consistent" + ], + "customizations": { + "vscode": { + "extensions": [ + "augustocdias.tasks-shell-input", + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ], + "settings": { + "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/target/**": true, + "/home/coder/.aws/**/*": true, + "/home/coder/.cache/**/*": true, + "/home/coder/.conda/**/*": true, + "/home/coder/.local/share/**/*": true, + "/home/coder/.vscode-server/**/*": true + }, + "search.exclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/*.code-search": true, + "/home/coder/.aws/**/*": true, + "/home/coder/.cache/**/*": true, + "/home/coder/.conda/**/*": true, + "/home/coder/.local/share/**/*": true, + "/home/coder/.vscode-server/**/*": true + } + } + } + } +} diff --git a/.devcontainer/cuda12.5-conda/features b/.devcontainer/cuda12.5-conda/features new file mode 120000 index 00000000..c9012f29 --- /dev/null +++ b/.devcontainer/cuda12.5-conda/features @@ -0,0 +1 @@ +../../features \ No newline at end of file diff --git a/.devcontainer/cuda12.5-pip/devcontainer.json b/.devcontainer/cuda12.5-pip/devcontainer.json new file mode 100644 index 00000000..edff5afe --- /dev/null +++ b/.devcontainer/cuda12.5-pip/devcontainer.json @@ -0,0 +1,91 @@ +{ + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/rapids.Dockerfile", + "args": { + "CUDA": "12.5", + "PYTHON_PACKAGE_MANAGER": "pip", + "BASE": "rapidsai/devcontainers:24.08-cpp-cuda12.5-ucx1.15.0-openmpi-ubuntu22.04" + } + }, + "runArgs": [ + "--rm", + "--name", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-24.08-cuda12.5-pip" + ], + "hostRequirements": {"gpu": "optional"}, + "features": { + "./features/src/cuda": { + "version": "12.5", + "cuDNNVersion": "9", + "installcuBLAS": true, + "installcuDNN": true, + "installcuSOLVER": true, + "installcuRAND": true, + "installcuSPARSE": true + }, + "./features/src/utils": {}, + "./features/src/rapids-build-utils": {} + }, + "overrideFeatureInstallOrder": [ + "./features/src/cuda", + "./features/src/utils", + "./features/src/rapids-build-utils" + ], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.5-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../kvikio,target=/home/coder/kvikio,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../ucxx,target=/home/coder/ucxx,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cudf,target=/home/coder/cudf,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../raft,target=/home/coder/raft,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuvs,target=/home/coder/cuvs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda12.5-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.log/devcontainer-utils,target=/var/log/devcontainer-utils,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/.devcontainer/cuda12.5-pip/features/src/utils/opt/devcontainer/bin,target=/opt/devcontainer/bin,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/.devcontainer/cuda12.5-pip/features/src/rapids-build-utils/opt/rapids-build-utils,target=/opt/rapids-build-utils,type=bind,consistency=consistent" + ], + "customizations": { + "vscode": { + "extensions": [ + "augustocdias.tasks-shell-input", + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ], + "settings": { + "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/target/**": true, + "/home/coder/.aws/**/*": true, + "/home/coder/.cache/**/*": true, + "/home/coder/.conda/**/*": true, + "/home/coder/.local/share/**/*": true, + "/home/coder/.vscode-server/**/*": true + }, + "search.exclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/*.code-search": true, + "/home/coder/.aws/**/*": true, + "/home/coder/.cache/**/*": true, + "/home/coder/.conda/**/*": true, + "/home/coder/.local/share/**/*": true, + "/home/coder/.vscode-server/**/*": true + } + } + } + } +} diff --git a/.devcontainer/cuda12.5-pip/features b/.devcontainer/cuda12.5-pip/features new file mode 120000 index 00000000..c9012f29 --- /dev/null +++ b/.devcontainer/cuda12.5-pip/features @@ -0,0 +1 @@ +../../features \ No newline at end of file diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index c49fcbfb..7582aa2b 100644 --- a/.github/workflows/build-all-rapids-repos.yml +++ b/.github/workflows/build-all-rapids-repos.yml @@ -36,7 +36,7 @@ jobs: pull-requests: read with: arch: '["amd64"]' - cuda: '["12.0", "12.2"]' + cuda: '["12.0", "12.5"]' node_type: cpu32 extra-repo-deploy-key: CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY extra-repo-deploy-key-2: CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY diff --git a/features/src/cuda/README.md b/features/src/cuda/README.md index 2b41133b..121816e8 100644 --- a/features/src/cuda/README.md +++ b/features/src/cuda/README.md @@ -15,7 +15,8 @@ A feature to install the NVIDIA CUDA Toolkit | Options Id | Description | Type | Default Value | |-----|-----|-----|-----| -| version | Version of the CUDA Toolkit to install. | string | 12.4 | +| version | Version of the CUDA Toolkit to install. | string | 12.5 | +| cuDNNVersion | Version of cuDNN to install. | string | 9 | | installCompilers | Install NVIDIA CUDA Compiler (nvcc) | boolean | true | | installProfilers | Install NVIDIA NSight Systems Profiler (nsys) | boolean | true | | installCTKLibraries | Shortcut to install all CUDA Toolkit Libraries | boolean | true | diff --git a/features/src/cuda/devcontainer-feature.json b/features/src/cuda/devcontainer-feature.json index fce31cbd..b1303314 100644 --- a/features/src/cuda/devcontainer-feature.json +++ b/features/src/cuda/devcontainer-feature.json @@ -1,12 +1,13 @@ { "name": "CUDA Toolkit", "id": "cuda", - "version": "24.8.1", + "version": "24.8.2", "description": "A feature to install the NVIDIA CUDA Toolkit", "options": { "version": { "type": "string", "proposals": [ + "12.5", "12.4", "12.3", "12.2", @@ -21,9 +22,18 @@ "11.2", "11.1" ], - "default": "12.4", + "default": "12.5", "description": "Version of the CUDA Toolkit to install." }, + "cuDNNVersion": { + "type": "string", + "proposals": [ + "9", + "8" + ], + "default": "8", + "description": "Version of cuDNN to install." + }, "installCompilers": { "type": "boolean", "default": true, diff --git a/features/src/cuda/install.sh b/features/src/cuda/install.sh index a0134a89..f0e7f92d 100644 --- a/features/src/cuda/install.sh +++ b/features/src/cuda/install.sh @@ -30,7 +30,7 @@ export OSNAME="$( echo "$ID$((major - (major % 2)))${minor}"; )"; -VERSION="${CUDA_VERSION:-${VERSION:-12.4.0}}"; +VERSION="${CUDA_VERSION:-${VERSION:-12.5.0}}"; if [[ "$NVARCH" == aarch64 ]]; then NVARCH="sbsa"; @@ -75,7 +75,8 @@ echo "Installing dev CUDA toolkit..."; export CUDA_HOME="/usr/local/cuda"; cuda_ver="${VERSION}"; -cuda_ver=$(grep -o '^[0-9]*.[0-9]' <<< "${cuda_ver}"); +cuda_ver=$(grep -Po '^[0-9]+\.[0-9]+' <<< "${cuda_ver}"); +cuda_ver_major=$(grep -Po '^[0-9]+' <<< "${cuda_ver}"); cudapath="${CUDA_HOME}-${cuda_ver}"; cuda_tag="cuda${cuda_ver}"; @@ -124,13 +125,13 @@ fi if [ "${INSTALLNVRTC:-false}" = true ]; then PKGS+=("cuda-nvrtc${dev_tag}-${cuda_ver}"); - if test -n "$(apt-cache search libnvjitlink${dev_tag}-${cuda_ver} 2>/dev/null)"; then + if test -n "$(apt-cache search "libnvjitlink${dev_tag}-${cuda_ver}" 2>/dev/null)"; then PKGS+=("libnvjitlink${dev_tag}-${cuda_ver}"); fi fi if [ "${INSTALLOPENCL:-false}" = true ] \ -&& test -n "$(apt-cache search cuda-opencl${dev_tag}-${cuda_ver} 2>/dev/null)"; then +&& test -n "$(apt-cache search "cuda-opencl${dev_tag}-${cuda_ver}" 2>/dev/null)"; then PKGS+=("cuda-opencl${dev_tag}-${cuda_ver}"); fi @@ -147,7 +148,7 @@ if [ "${INSTALLCUFFT:-false}" = true ]; then fi if [ "${INSTALLCUFILE:-false}" = true ] \ -&& test -n "$(apt-cache search libcufile${dev_tag}-${cuda_ver} 2>/dev/null)"; then +&& test -n "$(apt-cache search "libcufile${dev_tag}-${cuda_ver}" 2>/dev/null)"; then PKGS+=("libcufile${dev_tag}-${cuda_ver}"); fi @@ -167,12 +168,21 @@ if [ "${INSTALLNVJPEG:-false}" = true ]; then PKGS+=("libnvjpeg${dev_tag}-${cuda_ver}"); fi -if [ "${INSTALLCUDNN:-false}" = true ] \ -&& test -n "$(apt-cache search libcudnn8 2>/dev/null)" \ -&& apt-cache policy libcudnn8 2>/dev/null | grep -q "+${cuda_tag}"; then - PKGS+=("libcudnn8=*+${cuda_tag}"); - if [ "${INSTALLDEVPACKAGES:-false}" = true ]; then - PKGS+=("libcudnn8-dev=*+${cuda_tag}"); +if [ "${INSTALLCUDNN:-false}" = true ]; then + CUDNNVERSION="${CUDNNVERSION:-8}"; + if test "${CUDNNVERSION}" -le 8; then + if test -n "$(apt-cache search "libcudnn${CUDNNVERSION:-8}" 2>/dev/null)" \ + && apt-cache policy "libcudnn${CUDNNVERSION:-8}" 2>/dev/null | grep -q "+${cuda_tag}"; then + PKGS+=("libcudnn${CUDNNVERSION:-8}=*+${cuda_tag}"); + if [ "${INSTALLDEVPACKAGES:-false}" = true ]; then + PKGS+=("libcudnn${CUDNNVERSION:-8}-dev=*+${cuda_tag}"); + fi + fi + elif test -n "$(apt-cache search "libcudnn${CUDNNVERSION}-cuda-${cuda_ver_major}" 2>/dev/null)"; then + PKGS+=("libcudnn${CUDNNVERSION}-cuda-${cuda_ver_major}"); + if [ "${INSTALLDEVPACKAGES:-false}" = true ]; then + PKGS+=("libcudnn${CUDNNVERSION}-dev-cuda-${cuda_ver_major}"); + fi fi fi @@ -206,7 +216,8 @@ if [ "${INSTALLCUTENSOR:-false}" = true ]; then fi fi -check_packages ${PKGS[@]}; +check_packages "${PKGS[@]}"; +apt autoremove -y; if ! test -L "${CUDA_HOME}"; then # Create /usr/local/cuda symlink diff --git a/features/test/_global/cpp_llvm_cuda_nvhpc.sh b/features/test/_global/cpp_llvm_cuda_nvhpc.sh index b7781c6f..f9953c80 100644 --- a/features/test/_global/cpp_llvm_cuda_nvhpc.sh +++ b/features/test/_global/cpp_llvm_cuda_nvhpc.sh @@ -39,11 +39,11 @@ source dev-container-features-test-lib; check "gitlab-cli version" glab --version # Check CUDA -check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.4.0'"; +check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.5.0'"; check "CUDA major version" bash -c "echo '$CUDA_VERSION_MAJOR' | grep '12'"; -check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '4'"; +check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '5'"; check "CUDA patch version" bash -c "echo '$CUDA_VERSION_PATCH' | grep '0'"; -check "installed" stat /usr/local/cuda-12.4 /usr/local/cuda; +check "installed" stat /usr/local/cuda-12.5 /usr/local/cuda; check "nvcc exists and is on path" which nvcc; # Check NVHPC diff --git a/features/test/_global/cuda_rust.sh b/features/test/_global/cuda_rust.sh index 5b480c87..d7511f79 100644 --- a/features/test/_global/cuda_rust.sh +++ b/features/test/_global/cuda_rust.sh @@ -40,11 +40,11 @@ source dev-container-features-test-lib; >&2 echo "BASH_ENV=$BASH_ENV"; # Check CUDA -check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.4.0'"; +check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.5.0'"; check "CUDA major version" bash -c "echo '$CUDA_VERSION_MAJOR' | grep '12'"; -check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '4'"; +check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '5'"; check "CUDA patch version" bash -c "echo '$CUDA_VERSION_PATCH' | grep '0'"; -check "installed" stat /usr/local/cuda-12.4 /usr/local/cuda; +check "installed" stat /usr/local/cuda-12.5 /usr/local/cuda; check "nvcc exists and is on path" which nvcc; # Check Rust diff --git a/features/test/_global/scenarios.json b/features/test/_global/scenarios.json index 531a807a..5b5b0a2a 100644 --- a/features/test/_global/scenarios.json +++ b/features/test/_global/scenarios.json @@ -4,7 +4,7 @@ "features": { "rust": {}, "cuda": { - "version": "12.4" + "version": "12.5" } }, "overrideFeatureInstallOrder": [ @@ -44,7 +44,7 @@ "version": "16" }, "cuda": { - "version": "12.4" + "version": "12.5" }, "nvhpc": { "version": "24.5" diff --git a/features/test/cuda/test.sh b/features/test/cuda/test.sh index 40f41fa1..506a0433 100644 --- a/features/test/cuda/test.sh +++ b/features/test/cuda/test.sh @@ -17,11 +17,11 @@ source dev-container-features-test-lib # Feature-specific tests # The 'check' command comes from the dev-container-features-test-lib. -check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.4.0'"; +check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.5.0'"; check "CUDA major version" bash -c "echo '$CUDA_VERSION_MAJOR' | grep '12'"; -check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '4'"; +check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '5'"; check "CUDA patch version" bash -c "echo '$CUDA_VERSION_PATCH' | grep '0'"; -check "installed" stat /usr/local/cuda-12.4 /usr/local/cuda +check "installed" stat /usr/local/cuda-12.5 /usr/local/cuda check "nvcc exists and is on path" which nvcc # Report result diff --git a/features/test/openmpi/scenarios.json b/features/test/openmpi/scenarios.json index 2dd6e4ba..f14daaa2 100644 --- a/features/test/openmpi/scenarios.json +++ b/features/test/openmpi/scenarios.json @@ -3,7 +3,7 @@ "image": "ubuntu:22.04", "features": { "cuda": { - "version": "12.4" + "version": "12.5" }, "ucx": { "version": "1.15.0" diff --git a/features/test/ucx/scenarios.json b/features/test/ucx/scenarios.json index f421f199..05200bad 100644 --- a/features/test/ucx/scenarios.json +++ b/features/test/ucx/scenarios.json @@ -3,7 +3,7 @@ "image": "ubuntu:22.04", "features": { "cuda": { - "version": "12.4" + "version": "12.5" }, "ucx": { "version": "1.14.1" @@ -18,7 +18,7 @@ "image": "ubuntu:22.04", "features": { "cuda": { - "version": "12.4" + "version": "12.5" }, "ucx": { "version": "1.15.0-rc3" diff --git a/matrix.yml b/matrix.yml index 0b80ef07..7a124428 100644 --- a/matrix.yml +++ b/matrix.yml @@ -2,7 +2,7 @@ x-cuda-prev-min: &cuda_prev_min { name: "cuda", version: "11.1" } x-cuda-prev-max: &cuda_prev_max { name: "cuda", version: "11.8" } x-cuda-curr-min: &cuda_curr_min { name: "cuda", version: "12.0" } x-cuda-curr-max: &cuda_curr_max { name: "cuda", version: "12.5" } -x-cuda-curr-max: &cuda_curr_max_rapids { name: "cuda", version: "12.2" } +x-cuda-curr-max: &cuda_curr_max_rapids { name: "cuda", version: "12.5" } x-gcc-6: &gcc_6 { name: "gcc", version: "6" } x-gcc-7: &gcc_7 { name: "gcc", version: "7" }