llamaperf
Oct 13, 2026
Throughput
85.4 t/s gen · 809.5 tokens/s prompt processing (prefill)Prompt processing measures input prefill speed; it does not tell you the time to first token.
Quant
MXFP4 (GGUF)
KV cache
F16
Flash Attention
on
MTP (Multi-Token Prediction)
off
System RAM
128 GB

Summary

Historical public-source recovery from Qiu et al., arXiv:2609.14864v1, submitted 2026-09-14. Source: https://arxiv.org/html/2609.14864v1 . Measured columns from Supplement sections 4 and 5 are used; prediction columns B2/P1/P2 are excluded. This is not an independently executed benchmark. Hardware: Mac Studio M4 Max, 128 GB unified system memory, Darwin-arm64, BLAS/MTL. Source specifies 12 performance-core threads, not total physical CPU cores. GPU core count, full CPU core count, macOS version, clocks, power and temperature are unreported. RAM is not dedicated VRAM or measured residency. Model M03: gpt-oss-120b, MXFP4, GGUF. Exact source repository/file: ggml-org/gpt-oss-120b-GGUF/gpt-oss-120b-MXFP4.gguf; 63,387,346,208 bytes. Verified current reference: https://huggingface.co/ggml-org/gpt-oss-120b-GGUF/blob/238abdd290bb874b90a5da1b4549881b7d05c091/gpt-oss-120b-MXFP4.gguf . Pinned reference revision 238abdd290bb874b90a5da1b4549881b7d05c091; LFS SHA256 582bd40f6886200101f4c4ed9f25f3fe80cc14c86e9e2b37746cd8904a0c622d. Current filename and byte count match the paper. The paper says the Studio files were SHA-verified, but it does not expose the historical per-file hash/revision in its tables; it names companion provenance files whose repository is not linked. Thus this current hash is reference metadata, not asserted as the measured historical bytes. Publisher model card identifies base/reference openai/gpt-oss-120b; https://huggingface.co/ggml-org/gpt-oss-120b-GGUF/blob/238abdd290bb874b90a5da1b4549881b7d05c091/README.md . No model weights were downloaded. Runtime: source identifies the official llama.cpp b10794 archive for this Studio; upstream tag resolves to f9f09f02cc44d87d842dbd2d578857d92d4bb63b. The source does not publish the archive hash itself in its displayed table. The MacBook's unrecovered runtime revision and RTX directory label are different hosts and are not transferred here. Headline is depth 0: PP512 809.51 and TG128 85.42 tokens/s. All three same-model depth conditions: Prefix depth 0: native PP512 809.51 tokens/s (within-run CV 0.96%); native TG128 85.42 tokens/s (CV 0.71%). Prefix depth 4096: native PP512 735.66 tokens/s (within-run CV 0.61%); native TG128 81.13 tokens/s (CV 1.09%). Prefix depth 16384: native PP512 563.22 tokens/s (within-run CV 0.35%); native TG128 72.80 tokens/s (CV 0.85%). These are separate 512-token prefill and 128-token generation microbenchmarks, not an end-to-end 512-input/128-output conversation. Existing prefix depth is not configured serving context capacity. The depth-0 generation result does not follow the PP512 prompt. No TTFT was measured or reconstructed. The table's rates are rounded to two decimals; per-repetition raw timings are unavailable in the paper. Protocol: single sequence; fresh process for each configuration; five repetitions; 45-second settling; requested GPU layers 99; flash attention; F16 K/V. The chosen rows have 1 acquisition attempt per depth and pre-run macOS one-minute load average 5.93; this is not GPU utilization. Selection prefers complete protocol rows, then lower worst decode CV and lower pre-run load, without reference to prediction residuals. The gate applies to decode; prefill is retained without that gate. No between-run Studio repeatability campaign was performed; execution order was not randomized. No device-memory trace or resident-layer count was recorded. Maximal offload requested does not establish full accelerator residency. Physical GPU quantity 1 is source-protocol and pinned-implementation bound, not inferred from GPU cores or a form default: the paper names the local arm/Metal backend on this Studio and requested offload99. At b10794, Metal initializes MTLCreateSystemDefaultDevice; its implementation expressly uses one physical device, with any GGML_METAL_DEVICES additions being virtual devices on the same physical GPU. This establishes the participating physical Metal device count for the reported Metal protocol, not independent utilization telemetry or proof that all layers reside there. Sources: https://github.com/ggml-org/llama.cpp/blob/f9f09f02cc44d87d842dbd2d578857d92d4bb63b/ggml/src/ggml-metal/ggml-metal-device.m#L1091-L1114 ; https://github.com/ggml-org/llama.cpp/blob/f9f09f02cc44d87d842dbd2d578857d92d4bb63b/src/llama.cpp . Pinned llama-bench semantics: high_resolution_clock timestamps in nanoseconds bracket the timed test; per-repetition rate is (n_prompt+n_gen)*1e9/elapsed_ns, and headline avg_ts averages these rates. Existing depth is preprocessed or restored before the timer. Memory is cleared for each repetition; the requested context is n_prompt+n_gen+n_depth, so there is no single fixed serving-capacity field to fill. Warmup is enabled by the upstream default, but the paper does not print a complete command or separately attest warmup, batch/microbatch, mmap or every environment override; these remain unreported for this campaign. Sources: https://github.com/ggml-org/llama.cpp/blob/f9f09f02cc44d87d842dbd2d578857d92d4bb63b/tools/llama-bench/llama-bench.cpp . No speculative-decoding/MTP workload is described; source uses plain llama-bench PP/TG tests. The paper's frozen metadata snapshot reports 116,829,156,672 total parameters and 5,711,982,912 active parameters (4.9%), 36 layers, and modeled KV bytes at prefix0/4096/16384 of 0/301,989,888/1,207,959,552. These are author-derived metadata/modeling quantities, not independent tensor recounts or observed RAM/VRAM usage. They must not be used to assert measured memory residency. The form rounds the structured PP/TG rates to one decimal; the exact source values are retained above.