install.ps1: allow torch 2.11 on Windows CUDA installs

The Windows installer still capped torch at <2.11.0 everywhere, a
stability pin from before 2.11 support landed. Every other layer already
allows 2.11: install.sh widens cu<digits> leaves to <2.12.0, the Python
repair layer uses the <2.12.0 trio for CUDA and CPU, and setup.ps1's
bare specs on known cu leaves resolve 2.11 today.

The fresh-install and CUDA flavor-repair paths now widen the trio to
torch<2.12 / torchvision<0.27 / torchaudio<2.12 when the index leaf is a
cu<digits> family, and keep the 2.10 line otherwise (custom pins and the
CPU fallback are unchanged, matching install.sh's defaults). Verified by
uv dry-runs against cu126/cu128/cu130 for win_amd64: the trio resolves
paired at 2.11.0 / 0.26.0 / 2.11.0, and the existing triton-windows<3.7
constraint resolves 3.6.0.post26, the torch 2.11 pairing.

Parity test updated to assert the leaf-gated widen.
This commit is contained in:
Daniel Han 2026-07-20 08:05:55 +00:00
commit 25f6b8d842
2 changed files with 38 additions and 14 deletions

View file

@ -417,15 +417,23 @@ class TestKnown211SetParity:
assert (
'$_pinAudioSpec = "torchaudio>=2.4,<2.11.0"' in text
), "install.ps1 custom-pin install must bound torchaudio (>=2.4,<2.11.0)"
# No cu-family exemption: the bounds apply unconditionally.
# cu<digits> leaves widen the whole trio to the torch 2.11 line (<2.12),
# matching install.sh's cu[0-9]* widen and _CUDA_TORCH_PKG_SPEC; other
# leaves keep the 2.10 line. The trio stays bounded on every index.
assert '$_pinTorchSpec = "torch>=2.4,<2.12.0"' in text, (
"install.ps1 must widen torch to <2.12.0 on cu<digits> index leaves"
)
assert (
"$_pinCuLeaf" not in text
), "install.ps1 must bound companions on every index (no cu-family exemption)"
# The bounded companions must actually be passed to the install command.
'$_pinVisionSpec = "torchvision>=0.19,<0.27.0"' in text
), "install.ps1 cu-leaf install must pair torchvision <0.27.0 with torch <2.12"
assert (
'$_pinAudioSpec = "torchaudio>=2.4,<2.12.0"' in text
), "install.ps1 cu-leaf install must pair torchaudio <2.12.0 with torch <2.12"
# The bounded trio must actually be passed to the install command.
assert re.search(
r'"torch>=2\.4,<2\.11\.0" \$_pinVisionSpec \$_pinAudioSpec --default-index \$TorchIndexUrl',
r'\$_pinTorchSpec \$_pinVisionSpec \$_pinAudioSpec --default-index \$TorchIndexUrl',
text,
), "install.ps1 custom-pin install must pass the bounded companion specs to uv"
), "install.ps1 pinned install must pass the bounded trio specs to uv"
def test_gfx_allowlist_matches_across_installers(self):
# The gfx 2.11 allowlist {gfx120x-all, gfx1151, gfx1150} must appear in each.