Key details

  1. Final PyTorch 2.15.0 release candidate announced October 21, 2026; GA scheduled October 28.
  2. MPS adds FP8 E4M3 and scaled matrix multiplication; supported Apple-silicon Macs need macOS 15+ and Python 3.11+.
  3. Hugging Face contributors report 9.4→61.3 tokens/s for Qwen3.6-35B-A3B on M3 Ultra in a specified comparison; another compiled comparison in the same post is ~1.3x.
  4. Wan2.2 tiled-video VAE total driver-memory peak: 270.135 GiB→8.108 GiB in authors' test, not total system RAM.
  5. Independent cross-hardware benchmarks have not been established.

What builders should take away

  1. Treat 2.15 as a release candidate until the PyTorch team confirms general availability.
  2. If local MoE decoding or image/video inference is a bottleneck, test the new MPS path against the same model, precision, hardware and compilation settings.
  3. Check macOS 15 and Python 3.11 compatibility before planning a migration.
  4. Measure both tokens per second and driver-memory peaks; the biggest practical improvement may be a previously failing video or image workflow.
  5. Do not assume FP8 storage savings translate into a proportional end-to-end memory or throughput reduction.

What changed

On October 20, 2026, the Hugging Face team contributing to PyTorch's Metal Performance Shaders (MPS) backend documented changes in PyTorch 2.15. The PyTorch release team made the final 2.15.0 release candidate available October 21, with general availability scheduled for October 28; it is not a stable release yet. The RC adds torch.float8_e4m3fn support and scaled matrix multiplication on MPS, native grouped matrix multiplication and decoding kernels for mixture-of-experts models, optimized softmax and linear layers, more GPU linear algebra, public MPS stream control, and fixes to padding and image-editing correctness. In the authors' Wan2.2 tiled-video VAE workload, total driver-memory peak fell from 270.135 GiB to 8.108 GiB after constant padding moved from MPSGraph to Metal. Requirements rise to macOS 15 and Python 3.11.

Why it matters

For builders running local language, image and video models on Apple-silicon Macs, backend bottlenecks and unsupported operations can determine whether a workload is usable at all. FP8 can halve per-value storage relative to BF16, subject to model and operator support. GPU-side grouped matmul removes a CPU round-trip in MoE decoding. The dramatic video-driver-memory fix could turn a failing workflow into one that fits the available machine. But no general 6.5x speedup should be assumed: the numbers come from the contributing team, use specified M3 Ultra models/configurations, and the same technical post describes roughly 1.3x throughput improvement in a more narrowly controlled compiled comparison. Production users should benchmark their own models after the stable release.

Final release candidate, not the October 28 stable build

PyTorch announced its final 2.15 RC on October 21 for testing via the pytorch-test package channel. The official release schedule lists October 28 for GA. Teams should test separately from production, record their torch, macOS, Python, model and compilation versions, and confirm framework integrations. PyTorch 2.15 requires Python 3.11+; the MPS backend now requires macOS 15+.

FP8 and MoE changes remove practical Apple-silicon bottlenecks

The RC supports FP8 E4M3 tensors on MPS and F.scaled_mm with tensorwise or rowwise scaling, enabling one-byte values where operators and models support them. A native F.grouped_mm path and dedicated decoding kernels replace earlier CPU-side group-offset handling. Specialized F.linear and softmax kernels accelerate selected decode shapes; the authors report a 1.23x geometric-mean F.linear improvement across 96 BF16 shapes and about 8x faster softmax for a specified 128,256-logit row.

Do not conflate the 5–6.5x headline with universal throughput

Hugging Face reports Qwen3.6-35B-A3B on M3 Ultra rising from 9.4 to 61.3 tokens/s and LFM2.5-8B-A1B from 23.6 to 123.6 tokens/s in its headline comparison. Elsewhere the same post says the new grouped matmul path yields about 1.3x more tokens/s in a compiled comparison. These comparisons differ in what is held constant; independent reproduction across hardware, model precision, graph compilation and prompts is not yet available. Avoid extrapolating headline speedups to every Mac or model.

Video memory and correctness may matter more than peak tokens

In Wan-AI/Wan2.2-TI2V-5B-Diffusers tiled VAE decoding, moving 8,764 padding calls to Metal reduced total driver-memory peak from 270.135 GiB to 8.108 GiB, while allocator-reserved peak remained about 8.07 GiB. The team also says a related padding fix resolves a Qwen-Image-2.1 MPS encode-decode corruption issue previously reported in ComfyUI. Other new GPU paths cover complex LU, QR, dropout, convolution, padding and reduction workloads.

What to watch next

  • Official PyTorch 2.15 GA release on October 28 and any last-minute RC-to-stable changes.
  • Independent like-for-like M3/M4/M5 benchmarks for MoE, dense models and video workloads.
  • Hugging Face Transformers, Diffusers and ComfyUI compatibility reports with 2.15 MPS.
  • Whether 2.16's planned all-Metal attention and smaller library ship as described.

Still unclear

  • The RC could change before the planned October 28 stable release.
  • Headline 5–6.5x and more constrained ~1.3x comparisons are both in the contributor post; they are not interchangeable.
  • No independent multi-device replication of the largest performance and driver-memory claims was found.
  • FP8 operator/model coverage and accuracy trade-offs vary by workload.
  • Some 2.16 features described by the authors remain planned or under review.

Sources

Direct reading behind this dossier.

4 sources
MPS in PyTorch 2.15
Hugging Face PyTorch contributors primary technical analysis

FP8, MPS kernels, model-specific performance, memory measurements and requirements; vendor-contributor benchmarks.

Discussion

Discussion is reader-contributed. Comments are not part of the BTN dossier or its editorial evidence.

0 visible comments

Join the discussion

Keep comments useful and relevant. Reader contributions may be moderated and are not BTN editorial evidence.

Sign in to comment