$ the-wire · showcase
Silent wrong results in ExecuTorch reruns, RoPE cache tied in Torchtitan
By RepoJournal · Filed · About PyTorch · Composed from the cited sources · methodology
ExecuTorch fixed a bug that silently returned wrong numbers on a second execute(), while torchtitan landed on-device Newton-Schulz and a shared RoPE cache that cut optimizer steps from roughly 15s to 1s.
[PyBindings] Torch-free follow-ups: reused inputs, error reasons, bfloat16 shape, dtype names, tests, docs (#24146) pytorch/executorch
Torch-free PyBindings follow-ups fix a silent-wrong-numbers bug: export lets later values reuse an input's planned memory, so method.execute() a second time without new inputs, Module.plan_execute(), and partial input lists all returned incorrect results without error. The same PR fixes bfloat16 shape handling, error reasons, and dtype names.
[DistMuon] Newton-Schulz can be staged on device of choice pytorch/torchtitan
DistMuon gains ns_device=None | "cuda" | "cpu" on both the optimizer and DistMuon.Config; None keeps current behavior. Under FSDP2 CPU offload, the new option moves Newton-Schulz compute views to the GPU and back, taking one contributor's offloaded step from ~15s to ~1s per step in their test.
[perf] Tied RoPE cache pytorch/torchtitan
RoPE caches are now tied at the same point as embedding tying, so the deduplication works naturally with pipeline parallelism since each model part is a separate decoder. A previous attempt stalled on fragility and PP concerns; this is the minimal reimplementation.
Stop installing test-only packages with the executorch package (#24143) pytorch/executorch
pip install executorch used to pull in expecttest, hypothesis, kgb, parameterized, and sortedcontainers via hypothesis: five packages only the project's own tests need. They moved from _base_dependencies() in setup.py to requirements-dev.txt, so installs get lighter for every user.
[dynamic shapes] Keep the sign of a constant in _reduce_to_lowest_terms (#201524) pytorch/pytorch
canonicalize_bool_expr reduces rhs - lhs with _reduce_to_lowest_terms, which returned 1 for every integer; X < X collapsed to 0 < 1 and ShapeEnv decided it True without a guard. The fix preserves the sign of the integer constant, and the change is not BC-breaking.
[AOTI] Make test_aoti_inference runnable from CI build artifacts (#201699) pytorch/pytorch
Also worth noting: test_aoti_inference collected zero tests in CI since model generation moved from build time to test time and the binary kept depending on its build directory, and it now runs from CI build artifacts. Arm backend added E4M3 and E5M2 FP8 VGF operator tests, the -Wunreachable-code-break cleanup spread across executorch and caffe2, ROCm stream tests got calibrated GPU sleep delay...