{
 "default": {
  "model": "Qwen/Qwen3.8-27B",
  "platform": "thor"
 },
 "noise_pct": 3.0,
 "pairs": [
  {
   "charts": [],
   "model": "nvidia/Qwen3.6-35B-A3B",
   "platform": "thor",
   "short": "Qwen3.6-35B-A3B",
   "size": 1511,
   "stages": []
  },
  {
   "charts": [
    "ab-heatmap",
    "e2e-decode",
    "e2e-prefill",
    "fp6prof-bytes-vs-time",
    "hnd-layout",
    "kernel-bandwidth",
    "kernel-latency",
    "kernel-speedup",
    "kv-cache-capacity",
    "kvfmt-heatmap",
    "kvfmt-tradeoff",
    "pdl-delta",
    "prefetch-heatmap",
    "quant-accuracy",
    "ring-heatmap",
    "spec-drafts"
   ],
   "model": "Qwen/Qwen3.8-27B",
   "platform": "thor",
   "short": "Qwen3.8-27B",
   "size": 142854,
   "stages": [
    "ab",
    "correctness",
    "fp6prof",
    "hndsweep",
    "kv-cache-size",
    "kvfmt",
    "pdl",
    "prefetch",
    "quant",
    "ring",
    "spec",
    "sweep"
   ]
  }
 ],
 "stages": {
  "ab": {
   "kind": "ncu",
   "summary": "any harness flag sets, ncu + wall clock (default: evict-first x PDL)",
   "title": "Flag A/B"
  },
  "correctness": {
   "kind": "correctness",
   "summary": "kernel vs the bit-faithful emulator: every layout, format, page size, q_len, Q dtype",
   "title": "Correctness matrix"
  },
  "fp6prof": {
   "kind": "profile",
   "summary": "full ncu profiles: L2 sectors vs requests vs time, warp stalls, per KV format",
   "title": "Full profiles per KV format"
  },
  "hndsweep": {
   "kind": "ncu",
   "summary": "FlashInfer on NHD and HND vs Mjolnir on HND \u2014 is HND a kernel win or a layout win?",
   "title": "Head-major pages"
  },
  "kv-cache-size": {
   "kind": "serving",
   "summary": "tokens of KV each config fits (vLLM's startup sizing), and the concurrency that buys per context",
   "title": "KV cache capacity"
  },
  "kvfmt": {
   "kind": "ncu",
   "summary": "fp8 / fp6 / fp4 / nvfp4 KV on NHD / interleaved / HND pages (ncu + wall clock)",
   "title": "KV layouts and formats"
  },
  "pdl": {
   "kind": "harness",
   "summary": "PDL on/off wall clock (decode overlaps the previous kernel; merge launches early)",
   "title": "Programmatic dependent launch"
  },
  "prefetch": {
   "kind": "ncu",
   "summary": "TMA L2 prefetch distance (--l2_prefetch) sweep",
   "title": "L2 prefetch"
  },
  "profile": {
   "kind": "serving",
   "summary": "torch-profiler trace of a decode workload per config: CUDA-graph replays, eager kernels, GPU idle",
   "title": "Decode step profile"
  },
  "quant": {
   "kind": "harness",
   "summary": "relative L2 error of each KV format vs unquantized KV, at every L",
   "title": "KV format accuracy"
  },
  "ring": {
   "kind": "ncu",
   "summary": "TMA\u2192MMA ring depth (--kv_stages) sweep at every L",
   "title": "KV ring depth"
  },
  "spec": {
   "kind": "serving",
   "summary": "MTP acceptance per draft position and decode t/s for 1-N draft tokens, per config \u2014 the best draft count",
   "title": "Speculative decoding"
  },
  "sweep": {
   "kind": "ncu",
   "summary": "Mjolnir vs FlashInfer vs FlashAttention 4 hd256 (fp8 Q+KV, on the Mjolnir image), ncu kernel time at every L",
   "title": "Headline L-sweep"
  },
  "timing": {
   "kind": "harness",
   "summary": "harness-timed medians, 1 vs 2 CTAs/SM, fp8 and bf16 Q",
   "title": "Harness timing"
  },
  "vllm": {
   "kind": "tests",
   "summary": "runner-vs-emulator tests + greedy MJOLNIR vs FLASHINFER smoke runs",
   "title": "vLLM integration"
  }
 }
}
