Skip to content

Commit 11c193e

Browse files
committed
Add CUDA 12.9 builds for Linux (x86 + aarch64) in the test channel
Add CUDA 12.9 wheel/libtorch builds for the test channel, scoped to Linux only: - Linux x86: added in initialize_globals (channel == test and os == linux) so that Windows, which shares CUDA_ARCHES_DICT, does not pick up 12.9. - Linux aarch64: handled via a new per-channel CUDA_AARCH64_ARCHES_DICT with 12.9-aarch64 in the test channel only. - Windows and macOS do not build 12.9. - Adds CUDA_CUDNN_VERSIONS entry (12.9.1 / cudnn 9), matching how 12.9 was previously configured. Container images (manylinux2_28-builder:cuda12.9 / manylinuxaarch64-builder:cuda12.9) are derived automatically. Reference test assets are regenerated via 'python -m tools.tests.test_generate_binary_build_matrix --update-reference-files'. The assets are generated for the nightly channel, so they do not reflect the test-channel 12.9 addition. The asset diffs are a pre-existing staleness fix: they carried stable_version 2.11.0 while the script already declares CURRENT_STABLE_VERSION = 2.12.0, which had left all 7 matrix tests red. The regenerated assets now pass.
1 parent b9e711f commit 11c193e

8 files changed

Lines changed: 203 additions & 190 deletions

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)