Skip to content

Commit 901e22c

Browse files
committed
Add CUDA 12.9 builds for Linux (x86 + aarch64) in the test channel
Port of #8164 to release/2.13. Adds CUDA 12.9 wheel/libtorch builds to the test channel, scoped to Linux only (x86 + aarch64). Windows and macOS do not build 12.9. - Linux x86: 12.9 is added in initialize_globals only when channel == test and os == linux. It is intentionally not placed in CUDA_ARCHES_DICT["test"] because Windows reads that same list and must not pick up 12.9. - Linux aarch64: introduce a per-channel CUDA_AARCH64_ARCHES_DICT (mirroring CUDA_ARCHES_DICT) with 12.9-aarch64 in the test channel only. - CUDA_CUDNN_VERSIONS: add 12.9 -> {cuda: 12.9.1, cudnn: 9}. - Container images are derived automatically. Other channels unaffected: nightly/release linux do not include 12.9. Existing unit tests (generated on the nightly channel) still pass 7/7.
1 parent 9c8c45b commit 901e22c

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

tools/scripts/generate_binary_build_matrix.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
CUDA_CUDNN_VERSIONS = {
5050
"12.6": {"cuda": "12.6.3", "cudnn": "9"},
5151
"12.8": {"cuda": "12.8.0", "cudnn": "9"},
52+
"12.9": {"cuda": "12.9.1", "cudnn": "9"},
5253
"13.0": {"cuda": "13.0.0", "cudnn": "9"},
5354
"13.2": {"cuda": "13.2.0", "cudnn": "9"},
5455
}
@@ -59,7 +60,11 @@
5960
"release": "13.0",
6061
}
6162

62-
CUDA_AARCH64_ARCHES = ["12.6-aarch64", "13.0-aarch64", "13.2-aarch64"]
63+
CUDA_AARCH64_ARCHES_DICT = {
64+
"nightly": ["12.6-aarch64", "13.0-aarch64", "13.2-aarch64"],
65+
"test": ["12.6-aarch64", "12.9-aarch64", "13.0-aarch64", "13.2-aarch64"],
66+
"release": ["12.6-aarch64", "13.0-aarch64", "13.2-aarch64"],
67+
}
6368

6469
PACKAGE_TYPES = ["wheel", "libtorch"]
6570
CXX11_ABI = "cxx11-abi"
@@ -91,6 +96,7 @@
9196

9297
# By default use Nightly for CUDA arches
9398
CUDA_ARCHES = CUDA_ARCHES_DICT[NIGHTLY]
99+
CUDA_AARCH64_ARCHES = CUDA_AARCH64_ARCHES_DICT[NIGHTLY]
94100
ROCM_ARCHES = ROCM_ARCHES_DICT[NIGHTLY]
95101
PYTHON_ARCHES = PYTHON_ARCHES_DICT[NIGHTLY]
96102

@@ -167,6 +173,13 @@ def initialize_globals(
167173
CURRENT_VERSION = CURRENT_STABLE_VERSION
168174

169175
CUDA_ARCHES = CUDA_ARCHES_DICT[channel]
176+
CUDA_AARCH64_ARCHES = CUDA_AARCH64_ARCHES_DICT[channel]
177+
# CUDA 12.9 is built for Linux only (x86 and aarch64) in the test channel.
178+
# Windows and macOS do not build 12.9. aarch64 is handled via the per-channel
179+
# CUDA_AARCH64_ARCHES_DICT above; here we add the x86 arch for Linux only so
180+
# that Windows (which shares CUDA_ARCHES_DICT) does not pick it up.
181+
if channel == TEST and os == LINUX:
182+
CUDA_ARCHES = CUDA_ARCHES + ["12.9"]
170183
ROCM_ARCHES = ROCM_ARCHES_DICT[channel]
171184
if build_python_only:
172185
# Only select the oldest version of python if building a python only package

0 commit comments

Comments
 (0)