Files
gemma4-research/scripts/gpu-bakeoff/runs/matt-strix/gemma4-31b/short.json
T
Mortdecai b6190357ba feat: GPU bakeoff — 3090 Ti vs V100 vs Strix Halo
Cross-host Gemma 4 throughput comparison across three architectures.
Harness at scripts/gpu-bakeoff/; writeup at
docs/reference/gpu-bakeoff-2026-04-20.md.

Key findings:
- RTX 3090 Ti wins decode decisively (128 tok/s on gemma4:26b MoE Q4,
  ~4.7× faster than gemma4:31b dense on the same card).
- AMD Strix Halo iGPU lands at ~42% of 3090 Ti decode on ~25% of the
  memory bandwidth — good SIMD utilization, especially for MoE.
- V100 numbers are DEGRADED: CT 167 ai-visualizer SDXL consumes 31/32
  GB of its VRAM, forcing Gemma 4 models 95% onto CPU. Isolated V100
  run requires SDXL eviction — left as follow-up.
- MoE vs dense is the dominant latency factor across all GPUs: ~4 B
  active params of gemma4:26b beats 31.3 B active of gemma4:31b by
  the same ratio (~4.7×) on every card tested.

Methodology: 1 warmup + 3 measurement runs per (host × model ×
prompt-length), Ollama's canonical timing fields, temp=0 greedy,
num_predict=256. All three Ollama servers accessed via HTTP (Strix
via Tailscale).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 05:45:26 -04:00

81 lines
1.8 KiB
JSON

{
"host": "matt-strix",
"gpu": "AMD Strix Halo iGPU",
"vram_gb": null,
"model_alias": "gemma4:31b",
"model_tag": "gemma4:31b",
"prompt_key": "short",
"prompt_chars": 78,
"num_predict": 256,
"num_ctx": 4096,
"runs": [
{
"prompt_tokens": 28,
"prompt_eval_ms": 96.4,
"prefill_tok_per_s": 290.33,
"output_tokens": 256,
"eval_ms": 24049.7,
"decode_tok_per_s": 10.64,
"load_ms": 169.4,
"total_ms": 24372.6,
"harness_wall_s": 24.428,
"done_reason": "length"
},
{
"prompt_tokens": 28,
"prompt_eval_ms": 96.0,
"prefill_tok_per_s": 291.74,
"output_tokens": 256,
"eval_ms": 24046.4,
"decode_tok_per_s": 10.65,
"load_ms": 165.7,
"total_ms": 24365.4,
"harness_wall_s": 24.429,
"done_reason": "length"
},
{
"prompt_tokens": 28,
"prompt_eval_ms": 95.6,
"prefill_tok_per_s": 292.74,
"output_tokens": 256,
"eval_ms": 24065.8,
"decode_tok_per_s": 10.64,
"load_ms": 164.3,
"total_ms": 24385.6,
"harness_wall_s": 24.432,
"done_reason": "length"
}
],
"warmup": {
"prompt_tokens": 28,
"prompt_eval_ms": 207.0,
"prefill_tok_per_s": 135.28,
"output_tokens": 256,
"eval_ms": 24181.8,
"decode_tok_per_s": 10.59,
"load_ms": 5509.8,
"total_ms": 30028.6,
"harness_wall_s": 30.082,
"done_reason": "length"
},
"summary": {
"prefill_tok_per_s": {
"min": 290.33,
"median": 291.74,
"max": 292.74,
"n": 3
},
"decode_tok_per_s": {
"min": 10.64,
"median": 10.64,
"max": 10.65,
"n": 3
},
"total_ms": {
"min": 24365.4,
"median": 24372.6,
"max": 24385.6,
"n": 3
}
}
}