MPS in PyTorch 2.15
Blog post from Hugging Face
PyTorch 2.15 substantially expands and accelerates the Metal Performance Shaders (MPS) backend for Apple silicon Macs, requiring macOS 15 and Python 3.11 or newer. The release introduces FP8 tensor support and scaled matrix multiplication, reducing weight storage to half that of BF16, while specialized Metal kernels improve language-model decoding through faster matrix-vector operations, grouped matrix multiplication for mixture-of-experts models, and softmax operations that can be about eight times faster for large vocabularies. Reported benchmarks show major MoE throughput gains, including Qwen3.6-35B-A3B increasing from 9.4 to 61.3 tokens per second on an M3 Ultra in one configuration. New GPU support for complex linear algebra, small matrix inversion, QR decomposition, triangular solves, convolutions, padding, dropout, interpolation backward, and reductions broadens MPS capabilities, and a Metal-based padding implementation reduces Wan2.2 video VAE decoding driver memory from roughly 270 GiB to 8 GiB while fixing image-editing correctness issues. PyTorch 2.15 also adds public MPS stream controls, more supported operations, and attention correctness fixes, while planned 2.16 work includes fully Metal-based attention, further MPSGraph replacements, faster decoding, and a smaller library footprint.
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.