Add stable PyTorch 2.13 and manylinux wheel support - #398
Conversation
Build the new Python and architecture matrix against the final cu130 release while keeping established NGC lanes isolated from the toolchain changes.
Fail publication when the expected Python, CUDA, and architecture artifacts are missing, and align install guidance with the native v0.1.41 matrix.
Treat the system interpreter as optional so bare CUDA containers use the uv-managed Python in an isolated virtual environment.
Run the legacy native wheel on a compatible host and avoid treating an upstream AArch64 package metadata warning as a tmol install failure.
Build Torch 2.12 wheels against the stable cu132 package and require every release artifact, dependency set, runtime Torch, and CUDA tag to match its declared variant.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #398 +/- ##
==========================================
+ Coverage 89.54% 90.10% +0.55%
==========================================
Files 356 358 +2
Lines 30990 31401 +411
==========================================
+ Hits 27751 28293 +542
+ Misses 3239 3108 -131 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Run metadata and native-extension validation away from the source tree so Python imports the downloaded wheel rather than the checkout.
Replace implicit NGC development packages with exact stable releases and exercise every GPU artifact before publishing.
Prevent NGC alpha packages from leaking into stable target environments when Python versions match.
|
This is perfect timing: I was just looking to add a cuda 13.0 + torch 2.13 build |
Drop unused CUDA link dependencies so monolithic AArch64 PyTorch installs can load tmol, and test the GPU wheel against its exact stable Torch variant.
Use a test-local CUDA tolerance for three near-zero baseline terms that reproduce identically across A100 and L40S runners.
Clarify that v0.1.40 remains current while documenting the validated v0.1.42 manylinux matrix and smoke workflow.
|
What is the limit on the number of wheels we can ask github to make / store? |
|
GitHub's release limits leave plenty of room for this matrix: up to 1,000 assets per release, each under 2 GiB, with no aggregate release-size or download-bandwidth limit. This release has 32 wheel assets; the validated artifacts total about 2.69 GB and the largest wheel is about 98 MB. The workflow matrix is also well below GitHub Actions' 256-job matrix limit. Temporary Actions artifacts are separate from permanent release assets and expire (90 days by default); we can shorten their retention later if desired, but that does not constrain the published wheels. References:
The v0.1.42 candidate is ready for maintainer approval once the two transient wheel jobs finish their rerun. After approval I will merge, push the matching |
|
Update: the rerun completed successfully. All repository CI and all 32 wheel smoke/portability lanes are green on the current head; maintainer approval is now the only remaining merge gate. |
Summary
Test plan
Latest repository CI: https://github.com/uw-ipd/tmol/actions/runs/29602415794
Latest wheel validation: https://github.com/uw-ipd/tmol/actions/runs/29602415232
Validated complete wheel run: https://github.com/uw-ipd/tmol/actions/runs/29596189327