Oct 13, 2026
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 M04: gpt-oss-20b, MXFP4, GGUF. Exact source repository/file: ggml-org/gpt-oss-20b-GGUF/gpt-oss-20b-MXFP4.gguf; 12,109,566,624 bytes. The paper's coarser metadata quant label is MXFP4; the full filename's dynamic UD-/XL identity is preserved when present. Verified current reference: https://huggingface.co/ggml-org/gpt-oss-20b-GGUF/blob/ef9b12f2ff56c69cf32153a02784e7a3c88bf524/gpt-oss-20b-MXFP4.gguf . Pinned reference revision ef9b12f2ff56c69cf32153a02784e7a3c88bf524; LFS SHA256 27cd6c432c7672cb812a92f611cf3ba7bbc35928262bb1e1253ff4ee6ae35901. 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-20b; https://huggingface.co/ggml-org/gpt-oss-20b-GGUF/blob/ef9b12f2ff56c69cf32153a02784e7a3c88bf524/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 1576.97 and TG128 123.10 tokens/s. All three same-model depth conditions:
Prefix depth 0: native PP512 1576.97 tokens/s (within-run CV 0.79%); native TG128 123.10 tokens/s (CV 0.36%).
Prefix depth 4096: native PP512 1389.95 tokens/s (within-run CV 0.27%); native TG128 117.20 tokens/s (CV 0.81%).
Prefix depth 16384: native PP512 995.24 tokens/s (within-run CV 0.28%); native TG128 105.36 tokens/s (CV 0.31%).
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 3.28; 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 20,914,757,184 total parameters and 4,187,440,704 active parameters (20.0%), 24 layers, and modeled KV bytes at prefix0/4096/16384 of 0/201,326,592/805,306,368. 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.