Skip to the content.

GCP-L4-RESULTS - fak-cuda on one real GCP L4

Issue #18 asked for the missing fak-cuda device number from the GCP L4 head-to-head. The earlier cheap L4 shape (g2-standard-8, 32 GB RAM) had already proved the build bug was fixed, but modelbench-cuda was SIGKILLed while loading the f32 device path. The successful rerun uses the same single NVIDIA L4 GPU class on g2-standard-32 (32 vCPU, 128 GB RAM), so the host-memory gate is removed without switching to Hopper.

Closure gate for #18: the committed artifact below has fak-cuda.ok=true, backend selected: "cuda", tier sm_89, and nonzero prefill/decode tok/s.

Run

   
GPU NVIDIA L4, 23,034 MiB, arch=sm_89
Machine GCP g2-standard-32, 1x L4, 32 vCPU, 128 GB RAM, us-central1-b
Model Qwen2.5-3B-Instruct, qwen2.5-3b-instruct-q8_0.gguf
Harness python tools/gcp_bench.py --tier g2-l4-32 --zone us-central1-b --engine all --max-run-hours 2
Artifacts experiments/benchmark/catalog.json (durable index — survives absent run dirs). The raw run dir experiments/benchmark/runs/by-machine/gcp-g2-l4-32/20260629T132955Z-gcp/ is private-by-default (gitignored: fleet infra tells); regenerate it via the Harness row above.

Head-to-head (single-stream, pp512 / tg128)

Engine Backend Precision Prefill tok/s Decode tok/s
llama.cpp llama.cpp CUDA Q8_0 6,638.3 70.8
fak-cpu fak-in-kernel pure-Go Q8_0 78.2 8.62
fak-cuda fak-in-kernel via compute HAL cuda f32 16.6 18.7

The fak-cuda row is a real device row: the harness runs modelbench-cuda with -backend cuda -require-non-reference, and the result reports backend selected: "cuda" with tier sm_89. The measured gap is not a win claim: fak-cuda is slower than llama.cpp on this L4 and runs f32 weights while the llama row is Q8_0.

What changed from the failed L4 run

The failed gcp-g2-l4/20260624T142454Z-gcp rerun reached CUDA build success on sm_89, then the VM killed modelbench-cuda. This rerun keeps one L4 but uses the 128 GB host-memory shape. That is why fak-cuda can load and complete; the original 32 GB proof tier remains useful for cheap plumbing checks, not for this f32 Qwen2.5-3B fak-cuda row.