howtospark
Engine arenas

Nothing is built for sm_121. That gap is the prize.

torch.cuda.get_arch_list() on a GB10 returns sm_80, sm_90, sm_100, sm_110, sm_120 — the chip is 12.1. The consequences are documented and expensive: FlashInfer’s CUTLASS path for NVFP4 MoE was removed on sm_121 and it costs 13%; other kernels refuse to initialize at all. Every one of those is unclaimed performance on hardware people already own.

An arena ranks changes that make an engine faster on this part without changing a single token it outputs. That constraint is what makes verification cheap: at batch 1, warm, greedy output on this hardware is deterministic, so “did this change the answer?” is a hash comparison rather than an eval run.

Open targets (4)

How a submission is judged

  1. 1. Editable surface — your diff touches only what the contract allows, and the weights are unchanged.
  2. 2. Token identity — output is byte-identical to the target’s goldens, at batch 1, warm, warmup discarded.
  3. 3. Held-out identity — same, on prompts generated from a random seed at verification time, which nobody could have seen in advance. The seed is recorded, so the check can be reproduced afterwards but not anticipated.
  4. 4. Speedup floors — at least 0.95× on both decode and prefill, so you cannot trade one away for the other.
  5. 5. Beat the incumbent — or it is rejected.

Speedups are paired ratios, never absolute numbers: baseline and candidate run back to back on one node. A published baseline on this fleet failed to reproduce a day later — 24.05 → 20.09 tok/s — so a leaderboard of absolute throughput would mostly rank thermostats.