Skip to content

Commit 0c4a332

Browse files
committed
build: bump pinned MLX to 0.32.0
Maintenance bump of the native MLX pin from 0.31.2. No API changes. Transparently picks up two upstream perf improvements to kernels emily already uses: qmv_wide small-batch quantized matvec (accelerates the fused quantized path) and fused SDPA coverage for asymmetric Q/V head dims. Full suite green on the new version: default (737 tests, 40 doctests, 79 properties), conformance (eager/native/fuse vs PyTorch references), and the full-checkpoint tiers (ViT/Whisper/DistilBERT/fast-kernels + MNIST training canary).
1 parent 0f614a4 commit 0c4a332

3 files changed

Lines changed: 6 additions & 2 deletions

File tree

RELEASE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
### Changed
22

3+
- Updated the pinned MLX to 0.32.0. This is a maintenance bump that also
4+
picks up faster small-batch quantized matvec (`qmv_wide`) — accelerating
5+
the fused quantized path — and broader fused SDPA coverage (asymmetric
6+
Q/V head dims), both transparently. No API changes.
37
- Quantized dense layers now use the fused `mx::quantized_matmul` kernel
48
instead of dequantizing the full weight to bf16 and running a dense
59
matmul. The packed low-bit weights are streamed directly, so a decode

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ defmodule Emily.MixProject do
99
# `deps/0`) and the per-variant cache dir layout. Bump in lockstep with
1010
# the submodule ref; CI's `release-nif.yml` rebuilds the NIF against
1111
# whatever this resolves to.
12-
@mlx_version "0.31.2"
12+
@mlx_version "0.32.0"
1313

1414
# Precompiled NIF targets this `@version` ships. Used as an
1515
# early fail-fast guard in the hex-consumer fetch step (an

mix.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"makeup": {:hex, :makeup, "1.2.1", "e90ac1c65589ef354378def3ba19d401e739ee7ee06fb47f94c687016e3713d1", [:mix], [{:nimble_parsec, "~> 1.4", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "d36484867b0bae0fea568d10131197a4c2e47056a6fbe84922bf6ba71c8d17ce"},
1818
"makeup_elixir": {:hex, :makeup_elixir, "1.0.1", "e928a4f984e795e41e3abd27bfc09f51db16ab8ba1aebdba2b3a575437efafc2", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "7284900d412a3e5cfd97fdaed4f5ed389b8f2b4cb49efc0eb3bd10e2febf9507"},
1919
"makeup_erlang": {:hex, :makeup_erlang, "1.0.3", "4252d5d4098da7415c390e847c814bad3764c94a814a0b4245176215615e1035", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "953297c02582a33411ac6208f2c6e55f0e870df7f80da724ed613f10e6706afd"},
20-
"mlx_src": {:git, "https://github.com/ml-explore/mlx.git", "68cf2fddd8de5edd8ab3d926391772b2e2cedad8", [tag: "v0.31.2"]},
20+
"mlx_src": {:git, "https://github.com/ml-explore/mlx.git", "7a1d4f5c12ac82f4b4d0a6e71538d89ca0605247", [tag: "v0.32.0"]},
2121
"nimble_csv": {:hex, :nimble_csv, "1.3.0", "b7f998dc62b222bce9596e46f028c7a5af04cb5dde6df2ea197c583227c54971", [:mix], [], "hexpm", "41ccdc18f7c8f8bb06e84164fc51635321e80d5a3b450761c4997d620925d619"},
2222
"nimble_parsec": {:hex, :nimble_parsec, "1.4.2", "8efba0122db06df95bfaa78f791344a89352ba04baedd3849593bfce4d0dc1c6", [:mix], [], "hexpm", "4b21398942dda052b403bbe1da991ccd03a053668d147d53fb8c4e0efe09c973"},
2323
"nx": {:hex, :nx, "0.12.0", "32bc205bab5486d73892132d17a11ea113e97427a29bb70606a544724b95e193", [:mix], [{:complex, "~> 0.7", [hex: :complex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d022a33ea3c900eb6e2e91b4e0793759459c886f482be61978004b5e4843b5e"},

0 commit comments

Comments
 (0)