llamaperf

GLM-4.7-Flash / ROCm / PP512 TG128 / depth 1024 / KV f16

on AMD Strix Halo 128GB · llama.cpp build 1 / a66d5058 / ROCm

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

Summary

First-party measurements by Mikke Zavala, July 31 to August 1, 2026. Source: https://github.com/mikkezavala/llm-bench/blob/8577ff5c944abcf239fdc5b2185ac50510bc6e48/data/results.jsonl . Campaign description: https://github.com/mikkezavala/llm-bench/blob/8577ff5c944abcf239fdc5b2185ac50510bc6e48/README.md . Repository snapshot 8577ff5c944abcf239fdc5b2185ac50510bc6e48, recovered October 14, 2026. This report covers GLM-4.7-Flash UD-Q4_K_XL on ROCm; all 50 native phase records for this model/backend are retained. Headline values use the f16/f16 KV baseline at depth 1024: PP512 769.79489 tokens/s and separate TG128 52.612062 tokens/s. These are independent synthetic tests, not one request. No measured TTFT is available. Hardware: source identifies AMD Ryzen AI MAX+ 395 with Radeon 8060S, gfx1151, and 128 GB unified system memory. Exact physical CPU/GPU core counts, machine model, OS/kernel, driver/ROCm version, clocks, power limits, temperatures, storage, swap and competing load are unreported. The eight threads are a benchmark setting, not a physical-core count. Unified system RAM is not dedicated VRAM. No measured resident/peak memory or disk-file size is supplied. Native model_size 17510693376 bytes counts model tensor storage; it is not measured RAM use or the whole GGUF file size. Native parameter count 29943393920. Model artifact: https://huggingface.co/unsloth/GLM-4.7-Flash-GGUF/blob/0d32489ecb9db6d2a4fc93bd27ef01519f95474d/GLM-4.7-Flash-UD-Q4_K_XL.gguf . Raw model_filename retains the HF repository, tested snapshot prefix and exact filename after removal of the local cache directory. The published prefix resolves through HF metadata to full revision 0d32489ecb9db6d2a4fc93bd27ef01519f95474d; the exact filename is present in that revision. This is source-bound tested-snapshot provenance, not a current-reference substitute. No weight bytes were downloaded and no actual-run file hash is available. The publisher quant label is UD-Q4_K_XL; native model_type is "deepseek2 30B.A3B Q4_K - Medium", which alone does not distinguish the two GLM quant variants. Runtime: llama.cpp build 1 / a66d50588b105ef81fe6c2debd19440f5a8ab97a, ROCm. The printed hash resolves to the named upstream commit. Build number 1 for ROCm is preserved as printed, not replaced with an inferred release. Local modifications, compiler flags and binary hash remain unknown. Every row logs batch 1024, microbatch 512, 8 threads, CPU mask 0x0, CPU strict false, poll 50, GPU layers -1, CPU-MoE 0, layer split, main GPU 0, automatic devices, tensor_split 0.00 and no tensor buffer override. Flash attention=1, KV offload and operation offload enabled, mmap true, direct I/O false, embeddings false, no_host false and fit_target/fit_min_ctx both 0. K/V types vary below. Exact original command, process priority, delay, NUMA options and warmup switch are not retained. GPU quantity: one, established from run-bound inventory and pinned selection code. get_gpu_info in https://github.com/ggml-org/llama.cpp/blob/a66d50588b105ef81fe6c2debd19440f5a8ab97a/tools/llama-bench/llama-bench.cpp iterates all registered GPU and IGPU devices and appends every description without deduplication. Each raw row has exactly one description: Radeon 8060S Graphics. It is not merely a processor-brand inference. With devices=auto, https://github.com/ggml-org/llama.cpp/blob/a66d50588b105ef81fe6c2debd19440f5a8ab97a/src/llama.cpp selects that recognized GPU/IGPU; https://github.com/ggml-org/llama.cpp/blob/a66d50588b105ef81fe6c2debd19440f5a8ab97a/src/llama-model.cpp maps GPU layers -1 to all layers. Successful native results and the single non-CPU backend support GPU execution. Exact tensor fallback and GPU utilization are unmeasured. tensor_split 0.00 alone is not quantity evidence: the serializer truncates trailing zero entries. Native timing: the pinned llama-bench code above uses std::chrono::high_resolution_clock in nanoseconds around only the selected prompt or generation test. Model loading, optional warmup, and initial depth processing or restored depth state precede the timer. Prompt processing decodes random token IDs in batches, then synchronizes once; generation executes 128 serial one-token decode calls, synchronizing each. These are synthetic token IDs, not sampled text or an application accuracy test. Each test requests context depth + prompt + generation tokens before internal padding; actual allocated context is unpublished. Existing depth is not part of the PP numerator. Depth state may be restored between compatible tests; this is not evidence of a cold application request. Warmup is the upstream default but its actual invocation is unknown. No speculative decoding is involved in this benchmark path. Every cell has one recorded repetition, with raw nanosecond sample available in the source. Native rate is 1e9 times measured prompt-or-generation tokens divided by elapsed nanoseconds; the exact avg_ts field is preserved below. Printed zero standard deviation reflects one repetition and gives no estimate of run-to-run variance. Runs are sequential, not randomized; thermal drift is uncontrolled. Backend builds differ, so ROCm/Vulkan differences cannot be attributed solely to backend. PP512/PP1024 at shallow depths must not be conflated with PP2048 at deep depths. All rates below are tokens/s; K/V cache quantization is separate from model quantization. Depth 1024, KV f16/f16: PP512 769.79489; PP1024 687.338765; TG128 52.612062. Depth 1024, KV f16/q8_0: PP512 729.007211; PP1024 684.747247; TG128 52.497165. Depth 1024, KV f16/q4_0: PP512 724.754548; PP1024 679.627711; TG128 52.471851. Depth 1024, KV q8_0/q8_0: PP512 718.18501; PP1024 678.648533; TG128 51.161281. Depth 1024, KV q4_0/q4_0: PP512 717.11282; PP1024 680.826964; TG128 51.460319. Depth 2048, KV f16/f16: PP512 609.543518; PP1024 567.099011; TG128 50.712844. Depth 2048, KV f16/q8_0: PP512 594.837026; PP1024 574.778082; TG128 50.479099. Depth 2048, KV f16/q4_0: PP512 600.78668; PP1024 575.483876; TG128 50.594185. Depth 2048, KV q8_0/q8_0: PP512 582.960816; PP1024 576.384214; TG128 48.977569. Depth 2048, KV q4_0/q4_0: PP512 587.783462; PP1024 567.749061; TG128 49.816929. Depth 16384, KV f16/f16: PP2048 172.419126; TG128 35.854443. Depth 16384, KV f16/q8_0: PP2048 172.296636; TG128 35.786596. Depth 16384, KV f16/q4_0: PP2048 172.537313; TG128 35.714409. Depth 16384, KV q8_0/q8_0: PP2048 172.303833; TG128 30.575193. Depth 16384, KV q4_0/q4_0: PP2048 172.3241; TG128 31.527084. Depth 32768, KV f16/f16: PP2048 96.916864; TG128 26.583621. Depth 32768, KV f16/q8_0: PP2048 97.064138; TG128 26.593332. Depth 32768, KV f16/q4_0: PP2048 96.923106; TG128 26.556757. Depth 32768, KV q8_0/q8_0: PP2048 96.497735; TG128 21.05711. Depth 32768, KV q4_0/q4_0: PP2048 96.926908; TG128 22.080646. Structured rates are rounded to 0.1 t/s; exact source values are retained above.