RTX Spark / Gorgon Halo Unified-Memory Fixed Benchmark (llama-bench + sustained decode) (bench-unified-memory-ai-pc.sh)
Verifies model SHA256, reports platform (ARM64/CUDA or gfx1151 GTT size), runs llama-bench pp2048/tg128 ×3 and a sustained decode run, and writes a Markdown result file so you can replace the guide estimates with measured numbers. Run under Linux, WSL2, or Git Bash on Windows.
RTX Spark / Gorgon Halo Unified-Memory Fixed Benchmark (llama-bench + sustained decode)
Verifies model SHA256, reports platform (ARM64/CUDA or gfx1151 GTT size), runs llama-bench pp2048/tg128 ×3 and a sustained decode run, and writes a Markdown result file so you can replace the guide estimates with measured numbers. Run under Linux, WSL2, or Git Bash on Windows.
#!/usr/bin/env bash
# Tinker AI — Unified-Memory AI PC Fixed Benchmark: RTX Spark (N1X) / Ryzen AI Max+ PRO 495 (Guide #37)
set -euo pipefail
MODEL="./models/Qwen3-30B-A3B-Q4_K_M.gguf"
BIN="./build/bin"
SUSTAIN="600"
OUT="bench-$(hostname)-$(date +%Y%m%d-%H%M).md"
echo "=== [1/4] Model integrity ==="
sha256sum "$MODEL" | tee -a "$OUT"
echo "=== [2/4] Platform snapshot ==="
{
echo "- arch: $(uname -m)"
if command -v nvidia-smi >/dev/null 2>&1; then
echo "- gpu: $(nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader)"
fi
for f in /sys/class/drm/card*/device/mem_info_gtt_total; do
[ -r "$f" ] && echo "- amdgpu GTT total: $(awk '{printf "%.1f GB", $1/1024/1024/1024}' "$f")"
done
} | tee -a "$OUT"
echo "=== [3/4] llama-bench pp2048 / tg128 x3 (flash attention on) ==="
"$BIN/llama-bench" -m "$MODEL" -ngl 99 -fa 1 -p 2048 -n 128 -r 3 -o md | tee -a "$OUT"
echo "=== [4/4] Sustained decode for $SUSTAIN s (thermal check) ==="
timeout "$SUSTAIN" "$BIN/llama-cli" -m "$MODEL" -ngl 99 -fa -n -1 --ignore-eos \
-p "Write a long technical report about memory bandwidth and local LLM inference." \
2>&1 | grep -E "eval time|tokens per second" | tail -n 3 | tee -a "$OUT" || true
echo "Results written to $OUT — compare against Table 2 estimates in the guide."
Customizable Parameter Reference for bench-unified-memory-ai-pc.sh
This SH artifact exposes 3 template variables compiled client-side in your browser.
| Template Token | Parameter Description | Verified Default | Example Format |
|---|---|---|---|
{{MODEL_PATH}} | GGUF model path | ./models/Qwen3-30B-A3B-Q4_K_M.gguf | ./models/Qwen3-30B-A3B-Q4_K_M.gguf |
{{LLAMA_BIN_DIR}} | llama.cpp binary directory | ./build/bin | ./build/bin |
{{SUSTAIN_SECONDS}} | Sustained decode duration (seconds) | 600 | 600 |
Verified Environment for "128GB vs 192GB Unified-Memory AI PCs (Fall 2026): NVIDIA RTX Spark (N1X · Windows on ARM) vs AMD Ryzen AI Max+ PRO 495 (Gorgon Halo) — Model Fit, Decode Ceilings & a Reproduction Protocol"
Spec basis (not lab-measured): NVIDIA RTX Spark N1X top bin (20-core Grace ARM CPU + Blackwell GPU 6,144 CUDA cores · up to 128GB LPDDR5X 256-bit · ~300 GB/s reported) vs AMD Ryzen AI Max+ PRO 495 (16C Zen 5 + Radeon 8065S 40CU RDNA 3.5 gfx1151 · up to 192GB LPDDR5X-8533 256-bit · ~273 GB/s · up to 160GB GPU-allocatable)
Both platforms run llama.cpp/vLLM entirely on local unified memory. Windows Copilot / OEM AI assistants preinstalled on RTX Spark devices are cloud-hybrid by default and are out of scope here.
- Evidence level: SPEC-DERIVED ESTIMATE. Tinker has not yet run these two machines in-house; every tok/s number below is computed as bandwidth × 0.68 ÷ active-weight bytes (the same formula as our VRAM calculator). Run the attached script and treat your own numbers as authoritative.
- NVIDIA has not published an official memory-bandwidth figure for RTX Spark; ~300 GB/s comes from press reports of a 256-bit LPDDR5X-9400/9600 interface. Lower-RAM SKUs (24GB/32GB) may ship with a narrower bus — check your exact model.
- On Gorgon Halo, the 160GB GPU allocation is a BIOS/driver setting (Windows: AMD Variable Graphics Memory; Linux: amdgpu GTT/TTM limits). Out-of-the-box defaults are usually far lower.
- Windows on ARM: Python/PyTorch wheels must be native ARM64. An x64 Python interpreter running under Prism emulation silently falls back to CPU-only inference.
4-Step Verification Checklist After Deploying bench-unified-memory-ai-pc.sh
- On RTX Spark: confirmed Python / llama.cpp / vLLM are native ARM64 builds (not x64 under Prism emulation) and `nvidia-smi` lists the GPU.
- On Gorgon Halo: verified the GPU memory carve-out (VGM on Windows, GTT/TTM on Linux) before loading models larger than ~96GB.
- Used byte-identical GGUF files (SHA256 matched) and the same `llama-bench -p 2048 -n 128 -r 3 -fa 1` command on both machines.
- Ran a 10-minute sustained decode and recorded the tok/s drop (if any) versus the first minute.