Oct 13, 2026
Summary
NetworkChuck, measured 2026-09-20; recovered 2026-10-13, not locally rerun. Measurements/docs: CC BY 4.0. Native data: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/data/language-models/engine.json ; HTTP summary/raw: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/data/language-models/summary.json ; https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/data/language-models/runs.jsonl . Method: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/docs/method.md . Merged suite window 14:41:54.718–16:55:25.045 UTC; native cells have no individual timestamps.
Native 32768-input/128-output headline: PP=784.528, TG=49.498 tokens/s, separate five-trial medians, not pooled across lengths. Input is exactly 32768 synthetic tokens. Configured KV capacity unknown and blank. Batch 1; one device.
Hardware: Apple Mac Studio M3 Ultra (32-core CPU, 80-core GPU); 512GB installed unified memory; macOS26.5.1; applegpu_g15d; CPU composition 24 performance+8 efficiency; 8TB storage. Unified RAM and allocator peaks are not dedicated VRAM. M3 was Chuck's own; a stuck indexer consumed one CPU core during these tests. Effect unmeasured, no corrective rerun. OS/background effects were not isolated. Power, thermals, clocks, swap and offload count unknown.
Model: mlx-community/Qwen3.5-122B-A10B-4bit; 4-bit; MLX Safetensors. Public identity/precision verified 2026-10-13: https://huggingface.co/mlx-community/Qwen3.5-122B-A10B-4bit . Source labels moe, nominal total/active 122/10B; rounded labels, not exact architecture counts. Tested HF revision/hash and group/mixed-precision details unknown; weights not hash-checked. Current HF does not identify the historical snapshot/runtime.
Runtime: mlx-lm0.31.3/MLX0.32.2; fingerprint 0.31.3-0.32.2-macOS-26.5.1-arm64-arm-64bit-applegpu_g15d. Harness command: mlx_lm.benchmark --model <folder> -p <input> -g 128 -n 5. Command/parser: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/harness/src/bench/ssh.ts ; https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/harness/src/bench/engine.ts . Model already loaded; one discarded warm-up, five trials. Rates printed to 3 decimals; harness uses their median/min/max, not tool means.
Versioned runtime semantics: https://github.com/ml-explore/mlx-lm/blob/v0.31.3/mlx_lm/benchmark.py and https://github.com/ml-explore/mlx-lm/blob/v0.31.3/mlx_lm/generate.py . Seed 0, random IDs rather than HTTP essay, EOS disabled, batch 1, default prefill step 2048, no trial delay. Native prompt_tps=prompt.size/time through first generated token; includes first-token work, not pure kernels. generation_tps=count/time after that boundary through final detokenization, count 128. Fresh KV each call: no prompt_cache passed. No draft/KV-quant/activation-quant flags; flash selection and build/source commit unknown.
Native rows: input/output; PP/TG median[min,max] tokens/s; peak decimal GB; n trials:
512/128: PP=813.225[811.699,814.645]; TG=58.625[58.222,58.744]; peak=69.846GB; n=5
4096/128: PP=1015.859[1015.543,1016.89]; TG=56.721[56.387,56.861]; peak=71.834GB; n=5
16384/128: PP=911.011[910.96,911.133]; TG=53.218[52.378,53.438]; peak=73.727GB; n=5
32768/128: PP=784.528[784.324,786.333]; TG=49.498[49.337,49.572]; peak=76.32GB; n=5
Peak=max printed MLX peak_memory, mx.get_peak_memory()/1e9 allocator high-water, not RSS/disk/RAM/VRAM. No trial reset shown; warm-up/earlier allocations may contribute. Load-time/energy unknown.
HTTP: serial LAN streaming from separate controller; mlx_lm.server prompt-cache-size 0, thinking disabled, temperature 0, cap 128. Repeated sample.txt essay+summary instruction, unique run-ID prefix. One discarded warm-up+five measured requests/cell, 30-second rests; 100K has one measured run. Raw: cachedTokens 0, output 128, firstWordField=content. Uncached input, warm-loaded model; not cold loading.
Controller monotonic timing starts before request; first nonempty text ends TTFT. Client read=input/TTFT; write=(output−1)/(last−first text time); total ends at stream completion. Network/HTTP included; not native PP/TG. Code: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/harness/src/lane.ts . HTTP rows: nominal; actual in/out; read/write tokens/s; first/total seconds; median[min,max], n. Shown to 10 significant digits; raw retains full precision.
512: in=511[510,511]; out=128[128,128]; read=632.0612122[631.3638324,632.6185571]; write=51.32250415[51.16119806,51.43680826]; first=0.807997[0.806173,0.809359]; total=3.283269[3.275353,3.290922]; n=5
4K: in=4096[4095,4099]; out=128[128,128]; read=958.0874749[952.5661145,958.441652]; write=49.721423[49.59467095,49.86798727]; first=4.276734[4.273744,4.299964]; total=6.831157[6.820577,6.860899]; n=5
16K: in=16275[16274,16275]; out=128[128,128]; read=886.9589511[885.5433457,887.0338855]; write=45.11657483[45.10539034,45.16531929]; first=18.348087[18.346537,18.378547]; total=21.16384[21.162137,21.192029]; n=5
32K: in=32514[32514,32515]; out=128[128,128]; read=770.7526728[769.9743079,771.3100191]; write=42.28536763[42.09665192,42.43907737]; first=42.186036[42.154256,42.227383]; total=45.199644[45.150373,45.234488]; n=5
100K: in=99152[99152,99152]; out=128[128,128]; read=448.5236327[448.5236327,448.5236327]; write=31.64594024[31.64594024,31.64594024]; first=221.063045[221.063045,221.063045]; total=225.088704[225.088704,225.088704]; n=1
Separate earlier M3 cohort: MLX 0.31.2 versus main 0.32.2; mlx-lm 0.31.3; timestamps 2026-09-19T16:37:36.675Z to 2026-09-19T16:55:00.521Z. Source: https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/data/language-models/baseline-m3-ultra/runs.jsonl and https://github.com/theNetworkChuck/mac-studio-m5-ultra-local-ai/blob/main/data/language-models/baseline-m3-ultra/engine.json . Later Sept20 baseline manifest does not cover all earlier timestamps. Earlier results excluded from headline. HTTP cachedTokens 0/output 128; one warm-up+five repeats, except 100K one measured. Same formulas; medians/ranges recomputed from raw times/counts.
512: in=510[509,512]; out=128[128,128]; read=612.0733866[606.3718986,613.1237274]; write=50.03944054[49.9811095,50.13744371]; first=0.833437[0.832389,0.841068]; total=3.37435[3.36884,3.374909]; n=5
4K: in=4096[4095,4096]; out=128[128,128]; read=930.7486629[929.2834784,932.1454547]; write=48.54174112[48.44205396,48.5922407]; first=4.399924[4.394164,4.407697]; total=7.021613[7.010378,7.021709]; n=5
16K: in=16269[16268,16270]; out=128[128,128]; read=864.0536016[863.8583094,864.3269631]; write=43.75977057[43.67120056,43.88585393]; first=18.828693[18.823895,18.831792]; total=21.734329[21.723297,21.740319]; n=5
32K: in=32502[32501,32502]; out=128[128,128]; read=753.5246788[751.2126047,753.8611028]; write=41.6975294[41.32669763,41.81270935]; first=43.133292[43.114043,43.264716]; total=46.187097[46.151546,46.33805]; n=5
100K: in=99122[99122,99122]; out=128[128,128]; read=443.3709763[443.3709763,443.3709763]; write=31.46559039[31.46559039,31.46559039]; first=223.564476[223.564476,223.564476]; total=227.61373[227.61373,227.61373]; n=1
No independent model-quality validation.