diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index 1d44903f..7a7cdacf 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.5"]' + cuda: '["12.8"]' node_type: cpu32 extra-repo-deploy-key: CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY build_command: | diff --git a/features/src/cuda/README.md b/features/src/cuda/README.md index 5ed0a77b..ce7c2fa7 100644 --- a/features/src/cuda/README.md +++ b/features/src/cuda/README.md @@ -15,7 +15,7 @@ A feature to install the NVIDIA CUDA Toolkit | Options Id | Description | Type | Default Value | |-----|-----|-----|-----| -| version | Version of the CUDA Toolkit to install. | string | 12.5 | +| version | Version of the CUDA Toolkit to install. | string | 12.8 | | cuDNNVersion | Version of cuDNN to install. | string | 8 | | installCompilers | Install NVIDIA CUDA Compiler (nvcc) | boolean | true | | installProfilers | Install NVIDIA NSight Systems Profiler (nsys) | boolean | true | diff --git a/features/src/cuda/devcontainer-feature.json b/features/src/cuda/devcontainer-feature.json index 76597396..c2ec3cf3 100644 --- a/features/src/cuda/devcontainer-feature.json +++ b/features/src/cuda/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "CUDA Toolkit", "id": "cuda", - "version": "25.4.1", + "version": "25.4.2", "description": "A feature to install the NVIDIA CUDA Toolkit", "options": { "version": { @@ -24,7 +24,7 @@ "11.2", "11.1" ], - "default": "12.5", + "default": "12.8", "description": "Version of the CUDA Toolkit to install." }, "cuDNNVersion": { diff --git a/features/src/cuda/install.sh b/features/src/cuda/install.sh index f0e7f92d..674f4e85 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.5.0}}"; +VERSION="${CUDA_VERSION:-${VERSION:-12.8.0}}"; if [[ "$NVARCH" == aarch64 ]]; then NVARCH="sbsa"; diff --git a/features/src/mambaforge/devcontainer-feature.json b/features/src/mambaforge/devcontainer-feature.json index 85b081a9..cbc3385d 100644 --- a/features/src/mambaforge/devcontainer-feature.json +++ b/features/src/mambaforge/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "Mambaforge", "id": "mambaforge", - "version": "25.4.2", + "version": "25.4.3", "description": "A feature to install mambaforge", "options": { "version": { diff --git a/features/src/mambaforge/install.sh b/features/src/mambaforge/install.sh index 4687f9a5..5cd01a3f 100644 --- a/features/src/mambaforge/install.sh +++ b/features/src/mambaforge/install.sh @@ -49,7 +49,26 @@ done $(cat .bashrc) EOF )"; + # export envvars in /etc/profile.d + +# Create and/or replace mamba.sh with a version that doesn't print warnings to stdout (https://github.com/mamba-org/mamba/pull/3788) +# This also protects us when mamba decides to remove this file, which is a decision that is incompatible with this feature. +cat <<"EOF" > /opt/conda/etc/profile.d/mamba.sh +if [ -z "${MAMBA_ROOT_PREFIX:-}" ]; then + export MAMBA_ROOT_PREFIX="${CONDA_PREFIX:-/opt/conda}" +fi +__mamba_setup="$("/opt/conda/mamba" shell hook --shell posix 2> /dev/null)" +if [ $? -eq 0 ]; then + eval "$__mamba_setup" +else + alias mamba="/opt/conda/mamba" # Fallback on help from mamba activate +fi +unset __mamba_setup +EOF + +chmod +x /opt/conda/etc/profile.d/mamba.sh; + ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/$(($(ls -1q /etc/profile.d/*.sh | wc -l) + 20))-conda.sh; ln -s /opt/conda/etc/profile.d/mamba.sh /etc/profile.d/$(($(ls -1q /etc/profile.d/*.sh | wc -l) + 20))-mamba.sh; add_etc_profile_d_script miniforge "$(cat .bashrc)"; diff --git a/features/test/_global/cpp_llvm_cuda_nvhpc.sh b/features/test/_global/cpp_llvm_cuda_nvhpc.sh index f9953c80..b1b8d137 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.5.0'"; +check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.8.0'"; check "CUDA major version" bash -c "echo '$CUDA_VERSION_MAJOR' | grep '12'"; -check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '5'"; +check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '8'"; check "CUDA patch version" bash -c "echo '$CUDA_VERSION_PATCH' | grep '0'"; -check "installed" stat /usr/local/cuda-12.5 /usr/local/cuda; +check "installed" stat /usr/local/cuda-12.8 /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 d7511f79..444353df 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.5.0'"; +check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.8.0'"; check "CUDA major version" bash -c "echo '$CUDA_VERSION_MAJOR' | grep '12'"; -check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '5'"; +check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '8'"; check "CUDA patch version" bash -c "echo '$CUDA_VERSION_PATCH' | grep '0'"; -check "installed" stat /usr/local/cuda-12.5 /usr/local/cuda; +check "installed" stat /usr/local/cuda-12.8 /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 a5d2b459..1148768a 100644 --- a/features/test/_global/scenarios.json +++ b/features/test/_global/scenarios.json @@ -4,7 +4,7 @@ "features": { "rust": {}, "cuda": { - "version": "12.5" + "version": "12.8" } }, "overrideFeatureInstallOrder": [ @@ -44,7 +44,7 @@ "version": "16" }, "cuda": { - "version": "12.5" + "version": "12.8" }, "nvhpc": { "version": "24.5" diff --git a/features/test/cuda/test.sh b/features/test/cuda/test.sh index 506a0433..b1781da6 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.5.0'"; +check "CUDA version" bash -c "echo '$CUDA_VERSION' | grep '12.8.0'"; check "CUDA major version" bash -c "echo '$CUDA_VERSION_MAJOR' | grep '12'"; -check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '5'"; +check "CUDA minor version" bash -c "echo '$CUDA_VERSION_MINOR' | grep '8'"; check "CUDA patch version" bash -c "echo '$CUDA_VERSION_PATCH' | grep '0'"; -check "installed" stat /usr/local/cuda-12.5 /usr/local/cuda +check "installed" stat /usr/local/cuda-12.8 /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 f14daaa2..a6e77236 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.5" + "version": "12.8" }, "ucx": { "version": "1.15.0" diff --git a/features/test/ucx/scenarios.json b/features/test/ucx/scenarios.json index 05200bad..7439c547 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.5" + "version": "12.8" }, "ucx": { "version": "1.14.1" @@ -18,7 +18,7 @@ "image": "ubuntu:22.04", "features": { "cuda": { - "version": "12.5" + "version": "12.8" }, "ucx": { "version": "1.15.0-rc3" diff --git a/matrix.yml b/matrix.yml index c14413ca..c6a46d89 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.8" } -x-cuda-curr-max-rapids: &cuda_curr_max_rapids { name: "cuda", version: "12.5" } +x-cuda-curr-max-rapids: &cuda_curr_max_rapids { name: "cuda", version: "12.8" } x-gcc-7: &gcc_7 { name: "gcc", version: "7" } x-gcc-8: &gcc_8 { name: "gcc", version: "8" } diff --git a/windows/image/installers/install-cuda.ps1 b/windows/image/installers/install-cuda.ps1 index f5f182d5..4f4dd033 100644 --- a/windows/image/installers/install-cuda.ps1 +++ b/windows/image/installers/install-cuda.ps1 @@ -1,7 +1,7 @@ Param( [Parameter(Mandatory=$false)] [string] - $cudaVersion="12.5.0" + $cudaVersion="12.8.0" ) # Use System.Version to tokenize version @@ -11,7 +11,7 @@ $major = $version.Major $minor = $version.Minor $build = $version.Build -# Minimum build is 0, not -1 as default in case "12.5" is passed +# Minimum build is 0, not -1 as default in case "12.8" is passed if ($build -lt 0) { $build = 0 }