Skip to content

speed-bench: add Mac Studio M1 Ultra 128 GB numbers - #706

Open
EnMerovingi wants to merge 1 commit into
antirez:mainfrom
EnMerovingi:speed-bench-m1-ultra
Open

speed-bench: add Mac Studio M1 Ultra 128 GB numbers#706
EnMerovingi wants to merge 1 commit into
antirez:mainfrom
EnMerovingi:speed-bench-m1-ultra

Conversation

@EnMerovingi

@EnMerovingi EnMerovingi commented Aug 5, 2026

Copy link
Copy Markdown

Hi! Thank you so much for making this work of art public.

I will be glad to contribute more going forward; for now I am only adding this benchmark result. Thanks to everyone involved, and especially to Salvatore Sanfilippo (@antirez) for supporting a community that fights for a better world.


Adds speed-bench/m1_ultra.csv and the generated speed-bench/m1_ultra_ts.svg. There were no M1 Ultra numbers in the directory yet.

Setup

  • Mac Studio M1 Ultra, 128 GB, macOS 26.1
  • ds4f-q2 imatrix GGUF (DeepSeek-V4-Flash-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-chat-v2-imatrix-0731)
  • Metal backend, iogpu.wired_limit_mb=112640
  • Exact command from speed-bench/README.md:
./ds4-bench \
  -m ds4flash.gguf \
  --prompt-file speed-bench/promessi_sposi.txt \
  --ctx-start 2048 \
  --ctx-max 65536 \
  --step-incr 2048 \
  --gen-tokens 128

Results

ctx prefill t/s gen steady t/s
2048 225.23 23.54
16384 206.46 21.46
32768 184.11 20.23
65536 150.06 18.53

Generation is very close to the existing M2 Ultra CSV (23.5 -> 18.5 t/s across the sweep, versus 23.2 -> 20.4), which matches the two chips sharing the same 800 GB/s memory bandwidth. Prefill is roughly half of M2 Ultra (225 vs 410 t/s at 2k), which is where the older GPU shows. The engine prints Metal 4 tensor API disabled for pre-M5/pre-A19 devices on this machine.

Memory footprint was 82.12 GiB planned at 64k context (80.76 GiB model + 0.86 GiB KV), so there is comfortable headroom for much longer contexts on a 128 GB machine.

Run with the canonical README command (ctx 2048..65536, --step-incr 2048,
--gen-tokens 128) on the ds4f-q2 imatrix GGUF, Metal backend, macOS 26.1.

M1 Ultra sits in an unusual spot: generation is close to M2 Ultra
(23.5 -> 18.5 t/s from 2k to 64k) while prefill is roughly half of it,
around 225 t/s at 2k. Note that the Metal 4 tensor API path is disabled
on pre-M5 devices, which is visible in the prefill column.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant