llamaperf

GLM-4.7-Flash / Vulkan RADV / PP512 TG128 / depth 1024 / KV f16

on AMD Strix Halo 128GB · llama.cpp b9747 / d6d89958 / Vulkan RADV

AMD hardware
Oct 14, 2026
Throughput
66.5 t/s gen · 838.1 tokens/s prompt processing (prefill)Prompt processing measures input prefill speed; it does not tell you the time to first token.
Quant
Q4_K_M (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 Q4_K_M on Vulkan RADV; all 50 native phase records for this model/backend are retained. Headline values use the f16/f16 KV baseline at depth 1024: PP512 838.081043 tokens/s and separate TG128 66.549968 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 18302863872 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-Q4_K_M.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 Q4_K_M; native model_type is "deepseek2 30B.A3B Q4_K - Medium", which alone does not distinguish the two GLM quant variants. Runtime: llama.cpp build 9747 / d6d899580dcf0e50a3d14453d3d082f6ed050450, Vulkan RADV. 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/d6d899580dcf0e50a3d14453d3d082f6ed050450/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 (RADV STRIX_HALO). It is not merely a processor-brand inference. With devices=auto, https://github.com/ggml-org/llama.cpp/blob/d6d899580dcf0e50a3d14453d3d082f6ed050450/src/llama.cpp selects that recognized GPU/IGPU; https://github.com/ggml-org/llama.cpp/blob/d6d899580dcf0e50a3d14453d3d082f6ed050450/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 838.081043; PP1024 762.683824; TG128 66.549968. Depth 1024, KV f16/q8_0: PP512 826.409033; PP1024 761.732683; TG128 66.489531. Depth 1024, KV f16/q4_0: PP512 819.688803; PP1024 762.790737; TG128 66.3507. Depth 1024, KV q8_0/q8_0: PP512 648.143195; PP1024 551.274337; TG128 62.166908. Depth 1024, KV q4_0/q4_0: PP512 647.670912; PP1024 568.598509; TG128 59.798074. Depth 2048, KV f16/f16: PP512 728.318202; PP1024 639.963293; TG128 63.862852. Depth 2048, KV f16/q8_0: PP512 701.976622; PP1024 645.921241; TG128 63.735673. Depth 2048, KV f16/q4_0: PP512 723.722002; PP1024 643.944705; TG128 63.447759. Depth 2048, KV q8_0/q8_0: PP512 450.593498; PP1024 417.293875; TG128 57.703384. Depth 2048, KV q4_0/q4_0: PP512 455.102418; PP1024 428.096301; TG128 53.867664. Depth 16384, KV f16/f16: PP2048 201.717833; TG128 40.560804. Depth 16384, KV f16/q8_0: PP2048 201.907574; TG128 40.011704. Depth 16384, KV f16/q4_0: PP2048 201.932135; TG128 40.6047. Depth 16384, KV q8_0/q8_0: PP2048 95.189414; TG128 26.840222. Depth 16384, KV q4_0/q4_0: PP2048 102.923913; TG128 21.963578. Depth 32768, KV f16/f16: PP2048 118.507419; TG128 28.342481. Depth 32768, KV f16/q8_0: PP2048 118.576891; TG128 28.326421. Depth 32768, KV f16/q4_0: PP2048 118.57688; TG128 28.347112. Depth 32768, KV q8_0/q8_0: PP2048 50.996398; TG128 16.349413. Depth 32768, KV q4_0/q4_0: PP2048 56.512606; TG128 12.515152. Structured rates are rounded to 0.1 t/s; exact source values are retained above.