An executed C++ audit of the non-transposed MLX CPU fp_qmm path. Exactly representable repeated additions give 2,048 instead of 6,144 in bfloat16, and 6,824 in float16.

Report: https://www.gero.uz/research/articles/mlx-cpu-fp-qmm-accumulation.html
Evidence archive: https://zenodo.org/records/22756546
Public artifact: https://github.com/kadyrbekovhamit-cyber/gero-numerical-observatory/blob/main/catalog/reports/mlx-cpu-fp-qmm-accumulation.md
Primary sources:
https://github.com/ml-explore/mlx/blob/d9add9d11f3154111a4c85f267ec2fd307ecd18e/mlx/backend/cpu/quantized.cpp
https://github.com/ml-explore/mlx/pull/3909
https://github.com/ml-explore/mlx/pull/1962

Pinned MLX d9add9d11f3154111a4c85f267ec2fd307ecd18e. Selected grid: 1,620 configurations without repetitions; 3,240 executions; 241,920 output observations. Original 24,192 mismatches; local FP32 row accumulator 0; accumulator reverted to output dtype 24,192. Mutation CSV equals baseline byte for byte. CPU macOS arm64 only. The video illustrates the primary grid at width 32. The report also includes a separate five-width, six-layout grid: 116,640 → 0 → 116,640 mismatches out of 559,872 observations. GPU, complete models and performance untested; not all possible strides are covered. The patch is local and has not been accepted upstream. General low-precision accumulation problems are established prior work, cited in the report.

Research and editorial review: Xamit Kadirbekov / GERO Research. Independent work; no affiliation with the organizations discussed.
Narration: synthetic English preset Microsoft Jenny Neural via edge-tts. Original diagrams; AI-assisted preparation.

#MLX #NumericalComputing #SoftwareTesting #Shorts
