Unverified Commit 1abd5e78 authored by Matthew Douglas's avatar Matthew Douglas Committed by GitHub
Browse files

Add CUDA 12.9 build (#1689)

* Add CUDA 12.9 to build/test workflows

* Downgrade Jimver/cuda-toolkit to v0.2.24

* Update python-package.yml

* Update python-package.yml

* Update python-package.yml

* Update tests.yml

* Update tests.yml
parent aca9778e
...@@ -11,14 +11,14 @@ if [[ -v cuda_targets ]]; then ...@@ -11,14 +11,14 @@ if [[ -v cuda_targets ]]; then
elif [ "${build_arch}" = "aarch64" ]; then elif [ "${build_arch}" = "aarch64" ]; then
build_capability="75;80;90" build_capability="75;80;90"
# CUDA 12.8: Add sm100 # CUDA 12.8+: Add sm100/sm120
[[ "${cuda_version}" == 12.8.* ]] && build_capability="75;80;90;100" [[ "${cuda_version}" == 12.8.* || "${cuda_version}" == 12.9.* ]] && build_capability="75;80;90;100;120"
else else
# By default, target Maxwell through Hopper. # By default, target Maxwell through Hopper.
build_capability="50;52;60;61;70;75;80;86;89;90" 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 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_version}" == 12.8.* || "${cuda_version}" == 12.9.* ]] && build_capability="75;80;86;89;90;100;120"
fi fi
[[ "${build_os}" = windows-* ]] && python3 -m pip install ninja [[ "${build_os}" = windows-* ]] && python3 -m pip install ninja
......
...@@ -72,16 +72,17 @@ jobs: ...@@ -72,16 +72,17 @@ jobs:
- os: windows-latest - os: windows-latest
arch: x86_64 arch: x86_64
cuda_version: 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.1"]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
# Windows: We install Cuda on the agent (slow) # Windows: We install Cuda on the agent (slow)
- uses: Jimver/cuda-toolkit@v0.2.22 - uses: Jimver/cuda-toolkit@c35baa1a18fd1fc9dcf47c5bd839bf30559c0bc3 # v0.2.24
if: startsWith(matrix.os, 'windows') if: startsWith(matrix.os, 'windows')
id: cuda-toolkit id: cuda-toolkit
with: 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" method: "network"
sub-packages: '["nvcc","cudart","cusparse","cublas","thrust","nvrtc_dev","cublas_dev","cusparse_dev"]' sub-packages: '["nvcc","cudart","cusparse","cublas","thrust","nvrtc_dev","cublas_dev","cusparse_dev"]'
linux-local-args: '["--toolkit"]' linux-local-args: '["--toolkit"]'
......
...@@ -49,8 +49,8 @@ jobs: ...@@ -49,8 +49,8 @@ jobs:
build-cuda: build-cuda:
strategy: strategy:
matrix: 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.1"]
os: [ubuntu-22.04, ubuntu-22.04-arm, windows-2025] os: [ubuntu-22.04, ubuntu-22.04-arm]
include: include:
- os: ubuntu-22.04 - os: ubuntu-22.04
arch: x86_64 arch: x86_64
...@@ -58,13 +58,14 @@ jobs: ...@@ -58,13 +58,14 @@ jobs:
arch: aarch64 arch: aarch64
- os: windows-2025 - os: windows-2025
arch: x86_64 arch: x86_64
cuda_version: "11.8.0"
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install CUDA Toolkit - name: Install CUDA Toolkit
uses: Jimver/cuda-toolkit@v0.2.23 uses: Jimver/cuda-toolkit@c35baa1a18fd1fc9dcf47c5bd839bf30559c0bc3 # v0.2.24
if: startsWith(matrix.os, 'windows') if: startsWith(matrix.os, 'windows')
id: cuda-toolkit id: cuda-toolkit
with: with:
...@@ -358,7 +359,7 @@ jobs: ...@@ -358,7 +359,7 @@ jobs:
os: [ubuntu-22.04, windows-2025] os: [ubuntu-22.04, windows-2025]
arch: [x86_64] arch: [x86_64]
gpu: [T4, L40S] 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.1"]
include: include:
- cuda_version: "11.8.0" - cuda_version: "11.8.0"
torch_version: "2.2.2" torch_version: "2.2.2"
...@@ -369,6 +370,9 @@ jobs: ...@@ -369,6 +370,9 @@ jobs:
- cuda_version: "12.8.1" - cuda_version: "12.8.1"
torch_version: "2.7.1" torch_version: "2.7.1"
pypi_index: "https://download.pytorch.org/whl/cu128" pypi_index: "https://download.pytorch.org/whl/cu128"
- cuda_version: "12.9.1"
torch_version: "2.8.0"
pypi_index: "https://download.pytorch.org/whl/nightly/cu129"
# Linux L40S runners # Linux L40S runners
...@@ -401,12 +405,14 @@ jobs: ...@@ -401,12 +405,14 @@ jobs:
gpu: T4 gpu: T4
runner: CUDA-Windows-x64 runner: CUDA-Windows-x64
cuda_version: "11.8.0" 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" pypi_index: "https://download.pytorch.org/whl/cu118"
exclude: exclude:
# Our current T4 Windows runner has a driver too old (471.11) # Our current T4 Windows runner has a driver too old (471.11)
# and cannot support CUDA 12+. Skip for now. # and cannot support CUDA 12+. Skip for now.
- os: windows-2025
cuda_version: "12.9.1"
- os: windows-2025 - os: windows-2025
cuda_version: "12.8.1" cuda_version: "12.8.1"
- os: windows-2025 - os: windows-2025
...@@ -438,7 +444,7 @@ jobs: ...@@ -438,7 +444,7 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: | run: |
pip install 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 -e ".[test]"
pip install pytest-cov pip install pytest-cov
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment