From acd6a4f1bf163a9cf14e05d4ea0de1c47171399f Mon Sep 17 00:00:00 2001 From: Matthew Douglas <38992547+matthewdouglas@users.noreply.github.com> Date: Mon, 16 Jun 2025 13:22:10 -0400 Subject: [PATCH 1/7] Add CUDA 12.9 to build/test workflows --- .github/scripts/build-cuda.sh | 8 ++++---- .github/workflows/python-package.yml | 4 ++-- .github/workflows/tests.yml | 15 ++++++++++----- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/scripts/build-cuda.sh b/.github/scripts/build-cuda.sh index 8985327f2..672ab1121 100644 --- a/.github/scripts/build-cuda.sh +++ b/.github/scripts/build-cuda.sh @@ -11,14 +11,14 @@ if [[ -v cuda_targets ]]; then elif [ "${build_arch}" = "aarch64" ]; then build_capability="75;80;90" - # CUDA 12.8: Add sm100 - [[ "${cuda_version}" == 12.8.* ]] && build_capability="75;80;90;100" + # CUDA 12.8+: Add sm100/sm120 + [[ "${cuda_version}" == 12.8.* || "${cuda_version}" == 12.9.* ]] && build_capability="75;80;90;100;120" else # By default, target Maxwell through Hopper. build_capability="50;52;60;61;70;75;80;86;89;90" - # CUDA 12.8: Add sm100 and sm120; remove < sm75 to align with PyTorch 2.7+cu128 minimum - [[ "${cuda_version}" == 12.8.* ]] && build_capability="75;80;86;89;90;100;120" + # CUDA 12.8+: Add sm100 and sm120; remove < sm75 to align with PyTorch 2.7+cu128 minimum + [[ "${cuda_version}" == 12.8.* || "${cuda_version}" == 12.9.* ]] && build_capability="75;80;86;89;90;100;120" fi [[ "${build_os}" = windows-* ]] && python3 -m pip install ninja diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index d3deb26ee..495a5a95d 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -72,12 +72,12 @@ jobs: - os: windows-latest arch: x86_64 cuda_version: - ["11.8.0", "12.0.1", "12.1.1", "12.2.2", "12.3.2", "12.4.1", "12.5.1", "12.6.3", "12.8.1"] + ["11.8.0", "12.0.1", "12.1.1", "12.2.2", "12.3.2", "12.4.1", "12.5.1", "12.6.3", "12.8.1", "12.9.0"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 # Windows: We install Cuda on the agent (slow) - - uses: Jimver/cuda-toolkit@v0.2.22 + - uses: Jimver/cuda-toolkit@f1b76035ffe6d08118acdd33faf5ce002cf7c023 # v0.2.25 if: startsWith(matrix.os, 'windows') id: cuda-toolkit with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c6423b1f8..117f63493 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -49,7 +49,7 @@ jobs: build-cuda: strategy: matrix: - cuda_version: ["11.8.0", "12.6.3", "12.8.1"] + cuda_version: ["11.8.0", "12.6.3", "12.8.1", "12.9.0"] os: [ubuntu-22.04, ubuntu-22.04-arm, windows-2025] include: - os: ubuntu-22.04 @@ -64,7 +64,7 @@ jobs: - uses: actions/checkout@v4 - name: Install CUDA Toolkit - uses: Jimver/cuda-toolkit@v0.2.23 + uses: Jimver/cuda-toolkit@f1b76035ffe6d08118acdd33faf5ce002cf7c023 # v0.2.25 if: startsWith(matrix.os, 'windows') id: cuda-toolkit with: @@ -231,7 +231,7 @@ jobs: os: [ubuntu-22.04, windows-2025] arch: [x86_64] gpu: [T4, L40S] - cuda_version: ["11.8.0", "12.6.3", "12.8.1"] + cuda_version: ["11.8.0", "12.6.3", "12.8.1", "12.9.0"] include: - cuda_version: "11.8.0" torch_version: "2.2.2" @@ -242,6 +242,9 @@ jobs: - cuda_version: "12.8.1" torch_version: "2.7.1" pypi_index: "https://download.pytorch.org/whl/cu128" + - cuda_version: "12.9.0" + torch_version: "2.8.0" + pypi_index: "https://download.pytorch.org/whl/nightly/cu129" # Linux L40S runners @@ -274,12 +277,14 @@ jobs: gpu: T4 runner: CUDA-Windows-x64 cuda_version: "11.8.0" - torch_version: "2.7.1" + torch_version: "2.7.1" # Note: this is the last PyTorch release supporting CUDA 11.8. pypi_index: "https://download.pytorch.org/whl/cu118" exclude: # Our current T4 Windows runner has a driver too old (471.11) # and cannot support CUDA 12+. Skip for now. + - os: windows-2025 + cuda_version: "12.9.0" - os: windows-2025 cuda_version: "12.8.1" - os: windows-2025 @@ -311,7 +316,7 @@ jobs: - name: Install dependencies run: | - pip install torch==${{ matrix.torch_version }} --index-url ${{ matrix.pypi_index }} + pip install --pre torch==${{ matrix.torch_version }} --index-url ${{ matrix.pypi_index }} pip install -e ".[test]" pip install pytest-cov From 7ecd4a8e1cfe0e1bbc6c674b734a7f3d83df2765 Mon Sep 17 00:00:00 2001 From: Matthew Douglas <38992547+matthewdouglas@users.noreply.github.com> Date: Mon, 16 Jun 2025 14:42:10 -0400 Subject: [PATCH 2/7] Downgrade Jimver/cuda-toolkit to v0.2.24 --- .github/workflows/python-package.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 495a5a95d..c8fd1f862 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -77,7 +77,7 @@ jobs: steps: - uses: actions/checkout@v4 # Windows: We install Cuda on the agent (slow) - - uses: Jimver/cuda-toolkit@f1b76035ffe6d08118acdd33faf5ce002cf7c023 # v0.2.25 + - uses: Jimver/cuda-toolkit@c35baa1a18fd1fc9dcf47c5bd839bf30559c0bc3 # v0.2.24 if: startsWith(matrix.os, 'windows') id: cuda-toolkit with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 117f63493..1597f5214 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -64,7 +64,7 @@ jobs: - uses: actions/checkout@v4 - name: Install CUDA Toolkit - uses: Jimver/cuda-toolkit@f1b76035ffe6d08118acdd33faf5ce002cf7c023 # v0.2.25 + uses: Jimver/cuda-toolkit@c35baa1a18fd1fc9dcf47c5bd839bf30559c0bc3 # v0.2.24 if: startsWith(matrix.os, 'windows') id: cuda-toolkit with: From 52a704981eed5cd991923f2b5b0d823af614ed2a Mon Sep 17 00:00:00 2001 From: Matthew Douglas <38992547+matthewdouglas@users.noreply.github.com> Date: Fri, 27 Jun 2025 11:31:46 -0400 Subject: [PATCH 3/7] Update python-package.yml --- .github/workflows/python-package.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index c8fd1f862..b417e1aeb 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -72,7 +72,7 @@ jobs: - os: windows-latest arch: x86_64 cuda_version: - ["11.8.0", "12.0.1", "12.1.1", "12.2.2", "12.3.2", "12.4.1", "12.5.1", "12.6.3", "12.8.1", "12.9.0"] + ["11.8.0", "12.0.1", "12.1.1", "12.2.2", "12.3.2", "12.4.1", "12.5.1", "12.6.3", "12.8.1", "12.9.1"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -81,7 +81,8 @@ jobs: if: startsWith(matrix.os, 'windows') id: cuda-toolkit with: - cuda: ${{ matrix.cuda_version }} + # Temporary: Use CUDA 12.9.0 for Windows until 12.9.1 is supported with this action. + cuda: ${{ matrix.cuda_version == "12.9.1" && "12.9.0" || matrix.cuda_version }} method: "network" sub-packages: '["nvcc","cudart","cusparse","cublas","thrust","nvrtc_dev","cublas_dev","cusparse_dev"]' linux-local-args: '["--toolkit"]' From 91ee55d631d53427b7a83d6ef947669e5420cb87 Mon Sep 17 00:00:00 2001 From: Matthew Douglas <38992547+matthewdouglas@users.noreply.github.com> Date: Fri, 27 Jun 2025 11:34:55 -0400 Subject: [PATCH 4/7] Update python-package.yml --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index b417e1aeb..7167b31ff 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -82,7 +82,7 @@ jobs: id: cuda-toolkit with: # Temporary: Use CUDA 12.9.0 for Windows until 12.9.1 is supported with this action. - cuda: ${{ matrix.cuda_version == "12.9.1" && "12.9.0" || matrix.cuda_version }} + cuda: ${{ matrix.cuda_version == '12.9.1' && '12.9.1' || matrix.cuda_version }} method: "network" sub-packages: '["nvcc","cudart","cusparse","cublas","thrust","nvrtc_dev","cublas_dev","cusparse_dev"]' linux-local-args: '["--toolkit"]' From 6959219cd826577293069d3d83065166160457ba Mon Sep 17 00:00:00 2001 From: Matthew Douglas <38992547+matthewdouglas@users.noreply.github.com> Date: Fri, 27 Jun 2025 11:36:49 -0400 Subject: [PATCH 5/7] Update python-package.yml --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 7167b31ff..2ca19e32f 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -82,7 +82,7 @@ jobs: id: cuda-toolkit with: # Temporary: Use CUDA 12.9.0 for Windows until 12.9.1 is supported with this action. - cuda: ${{ matrix.cuda_version == '12.9.1' && '12.9.1' || matrix.cuda_version }} + cuda: ${{ matrix.cuda_version == '12.9.1' && '12.9.0' || matrix.cuda_version }} method: "network" sub-packages: '["nvcc","cudart","cusparse","cublas","thrust","nvrtc_dev","cublas_dev","cusparse_dev"]' linux-local-args: '["--toolkit"]' From db373e97977e07aa80f168870658800f8624fd49 Mon Sep 17 00:00:00 2001 From: Matthew Douglas <38992547+matthewdouglas@users.noreply.github.com> Date: Fri, 27 Jun 2025 11:55:44 -0400 Subject: [PATCH 6/7] Update tests.yml --- .github/workflows/tests.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1597f5214..e6af413c5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -49,8 +49,8 @@ jobs: build-cuda: strategy: matrix: - cuda_version: ["11.8.0", "12.6.3", "12.8.1", "12.9.0"] - os: [ubuntu-22.04, ubuntu-22.04-arm, windows-2025] + cuda_version: ["11.8.0", "12.6.3", "12.8.1", "12.9.1"] + os: [ubuntu-22.04, ubuntu-22.04-arm] include: - os: ubuntu-22.04 arch: x86_64 @@ -58,6 +58,7 @@ jobs: arch: aarch64 - os: windows-2025 arch: x86_64 + cuda_version: "11.8.0" runs-on: ${{ matrix.os }} steps: @@ -231,7 +232,7 @@ jobs: os: [ubuntu-22.04, windows-2025] arch: [x86_64] gpu: [T4, L40S] - cuda_version: ["11.8.0", "12.6.3", "12.8.1", "12.9.0"] + cuda_version: ["11.8.0", "12.6.3", "12.8.1", "12.9.1"] include: - cuda_version: "11.8.0" torch_version: "2.2.2" @@ -242,7 +243,7 @@ jobs: - cuda_version: "12.8.1" torch_version: "2.7.1" pypi_index: "https://download.pytorch.org/whl/cu128" - - cuda_version: "12.9.0" + - cuda_version: "12.9.1" torch_version: "2.8.0" pypi_index: "https://download.pytorch.org/whl/nightly/cu129" @@ -284,7 +285,7 @@ jobs: # Our current T4 Windows runner has a driver too old (471.11) # and cannot support CUDA 12+. Skip for now. - os: windows-2025 - cuda_version: "12.9.0" + cuda_version: "12.9.1" - os: windows-2025 cuda_version: "12.8.1" - os: windows-2025 From 291849e4e219765cfcc364a42bb0a9922257afef Mon Sep 17 00:00:00 2001 From: Matthew Douglas <38992547+matthewdouglas@users.noreply.github.com> Date: Fri, 27 Jun 2025 13:00:32 -0400 Subject: [PATCH 7/7] Update tests.yml --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e6af413c5..483ddc6ec 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -317,7 +317,7 @@ jobs: - name: Install dependencies run: | - pip install --pre torch==${{ matrix.torch_version }} --index-url ${{ matrix.pypi_index }} + pip install --pre torch~=${{ matrix.torch_version }}.dev0 --index-url ${{ matrix.pypi_index }} pip install -e ".[test]" pip install pytest-cov