TinkerLab
ARTIFACT // BENCH-UNIFIED-MEMORY-AI-PC.SH (SH)

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.

[KEY VERIFIED TAKEAWAY / TL;DR]This reproducible configuration artifact "RTX Spark / Gorgon Halo Unified-Memory Fixed Benchmark (llama-bench + sustained decode)" (bench-unified-memory-ai-pc.sh, SH) is paired with Tinker AI Lab's hardware-verified guide "nvidia-rtx-spark-n1x-128gb-vs-ryzen-ai-max-pro-495-192gb-unified-memory-local-llm". It exposes 3 customizable browser variables (MODEL_PATH=./models/Qwen3-30B-A3B-Q4_K_M.gguf, LLAMA_BIN_DIR=./build/bin, SUSTAIN_SECONDS=600) with loopback-first security defaults.
01 // HOMELABLocal AI / HomeLab· Verified: 2026-11-05
Browse All 42 Artifacts →
bench-unified-memory-ai-pc.sh

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.

View Paired Guide →
Customizable Variables (Saved in Browser)
UTF-8 Encoded · Live Client-Side Compilation
#!/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."
PARAMETER SPECIFICATION // 参数化变量规范说明表

Customizable Parameter Reference for bench-unified-memory-ai-pc.sh

This SH artifact exposes 3 template variables compiled client-side in your browser.

Template TokenParameter DescriptionVerified DefaultExample 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)600600
PAIRED HARDWARE MANIFEST // 配套实测环境与边界记录

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"

Tested Hardware & OS

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)

Pinned Stack & Model Versions
llama.cpp master (2026-11) — CUDA ARM64 build on RTX Spark; Vulkan (RADV) or ROCm build on gfx1151vLLM — Windows ARM64 community port (NVFP4) on RTX Spark; Linux ROCm build on Gorgon HaloOllama (latest stable, used only as a sanity-check runner)Models: Qwen3-30B-A3B / Qwen3-32B / Llama-3.3-70B / Qwen3-Next-80B-A3B / Qwen3-235B-A22B (GGUF Q4_K_M unless noted)
Offline Boundary (Fully Offline After Model Download)

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.

Known Operational Limits & Failure Modes
  • 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.
DEPLOYMENT CHECKLIST // 配置落地核验步骤

4-Step Verification Checklist After Deploying bench-unified-memory-ai-pc.sh

  1. On RTX Spark: confirmed Python / llama.cpp / vLLM are native ARM64 builds (not x64 under Prism emulation) and `nvidia-smi` lists the GPU.
  2. On Gorgon Halo: verified the GPU memory carve-out (VGM on Windows, GTT/TTM on Linux) before loading models larger than ~96GB.
  3. Used byte-identical GGUF files (SHA256 matched) and the same `llama-bench -p 2048 -n 128 -r 3 -fa 1` command on both machines.
  4. Ran a 10-minute sustained decode and recorded the tok/s drop (if any) versus the first minute.