Skip to content

Require PyTorch 2.8; build all CUDA 12 wheels against it - #313

Merged
azrael417 merged 4 commits into
mainfrom
tkurth/drop-torch-2.6
Oct 7, 2026
Merged

azrael417 merged 4 commits into
mainfrom
tkurth/drop-torch-2.6

Conversation

@azrael417

@azrael417 azrael417 commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

On the v0.9.3rc4 cluster tests, the NCCL of PyTorch 2.6 (2.21.5) and 2.7 (2.26.2) failed the distributed tests:

  • H100 (eos), torch 2.6: segfaults in the ring p2p tests on every grid with more than one azimuth rank. On 2×4, almost every test file crashed.
  • H100 (eos), torch 2.7: segfaults on 2×4 in test_distributed_primitives and test_distributed_quadrature (collectives only, no p2p), plus a sporadic abort on 4×1.
  • B200 (prenyx), torch 2.7: every distributed test process spent about 6 minutes in NCCL.

PyTorch 2.8 (NCCL 2.27.3) and later pass every grid on both clusters, including on eos' driver 535 (CUDA 12.2).

Changes

  • Minimum PyTorch is 2.8 (pyproject.toml: torch>=2.8.0).
  • cu126 and cu128 are now built against PyTorch 2.8.0 instead of 2.6/2.7, alongside cu129. Every CUDA 12 variant runs on the NCCL that passed, and each matches the CUDA build of torch 2.8 its users have; plain pip install torch==2.8.0 is the cu128 build. Still 7 variants, 24 build jobs.
  • README / docs/install.md: users of PyTorch before 2.8 or CUDA before 12.6 are pointed to the Docker container, or to a source build with --no-deps. Without --no-deps, the torch>=2.8 requirement makes pip replace their PyTorch. Those combinations are untested.
  • Changelog: breaking entry, and the section is relabelled ### v0.9.3rc5 for the next tag.

🤖 Generated with Claude Code

azrael417 and others added 2 commits October 7, 2026 04:02
PyTorch 2.6 is old by now, and the v0.9.3rc4 cluster tests showed its
NCCL (2.21) crashing the distributed tests on H100 (segfaults in the ring
p2p tests, on every grid with more than one azimuth rank), which PyTorch
2.8 and later do not -- nothing to work around on our side.

- build_wheels.yml: no cu126 row, plan entry, cp314 exclusion or 12.6 arch
  list; the matrix is 6 variants.
- pyproject.toml: torch>=2.7.0.
- README, docs/install.md, CONTRIBUTING.md: no cu126; examples use cu128.
- Changelog: breaking entry. CUDA 12 users install torch-harmonics-cu128,
  which also runs on older CUDA 12 drivers (tested on driver 535 / CUDA
  12.2). The section is relabelled v0.9.3rc5 for the next tag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The rest of the v0.9.3rc4 eos results showed PyTorch 2.7 (NCCL 2.26.2)
failing like 2.6: segfaults on 2x4 in the distributed primitives and
quadrature tests -- the latter only uses collectives, no p2p -- and an
abort on 4x1 on H100, while on B200 every distributed test process spent
about six minutes in NCCL. PyTorch 2.8 (NCCL 2.27.3) passes every grid on
both, also on eos' driver 535 (CUDA 12.2), so torch-harmonics-cu129 covers
CUDA 12 users with older drivers just as cu128 did.

Minimum PyTorch is now 2.8; the matrix is 5 variants (cu129, cu130,
cu132, cuda-latest, cpu).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@azrael417 azrael417 changed the title Drop PyTorch 2.6 and the cu126 wheel Drop PyTorch 2.6 and 2.7 (the cu126 and cu128 wheels) Oct 7, 2026
@greptile-apps

greptile-apps Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[High risk] Bumps minimum PyTorch version and rebuilds all CUDA 12 wheels.

The PR appears safe to merge; no blocking issue remains from this review.

Summary

Raises the minimum PyTorch version to 2.8 and builds all three CUDA 12 wheel variants against PyTorch 2.8.0.

  • Keeps the CUDA 12.6 and 12.8 packages, addressing the earlier installation-guidance concern.
  • Documents Docker and untested source-build options for older installations.
  • Adds explicit targets for the source-build and Docker links in docs/install.md.
  • No new actionable issues were found in the changes since the previous review.

Reviews (3) · Last reviewed commit: "docs: add labels for the install page's ..." · Reviewed by Greptile

Comment thread docs/install.md
Instead of discontinuing cu126 and cu128 with PyTorch 2.6/2.7, build them
against PyTorch 2.8 too, for the CUDA builds it ships: every CUDA 12
variant now runs on PyTorch 2.8 and its NCCL (2.27.3), which passed the
distributed tests on H100 and B200, and each matches the torch build its
users have -- plain `pip install torch==2.8.0` is the CUDA 12.8 build. The
matrix is back to 7 variants, 24 build jobs; torch>=2.8.0 stays.

README and docs/install.md tell users of older PyTorch or CUDA to use the
Docker container or build from source with --no-deps -- without it, the
torch>=2.8 requirement makes pip replace their PyTorch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@azrael417 azrael417 changed the title Drop PyTorch 2.6 and 2.7 (the cu126 and cu128 wheels) Require PyTorch 2.8; build all CUDA 12 wheels against it Oct 7, 2026
The note on older PyTorch/CUDA links to #docker and #building-from-source,
but MyST heading anchors are not enabled, so the links had no target
(myst.xref_missing in the docs build).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@azrael417
azrael417 merged commit 637c3f2 into main Oct 7, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants