File size: 84,968 Bytes
8a9456d 5f6c0b7 8a9456d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | <!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>CompoundingKernel Explorer: SOL-ExecBench on B200</title>
<meta name="description" content="The 235 SOL-ExecBench problems CompoundingKernel works on. Paper, code and kernels are on the way.">
<style>
/* Paper style ("Editorial ink", tech-report/v6/ck-header.tex + blog/src/template.html tokens).
Board hues are the paper's; FlashInfer plum and the dark steps are re-stepped to pass the CVD checks. */
:root {
--bg: #FAF9F5; --panel: #FFFFFF; --soft: #F0EEE6; --tint: #F6F4EE;
--ink: #1F1E1D; --ink-2: #3D3D3A; --muted: #6B6A64; --rule: #CFCBC0; --hair: #EBE8E0;
--clay: #C96442; --clay-ink: #A9502F; --ours: #F8ECE6;
--l1: #3466A8; --l2: #B8862A; --quant: #13907F; --fi: #A777ED;
--focus: #A9502F;
--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "TeX Gyre Pagella", P052, Georgia, serif;
--sans: Helvetica, Arial, "Nimbus Sans", "DejaVu Sans", sans-serif;
--r: 4px;
color-scheme: light;
}
:root[data-theme="dark"] {
--bg: #262624; --panel: #30302E; --soft: #3A3A37; --tint: #2C2C2A;
--ink: #DDD9CE; --ink-2: #C9C6BB; --muted: #AAA89F; --rule: #55544F; --hair: #3D3D3A;
--clay: #E08A6D; --clay-ink: #EB9B80; --ours: #4C3128;
--l1: #4581EB; --l2: #B4823D; --quant: #3EA58D; --fi: #9D61B2;
--focus: #EB9B80;
color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
margin: 0; background: var(--bg); color: var(--ink);
font: 16px/1.6 var(--sans);
font-feature-settings: "tnum" 1;
}
h1, h2, h3, .serif { font-family: var(--serif); }
a { color: var(--clay-ink); text-decoration-color: color-mix(in srgb, currentColor 40%, transparent); text-underline-offset: 3px; }
a:hover { text-decoration-color: currentColor; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 2px; }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 28px; }
/* top bar: thin rule, like the report's running header */
header.top { border-bottom: 1px solid var(--rule); }
header.top .wrap { display: flex; align-items: center; gap: 26px; height: 58px; }
.brand { display: flex; align-items: center; gap: 10px; font-family: var(--serif); font-weight: 700; font-size: 18px; color: var(--ink); text-decoration: none; }
.brand svg { flex: none; }
nav.main { display: flex; gap: 18px; flex: 1; min-width: 0; font-size: 14.5px; }
nav.main a, nav.main span { text-decoration: none; color: var(--muted); padding: 4px 0; }
nav.main a[aria-current="page"] { color: var(--ink); border-bottom: 2px solid var(--clay); }
nav.main span { display: inline-flex; gap: 6px; align-items: baseline; }
nav.main span small { font-size: 12.5px; font-family: var(--serif); font-style: italic; color: var(--muted); }
.theme-btn { flex: none; border: 1px solid var(--rule); background: transparent; color: var(--ink); width: 34px; height: 34px; border-radius: 50%; cursor: pointer; display: grid; place-items: center; }
.theme-btn svg { width: 17px; height: 17px; }
/* hero: report title block */
.hero { padding: 52px 0 6px; }
.hero h1 { font-size: clamp(32px, 4.6vw, 50px); line-height: 1.1; letter-spacing: -0.01em; margin: 0 0 16px; font-weight: 600; max-width: 28ch; }
.hero p.lede { font-family: var(--serif); font-size: 20px; line-height: 1.55; color: var(--ink-2); max-width: 62ch; margin: 0 0 22px; }
.notice { display: flex; gap: 12px; align-items: baseline; padding: 12px 18px; background: var(--ours); border-left: 3px solid var(--clay); max-width: 62ch; }
.notice b { font-weight: 700; }
/* board filter: a table-like strip with hairline rules */
.boards { display: grid; grid-template-columns: 1.25fr repeat(4, 1fr); margin: 38px 0 16px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.boards button { all: unset; cursor: pointer; padding: 14px 16px 12px; border-right: 1px solid var(--hair); position: relative; }
.boards button:last-child { border-right: 0; }
.boards button .n { display: block; font-family: var(--serif); font-size: 30px; font-weight: 600; line-height: 1.1; }
.boards button:first-child .n { color: var(--clay-ink); }
.boards button .t { font-size: 13.5px; color: var(--muted); display: flex; align-items: center; gap: 7px; }
.boards button .sw { flex: none; width: 10px; height: 10px; border-radius: 2px; background: var(--c); }
.boards button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--c, var(--clay)); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.boards button[aria-pressed="true"] { background: var(--tint); }
.boards button[aria-pressed="true"]::after { transform: scaleX(1); }
.boards button:focus-visible { outline: 2px solid var(--focus); outline-offset: -3px; }
/* floorplan as a report figure */
figure.plan-fig { margin: 0; }
.plan-card { background: var(--tint); border: 1px solid var(--hair); padding: 14px; }
.plan-head { display: flex; justify-content: flex-end; margin: 0 2px 10px; }
.legend { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--ink-2); }
.legend span { display: inline-flex; align-items: center; gap: 6px; }
.legend i { width: 11px; height: 11px; border-radius: 2px; display: inline-block; }
.legend i.hollow { border: 1.5px solid var(--muted); }
.legend i.solid { background: var(--muted); }
figcaption { font-family: var(--serif); font-size: 15.5px; color: var(--ink-2); margin: 10px 2px 0; max-width: 80ch; }
figcaption b { color: var(--ink); }
#plan { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bbox { min-width: 0; border: 1px solid var(--rule); border-top: 3px solid var(--c); background: var(--panel); padding: 10px 10px 12px; }
.bbox h3 { margin: 0 4px 6px; font-size: 16px; font-weight: 700; }
.bbox h3 span { font-family: var(--sans); font-size: 13px; font-weight: 400; color: var(--muted); margin-left: 8px; }
.groups { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: flex-start; }
.grp { font: inherit; color: var(--ink); background: transparent; border: 1.5px solid transparent; border-radius: var(--r); padding: 5px 6px 7px; cursor: pointer; text-align: left; display: flex; flex-direction: column; gap: 5px; max-width: 100%; }
.grp:hover { border-color: var(--rule); }
.grp[aria-pressed="true"] { border-color: var(--ink); }
.grp .gl { font-size: 12.5px; line-height: 1.2; white-space: nowrap; color: var(--ink-2); }
.grp .gl b { font-weight: 400; color: var(--muted); margin-left: 4px; }
.cells { display: grid; grid-template-columns: repeat(var(--cols), 14px); gap: 4px; }
.cell { width: 14px; height: 14px; border-radius: 2.5px; border: 1.5px solid var(--c); background: var(--panel); transition: opacity .15s; }
.cell.hit { background: var(--c); }
.cell.dim { opacity: .25; }
.tip { position: fixed; left: 0; top: 0; pointer-events: none; z-index: 10; background: var(--ink); color: var(--bg); font-size: 13px; line-height: 1.4; padding: 7px 10px; border-radius: var(--r); max-width: min(320px, 80vw); visibility: hidden; }
.tip b { display: block; font-weight: 700; }
/* toolbar */
.toolbar { display: flex; gap: 10px; margin: 36px 0 12px; flex-wrap: wrap; align-items: center; }
.search { flex: 1 1 320px; min-width: 0; display: flex; align-items: center; gap: 8px; background: var(--panel); border: 1px solid var(--rule); border-radius: var(--r); padding: 0 12px; height: 42px; color: var(--muted); }
.search:focus-within { border-color: var(--focus); }
.search input { all: unset; flex: 1; min-width: 0; font-size: 15px; color: var(--ink); }
.search input::placeholder { color: var(--muted); }
.btn { border: 1px solid var(--rule); background: var(--panel); color: var(--ink); height: 42px; padding: 0 16px; border-radius: var(--r); font: inherit; font-size: 14.5px; cursor: pointer; }
.btn:hover { background: var(--soft); }
.chips { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 18px; }
.chip { border: 1px solid var(--rule); background: transparent; color: var(--ink-2); padding: 3px 11px; border-radius: 999px; font: inherit; font-size: 13.5px; cursor: pointer; }
.chip:hover { background: var(--soft); }
.chip[aria-pressed="true"] { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.count { font-size: 14px; color: var(--muted); margin: 0 0 12px; }
/* problem list */
.list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 12px; margin-bottom: 48px; }
.prob { min-width: 0; background: var(--panel); border: 1px solid var(--hair); border-top: 3px solid var(--c); padding: 14px 16px 12px; display: flex; flex-direction: column; gap: 8px; }
.prob.flash { animation: flash 1.4s ease-out; }
@keyframes flash { from { box-shadow: 0 0 0 4px color-mix(in srgb, var(--clay) 45%, transparent); } to { box-shadow: 0 0 0 4px transparent; } }
.prob h3 { margin: 0; font-size: 17px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.prob .op { margin: 0; font-size: 14px; color: var(--muted); overflow-wrap: anywhere; }
.prob .meta { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12.5px; margin-top: auto; }
.prob .meta span { padding: 1px 8px; border-radius: 999px; background: var(--soft); color: var(--ink-2); }
.prob .meta span.b { color: var(--ink); background: color-mix(in srgb, var(--c) 18%, var(--panel)); font-weight: 700; }
.prob .foot { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--hair); padding-top: 8px; margin-top: 2px; }
.prob .wait { flex: none; display: inline-flex; gap: 6px; align-items: center; color: var(--clay-ink); white-space: nowrap; font-family: var(--serif); font-style: italic; font-size: 14px; }
.prob .wait::before { content: ""; width: 9px; height: 9px; border-radius: 2px; border: 1.5px solid var(--clay); }
.prob .model { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.empty { padding: 28px; text-align: center; color: var(--muted); border: 1px dashed var(--rule); grid-column: 1 / -1; }
footer { border-top: 1px solid var(--rule); padding: 22px 0 40px; font-size: 14px; color: var(--muted); }
footer p { margin: 0 0 6px; max-width: 80ch; }
@media (max-width: 980px) {
#plan { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
.wrap { padding: 0 16px; }
header.top .wrap { gap: 12px; }
nav.main span { display: none; }
.boards { grid-template-columns: 1fr 1fr; }
.boards button { border-bottom: 1px solid var(--hair); }
.boards button:first-child { grid-column: 1 / -1; }
.boards button:nth-child(odd) { border-right: 0; }
.plan-card { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
* { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
.cell.hit { background: Highlight; }
}
</style>
</head>
<body>
<header class="top">
<div class="wrap">
<a class="brand" href="#">
<svg width="26" height="26" viewBox="0 0 26 26" aria-hidden="true">
<rect x="1" y="1" width="24" height="24" rx="6" fill="none" stroke="currentColor" stroke-width="1.6"/>
<rect x="6" y="6" width="6" height="6" rx="1.5" fill="var(--l1)"/>
<rect x="14" y="6" width="6" height="6" rx="1.5" fill="none" stroke="var(--l2)" stroke-width="1.6"/>
<rect x="6" y="14" width="6" height="6" rx="1.5" fill="none" stroke="var(--quant)" stroke-width="1.6"/>
<rect x="14" y="14" width="6" height="6" rx="1.5" fill="none" stroke="var(--fi)" stroke-width="1.6"/>
</svg>
CompoundingKernel
</a>
<nav class="main" aria-label="Main">
<a href="#" aria-current="page">Explore</a>
<span>Paper <small>on the way</small></span>
<span>Code <small>on the way</small></span>
<span>Kernels <small>on the way</small></span>
</nav>
<button class="theme-btn" id="theme" type="button" aria-label="Switch to dark mode">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" aria-hidden="true"><path d="M20 14.5A8 8 0 0 1 9.5 4a8 8 0 1 0 10.5 10.5z"/></svg>
</button>
</div>
</header>
<main class="wrap">
<section class="hero">
<h1>GPU kernels for every <span style="white-space: nowrap">SOL-ExecBench</span> problem</h1>
<p class="lede">CompoundingKernel is a self-improving system that writes and tunes GPU kernels for NVIDIA B200. This page lists the 235 benchmark problems it works on, grouped by leaderboard and by the kind of operation.</p>
<div class="notice" role="status"><span><b>Paper, code and kernels are on the way.</b> For now you can browse the problems.</span></div>
</section>
<div class="boards" role="group" aria-label="Filter by leaderboard" id="boards"></div>
<figure class="plan-fig" aria-labelledby="plan-cap">
<div class="plan-card">
<div class="plan-head"><div class="legend" id="legend"></div></div>
<div id="plan"></div>
</div>
<figcaption id="plan-cap"><b>Figure 1.</b> All 235 problems by leaderboard and kind of operation, one square per problem.
A hollow square means its kernel is on the way. Click a group to filter the list below.</figcaption>
</figure>
<div class="toolbar">
<label class="search">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></svg>
<input id="q" type="search" placeholder="Search problems, operations or source models" aria-label="Search problems">
</label>
<button class="btn" id="random" type="button">Show a random problem</button>
<button class="btn" id="reset" type="button">Clear filters</button>
</div>
<div class="chips" role="group" aria-label="Filter by operation" id="chips"></div>
<p class="count" id="count" aria-live="polite"></p>
<div class="list" id="list"></div>
</main>
<footer>
<div class="wrap">
<p>SOL-ExecBench and its leaderboards are by NVIDIA: <a href="https://research.nvidia.com/benchmarks/sol-execbench/leaderboard/collection/1/B200">L1</a>, <a href="https://research.nvidia.com/benchmarks/sol-execbench/leaderboard/collection/2/B200">L2</a>, <a href="https://research.nvidia.com/benchmarks/sol-execbench/leaderboard/collection/3/B200">Quant</a>. Problem names come from the public benchmark. The operation groups are our own labels.</p>
<p>No kernels are published on this page yet.</p>
</div>
</footer>
<div class="tip" id="tip" role="tooltip"></div>
<script type="application/json" id="data">
{"problems":[{"board":"L1","id":"001_attention_softmax_dropout_value_matmul_backward","name":"Attention softmax dropout value matmul backward","group":"Backward pass","op":"attention softmax + dropout + PV backward (GQA 80/8/128)","direction":"backward","model":"ByteDance/Seed-Seed-OSS-36B-Instruct","workloads":16},{"board":"L1","id":"002_vae_conv3x3_groupnorm_silu_residual_fused","name":"VAE conv3x3 GroupNorm SiLU residual fused","group":"Image and video","op":"VAE conv3x3 + GroupNorm + SiLU residual block","direction":"forward","model":"Efficient-Large-Model/Sana-Sprint-1.6B-1024px","workloads":20},{"board":"L1","id":"003_lm_head_projection_with_logit_slicing","name":"LM head projection with logit slicing","group":"Projections and GEMM","op":"LM head GEMM on the last N positions (logit slicing)","direction":"forward","model":"LGAI-EXAONE/EXAONE-4.0-1.2B","workloads":16},{"board":"L1","id":"004_attention_output_projection_with_reshape_backward","name":"Attention output projection with reshape backward","group":"Backward pass","op":"attention o_proj + reshape backward","direction":"backward","model":"LiquidAI/LFM2-1.2B","workloads":16},{"board":"L1","id":"005_conv_gated_projection_with_causal_conv","name":"Conv gated projection with causal conv","group":"State space and conv","op":"LFM2 short-conv block: in-proj, gate, causal depthwise conv1d, out-proj","direction":"forward","model":"LiquidAI/LFM2-1.2B","workloads":16},{"board":"L1","id":"006_hyena_depthwise_conv1d_split_gate","name":"Hyena depthwise Conv1D split gate","group":"State space and conv","op":"Hyena depthwise conv1d + split + gate","direction":"forward","model":"LongSafari/hyenadna-small-32k-seqlen-hf","workloads":16},{"board":"L1","id":"007_hyena_fft_size_padding_rfft","name":"Hyena FFT size padding RFFT","group":"State space and conv","op":"Hyena FFT padding + rfft","direction":"forward","model":"LongSafari/hyenadna-small-32k-seqlen-hf","workloads":16},{"board":"L1","id":"008_expert_output_weighted_index_add_accumulation","name":"Expert output weighted index add accumulation","group":"MLP and MoE","op":"MoE combine: weighted index_add of expert outputs","direction":"forward","model":"MiniMaxAI/MiniMax-M2","workloads":16},{"board":"L1","id":"009_expert_token_scatter_with_weighted_forward_backward","name":"Expert token scatter with weighted forward backward","group":"Backward pass","op":"MoE token scatter, weighted, forward + backward","direction":"backward","model":"MiniMaxAI/MiniMax-M2","workloads":16},{"board":"L1","id":"010_attention_value_projection_with_transpose","name":"Attention value projection with transpose","group":"Projections and GEMM","op":"V projection (5120 -> 1024) + reshape / transpose","direction":"forward","model":"NousResearch/DeepHermes-3-Mistral-24B-Preview","workloads":16},{"board":"L1","id":"011_rotary_position_embedding","name":"Rotary position embedding","group":"Attention","op":"RoPE cos/sin from positions with llama3 scaling","direction":"forward","model":"NousResearch/Hermes-4-70B","workloads":16},{"board":"L1","id":"012_fused_cos_sin_embedding_generation","name":"Fused cos sin embedding generation","group":"Attention","op":"RoPE cos/sin from frequencies with attention scaling","direction":"forward","model":"NousResearch/Hermes-4-405B","workloads":16},{"board":"L1","id":"013_fused_residual_rms_norm_backward","name":"Fused residual RMS norm backward","group":"Backward pass","op":"fused residual + RMSNorm backward","direction":"backward","model":"Qwen/Qwen3-4B-Instruct-2507","workloads":16},{"board":"L1","id":"014_rotary_embedding_with_attention_scaling_backward","name":"Rotary embedding with attention scaling backward","group":"Backward pass","op":"RoPE with attention scaling backward","direction":"backward","model":"Qwen/Qwen3-4B-Instruct-2507","workloads":16},{"board":"L1","id":"015_grouped_query_attention_with_rope_and_qk_norm","name":"Grouped query attention with RoPE and QK norm","group":"Attention","op":"GQA attention block: QKV proj, QK-RMSNorm, RoPE, causal SDPA, o_proj","direction":"forward","model":"Qwen/Qwen3-8B","workloads":16},{"board":"L1","id":"016_rope_inverse_frequency_computation","name":"RoPE inverse frequency computation","group":"Attention","op":"RoPE inverse-frequency table","direction":"forward","model":"Qwen/Qwen3-8B","workloads":16},{"board":"L1","id":"017_moe_expert_swiglu_with_down_projection_backward","name":"MoE expert SwiGLU with down projection backward","group":"Backward pass","op":"MoE expert SwiGLU + down projection backward","direction":"backward","model":"Qwen/Qwen3-30B-A3B-Instruct-2507","workloads":16},{"board":"L1","id":"018_fused_rope_with_qk_norm_and_kv_cache_update","name":"Fused RoPE with QK norm and KV cache update","group":"Attention","op":"fused QK-RMSNorm + RoPE + KV-cache write","direction":"forward","model":"Qwen/Qwen3-Coder-480B-A35B-Instruct","workloads":13},{"board":"L1","id":"019_vision_3d_rotary_embedding_with_spatial_merge_indexing_backward","name":"Vision 3D rotary embedding with spatial merge indexing backward","group":"Backward pass","op":"vision 3D RoPE with spatial-merge indexing backward","direction":"backward","model":"Qwen/Qwen3-Omni-30B-A3B-Instruct","workloads":16},{"board":"L1","id":"020_vision_patch_merger_spatial_shuffle_mlp","name":"Vision patch merger spatial shuffle MLP","group":"Image and video","op":"vision patch merger: 2x2 shuffle + LayerNorm + GELU MLP","direction":"forward","model":"Qwen/Qwen3-Omni-30B-A3B-Instruct","workloads":15},{"board":"L1","id":"021_vision_cu_seqlens_variable_length_attention","name":"Vision cu seqlens variable length attention","group":"Image and video","op":"vision varlen attention (cu_seqlens) with QKV proj + RoPE","direction":"forward","model":"Qwen/Qwen3-VL-8B-Instruct","workloads":16},{"board":"L1","id":"022_vision_mlp_gelu_backward","name":"Vision MLP GELU backward","group":"Backward pass","op":"vision MLP GELU backward","direction":"backward","model":"Qwen/Qwen3-VL-8B-Instruct","workloads":16},{"board":"L1","id":"023_multimodal_rope_position_computation_with_grid_based_indexing","name":"Multimodal RoPE position computation with grid based indexing","group":"Image and video","op":"multimodal RoPE positions + learned position-embedding interpolation","direction":"forward","model":"Qwen/Qwen3-VL-235B-A22B-Instruct","workloads":16},{"board":"L1","id":"024_vision_rotary_position_embedding_generation_backward","name":"Vision rotary position embedding generation backward","group":"Backward pass","op":"vision RoPE generation backward","direction":"backward","model":"Qwen/Qwen-Image-Edit-2509","workloads":16},{"board":"L1","id":"025_video_latent_gelu_activation","name":"Video latent GELU activation","group":"Image and video","op":"GELU-tanh elementwise (video latents)","direction":"forward","model":"Wan-AI/Wan2.2-T2V-A14B","workloads":16},{"board":"L1","id":"026_video_patch_embedding_projection","name":"Video patch embedding projection","group":"Image and video","op":"Conv3D video patch embed + position embed + LayerNorm","direction":"forward","model":"Wan-AI/Wan2.2-T2V-A14B","workloads":4},{"board":"L1","id":"027_video_spatial_attention_with_rope_3d","name":"Video spatial attention with RoPE 3D","group":"Image and video","op":"video spatial attention with 3D RoPE","direction":"forward","model":"Wan-AI/Wan2.2-T2V-A14B","workloads":16},{"board":"L1","id":"028_hybrid_attention_mask_preparation","name":"Hybrid attention mask preparation","group":"Attention","op":"causal + sliding-window mask construction","direction":"forward","model":"XiaomiMiMo/MiMo-V2-Flash","workloads":12},{"board":"L1","id":"029_mamba_conv1d_with_gating","name":"Mamba Conv1D with gating","group":"State space and conv","op":"Mamba in-proj + causal depthwise conv1d + SiLU gate","direction":"forward","model":"ai21labs/AI21-Jamba-Large-1.7","workloads":16},{"board":"L1","id":"030_attention_output_projection_with_residual","name":"Attention output projection with residual","group":"Projections and GEMM","op":"o_proj GEMM (2560x2560) + residual add","direction":"forward","model":"ai21labs/AI21-Jamba-Reasoning-3B","workloads":16},{"board":"L1","id":"031_repeat_kv_attention_matmul","name":"Repeat KV attention matmul","group":"Attention","op":"GQA repeat_kv + Q@K^T scores","direction":"forward","model":"allenai/Olmo-3-7B-Think","workloads":16},{"board":"L1","id":"032_attention_weights_matmul_with_value_projection","name":"Attention weights matmul with value projection","group":"Attention","op":"attention weights @ V + transpose / reshape","direction":"forward","model":"allenai/Olmo-3-32B-Think","workloads":16},{"board":"L1","id":"033_post_norm_residual","name":"Post norm residual","group":"Normalization","op":"post-norm residual: residual + RMSNorm(x)","direction":"forward","model":"allenai/Olmo-3-1025-7B","workloads":16},{"board":"L1","id":"034_flux_multi_axis_rope_frequency_computation","name":"Flux multi axis RoPE frequency computation","group":"Image and video","op":"FLUX multi-axis RoPE frequencies","direction":"forward","model":"black-forest-labs/FLUX.1-Fill-dev","workloads":16},{"board":"L1","id":"035_flux_ada_layer_norm_zero_modulation_extraction","name":"Flux ada layer norm zero modulation extraction","group":"Image and video","op":"FLUX AdaLN-Zero modulation linear + chunk","direction":"forward","model":"black-forest-labs/FLUX.1-Kontext-dev","workloads":16},{"board":"L1","id":"036_flux_output_norm_projection_chain","name":"Flux output norm projection chain","group":"Image and video","op":"FLUX final AdaLN + output projection","direction":"forward","model":"black-forest-labs/FLUX.1-Kontext-dev","workloads":16},{"board":"L1","id":"037_flux_feedforward_gelu_approximate","name":"Flux feedforward GELU approximate","group":"Image and video","op":"FLUX feed-forward with GELU-tanh","direction":"forward","model":"black-forest-labs/FLUX.1-dev","workloads":16},{"board":"L1","id":"038_flux_multi_head_rmsnorm_qk","name":"Flux multi head RMSNorm QK","group":"Image and video","op":"FLUX.2 per-head QK RMSNorm","direction":"forward","model":"black-forest-labs/FLUX.2-dev","workloads":16},{"board":"L1","id":"039_adaptive_instance_normalization_2d_backward","name":"Adaptive instance normalization 2D backward","group":"Backward pass","op":"adaptive instance norm 2D backward","direction":"backward","model":"chuxiaojie/NAFNet","workloads":16},{"board":"L1","id":"040_conv2d_residual_block","name":"Conv2D residual block","group":"Image and video","op":"NAFNet conv residual block","direction":"forward","model":"chuxiaojie/NAFNet","workloads":16},{"board":"L1","id":"041_strided_conv2d_downsampling","name":"Strided Conv2D downsampling","group":"Image and video","op":"NAFNet strided conv2d downsampling","direction":"forward","model":"chuxiaojie/NAFNet","workloads":16},{"board":"L1","id":"042_moe_expert_load_balancing_and_token_capacity_backward","name":"MoE expert load balancing and token capacity backward","group":"Backward pass","op":"MoE load-balancing loss / capacity backward","direction":"backward","model":"deepseek-ai/DeepSeek-R1-0528","workloads":16},{"board":"L1","id":"043_mla_fused_qkv_rope_split","name":"MLA fused QKV RoPE split","group":"Projections and GEMM","op":"MLA latent projections: q_a -> RMSNorm -> q_b, kv_a + split","direction":"forward","model":"deepseek-ai/DeepSeek-V3","workloads":16},{"board":"L1","id":"044_moe_expert_computation","name":"MoE expert computation","group":"MLP and MoE","op":"MoE experts: SwiGLU per expert from given ids / weights","direction":"forward","model":"deepseek-ai/DeepSeek-V3","workloads":16},{"board":"L1","id":"045_fused_linear_gelu_grn_linear","name":"Fused linear GELU GRN linear","group":"Image and video","op":"ConvNeXtV2 MLP + GRN","direction":"forward","model":"facebook/convnextv2-base-22k-224","workloads":14},{"board":"L1","id":"046_attention_softmax_with_softcapping_and_dropout","name":"Attention softmax with softcapping and dropout","group":"Attention","op":"attention softmax with logit soft-cap + dropout","direction":"forward","model":"google/gemma-3-1b-it","workloads":16},{"board":"L1","id":"047_attention_with_qk_norm_and_rope","name":"Attention with QK norm and RoPE","group":"Attention","op":"Gemma3 attention block: QKV/O proj, QK-RMSNorm, RoPE, soft-cap, causal","direction":"forward","model":"google/gemma-3-12b-it","workloads":16},{"board":"L1","id":"048_fused_gate_up_projection_with_swiglu","name":"Fused gate up projection with SwiGLU","group":"MLP and MoE","op":"fused gate+up GEMM with GELU-tanh gating (no down proj)","direction":"forward","model":"google/gemma-3-12b-it","workloads":16},{"board":"L1","id":"049_attention_qk_matmul_with_gqa_repeat_and_scaling","name":"Attention QK matmul with GQA repeat and scaling","group":"Attention","op":"GQA repeat + Q@K^T + scale","direction":"forward","model":"google/gemma-3-270m","workloads":16},{"board":"L1","id":"050_attention_qkv_projection_with_bias_and_reshape","name":"Attention QKV projection with bias and reshape","group":"Projections and GEMM","op":"QKV projection with bias + reshape","direction":"forward","model":"google/gemma-3-270m","workloads":16},{"board":"L1","id":"051_attention_qkv_with_qk_norm_single_kernel_backward","name":"Attention QKV with QK norm single kernel backward","group":"Backward pass","op":"QKV + QK-norm backward","direction":"backward","model":"google/gemma-3-270m","workloads":16},{"board":"L1","id":"052_altup_hidden_state_collapse_with_magnitude_normalization","name":"AltUp hidden state collapse with magnitude normalization","group":"Other","op":"Gemma3n AltUp stream collapse","direction":"forward","model":"google/gemma-3n-E2B","workloads":16},{"board":"L1","id":"053_gaussian_topk_sparse_activation","name":"Gaussian topk sparse activation","group":"Other","op":"Gemma3n Gaussian top-k sparse activation","direction":"forward","model":"google/gemma-3n-E2B","workloads":12},{"board":"L1","id":"054_audio_attention_qkv_projection_with_normalization","name":"Audio attention QKV projection with normalization","group":"Audio","op":"audio attention QKV proj + per-head RMSNorm","direction":"forward","model":"google/gemma-3n-E4B","workloads":16},{"board":"L1","id":"055_attention_qkv_projection_with_gqa_reshape","name":"Attention QKV projection with GQA reshape","group":"Projections and GEMM","op":"QKV projection + GQA reshape","direction":"forward","model":"ibm-granite/granite-4.0-1b","workloads":16},{"board":"L1","id":"056_mamba_ssm_dt_projection_softplus_clamp_backward","name":"Mamba SSM dt projection softplus clamp backward","group":"Backward pass","op":"Mamba dt projection + softplus + clamp backward","direction":"backward","model":"ibm-granite/granite-4.0-micro","workloads":16},{"board":"L1","id":"057_mtp_shifted_embedding_with_dual_rms_norm_fusion","name":"MTP shifted embedding with dual RMS norm fusion","group":"Full decoder layers","op":"MTP input: shifted embedding + dual RMSNorm + concat + proj","direction":"forward","model":"inclusionAI/Ling-flash-2.0","workloads":16},{"board":"L1","id":"058_moe_expert_token_radix_sort_with_prefix_sum","name":"MoE expert token radix sort with prefix sum","group":"MLP and MoE","op":"MoE token sort by expert (counting sort + prefix sum)","direction":"forward","model":"inclusionAI/Ling-mini-2.0","workloads":16},{"board":"L1","id":"059_moe_group_score_aggregation_and_masking","name":"MoE group score aggregation and masking","group":"MLP and MoE","op":"MoE group-limited routing step: top-2 group sums, top-4 groups, mask","direction":"forward","model":"inclusionAI/Ling-mini-2.0","workloads":16},{"board":"L1","id":"060_fused_attention_qk_matmul_scale_mask_softmax_backward","name":"Fused attention QK matmul scale mask softmax backward","group":"Backward pass","op":"attention QK scale mask softmax backward","direction":"backward","model":"meta-llama/Llama-3.1-405B","workloads":16},{"board":"L1","id":"061_tanh_gated_residual_add_backward","name":"Tanh gated residual add backward","group":"Backward pass","op":"tanh-gated residual add backward","direction":"backward","model":"meta-llama/Llama-3.2-11B-Vision","workloads":16},{"board":"L1","id":"062_kv_cache_update_with_rope_backward","name":"KV cache update with RoPE backward","group":"Backward pass","op":"KV-cache update with RoPE backward","direction":"backward","model":"mistralai/Devstral-Small-2507","workloads":16},{"board":"L1","id":"063_attention_output_reshape_and_projection","name":"Attention output reshape and projection","group":"Projections and GEMM","op":"attention output reshape + o_proj (heads*v_head_dim -> hidden)","direction":"forward","model":"moonshotai/Kimi-K2-Instruct-0905","workloads":16},{"board":"L1","id":"064_latent_kv_expansion_with_split","name":"Latent KV expansion with split","group":"Projections and GEMM","op":"MLA latent KV expansion: RMSNorm + kv_b_proj + split K_nope / V","direction":"forward","model":"moonshotai/Kimi-K2-Instruct-0905","workloads":16},{"board":"L1","id":"065_fused_statistics_projection_and_split","name":"Fused statistics projection and split","group":"Audio","op":"Conv1d stats projection + split (TTS)","direction":"forward","model":"myshell-ai/OpenVoice","workloads":16},{"board":"L1","id":"066_masked_softmax_with_attention_dropout_backward","name":"Masked softmax with attention dropout backward","group":"Backward pass","op":"masked softmax + dropout backward","direction":"backward","model":"myshell-ai/OpenVoice","workloads":16},{"board":"L1","id":"067_flash_attention_gqa_ultralong","name":"Flash attention GQA ultralong","group":"Attention","op":"GQA attention block: QKV proj, RoPE, causal SDPA, o_proj (no QK-norm)","direction":"forward","model":"nvidia/Llama-3.1-Nemotron-8B-UltraLong-1M-Instruct","workloads":18},{"board":"L1","id":"068_fused_rope_application_backward","name":"Fused RoPE application backward","group":"Backward pass","op":"RoPE application backward","direction":"backward","model":"nvidia/Llama-3.1-Nemotron-8B-UltraLong-1M-Instruct","workloads":16},{"board":"L1","id":"069_rms_norm","name":"RMS norm","group":"Normalization","op":"residual add + RMSNorm (returns the normed output only)","direction":"forward","model":"nvidia/Llama-3.3-Nemotron-70B-Select","workloads":16},{"board":"L1","id":"070_mamba2_fused_intra_chunk_diagonal_computation","name":"Mamba2 fused intra chunk diagonal computation","group":"State space and conv","op":"Mamba2 SSD intra-chunk diagonal block","direction":"forward","model":"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8","workloads":14},{"board":"L1","id":"071_kv_cache_update_with_rope","name":"KV cache update with RoPE","group":"Attention","op":"KV-cache update with RoPE on K","direction":"forward","model":"nvidia/Phi-4-reasoning-plus-NVFP4","workloads":16},{"board":"L1","id":"072_cross_attention_qkv_projection_with_gqa_repeat_backward","name":"Cross attention QKV projection with GQA repeat backward","group":"Backward pass","op":"cross-attention QKV + GQA repeat backward","direction":"backward","model":"nvidia/parakeet-tdt-0.6b-v3","workloads":16},{"board":"L1","id":"073_fused_encoder_final_norm_to_decoder_cross_attention_kv_projection","name":"Fused encoder final norm to decoder cross attention KV projection","group":"Audio","op":"encoder final RMSNorm + cross-attention K/V projection","direction":"forward","model":"nvidia/parakeet-tdt-0.6b-v3","workloads":16},{"board":"L1","id":"074_fused_gated_mlp_silu","name":"Fused gated MLP SiLU","group":"MLP and MoE","op":"gated MLP: fused gate_up GEMM + SiLU*up + down","direction":"forward","model":"nvidia/parakeet-tdt-0.6b-v3","workloads":16},{"board":"L1","id":"075_grouped_query_self_attention_with_rope","name":"Grouped query self attention with RoPE","group":"Audio","op":"GQA self-attention block with RoPE (encoder / decoder)","direction":"forward","model":"nvidia/parakeet-tdt-0.6b-v3","workloads":16},{"board":"L1","id":"076_batched_expert_forward","name":"Batched expert forward","group":"MLP and MoE","op":"gpt-oss experts: gate_up + clamped SwiGLU (alpha, limit) + down, dense over all experts","direction":"forward","model":"openai/gpt-oss-120b","workloads":14},{"board":"L1","id":"077_whisper_decoder_output_projection","name":"Whisper decoder output projection","group":"Projections and GEMM","op":"Whisper LM head GEMM","direction":"forward","model":"openai/whisper-large-v3","workloads":16},{"board":"L1","id":"078_group_norm_fusion","name":"Group norm fusion","group":"Image and video","op":"GroupNorm (SD UNet)","direction":"forward","model":"runwayml/stable-diffusion-v1-5","workloads":16},{"board":"L1","id":"079_ImageNet_83.6_ssm_output_projection_gate_multiply_backward","name":"ImageNet 83.6 SSM output projection gate multiply backward","group":"Backward pass","op":"SSM output projection gate multiply backward","direction":"backward","model":"saurabhati/VMamba","workloads":16},{"board":"L1","id":"080_adaptive_layernorm_continuous_with_modulation","name":"Adaptive LayerNorm continuous with modulation","group":"Image and video","op":"SD3.5 AdaLayerNormContinuous","direction":"forward","model":"stabilityai/stable-diffusion-3.5-large","workloads":16},{"board":"L1","id":"081_joint_attention_context_projection","name":"Joint attention context projection","group":"Image and video","op":"SD3.5 joint-attention context projection","direction":"forward","model":"stabilityai/stable-diffusion-3.5-large","workloads":16},{"board":"L1","id":"082_qk_norm_scaled_dot_product_attention","name":"QK norm scaled dot product attention","group":"Image and video","op":"SD3.5 QK-LayerNorm SDPA","direction":"forward","model":"stabilityai/stable-diffusion-3.5-medium","workloads":16},{"board":"L1","id":"083_attention_score_value_matmul","name":"Attention score value matmul","group":"Image and video","op":"SDXL attention weights @ V","direction":"forward","model":"stabilityai/stable-diffusion-xl-base-1.0","workloads":16},{"board":"L1","id":"084_silu_activation_backward","name":"SiLU activation backward","group":"Backward pass","op":"SiLU backward","direction":"backward","model":"stabilityai/stable-diffusion-xl-base-1.0","workloads":16},{"board":"L1","id":"085_geglu_activation","name":"GEGLU activation","group":"Image and video","op":"GEGLU activation","direction":"forward","model":"stabilityai/stable-diffusion-xl-refiner-1.0","workloads":16},{"board":"L1","id":"086_sam_hq_mask_decoder_iou_hypernetwork_fusion","name":"SAM hq mask decoder IoU hypernetwork fusion","group":"Image and video","op":"SAM-HQ IoU head + hypernetwork MLPs","direction":"forward","model":"syscv-community/sam-hq-vit-base","workloads":16},{"board":"L1","id":"087_embedding_with_initial_layernorm_backward","name":"Embedding with initial LayerNorm backward","group":"Backward pass","op":"embedding + LayerNorm backward","direction":"backward","model":"taozi555/jamba-mini-1.7-rp","workloads":16},{"board":"L1","id":"088_rotary_position_embedding_application","name":"Rotary position embedding application","group":"Image and video","op":"RoPE application to Q/K (HunyuanImage)","direction":"forward","model":"tencent/HunyuanImage-2.1","workloads":16},{"board":"L1","id":"089_vae_attention_block_with_groupnorm","name":"VAE attention block with GroupNorm","group":"Image and video","op":"VAE attention block with GroupNorm","direction":"forward","model":"tencent/HunyuanImage-2.1","workloads":16},{"board":"L1","id":"090_batched_2d_rope_position_encoding_backward","name":"Batched 2D RoPE position encoding backward","group":"Backward pass","op":"batched 2D RoPE backward","direction":"backward","model":"tencent/HunyuanImage-3.0","workloads":16},{"board":"L1","id":"091_fused_gqa_qkv_rope_qk_norm_backward","name":"Fused GQA QKV RoPE QK norm backward","group":"Backward pass","op":"fused GQA QKV + RoPE + QK-norm backward","direction":"backward","model":"tencent/HunyuanImage-3.0","workloads":16},{"board":"L1","id":"092_gqa_attention_with_qk_norm","name":"GQA attention with QK norm","group":"Attention","op":"GQA attention block: QKV proj (bias), QK-RMSNorm, RoPE, causal, o_proj","direction":"forward","model":"zai-org/GLM-4.5-Air","workloads":16},{"board":"L1","id":"093_grouped_topk_moe_routing_backward","name":"Grouped topk MoE routing backward","group":"Backward pass","op":"grouped top-k MoE routing backward","direction":"backward","model":"zai-org/GLM-4.7","workloads":16},{"board":"L1","id":"094_time_decay_exponential_stabilization","name":"Time decay exponential stabilization","group":"Other","op":"RWKV time-decay exponent with stabilisation","direction":"forward","model":"zhiyuan8/RWKV-v7-1.5B-G1-GGUF","workloads":16},{"board":"L2","id":"001_fused_vision_multihead_attention_with_norms_backward","name":"Fused vision multihead attention with norms backward","group":"Backward pass","op":"vision MHA with norms backward","direction":"backward","model":"1024m/Molmo-7B-D-Base","workloads":16},{"board":"L2","id":"002_decoder_layer_full_block","name":"Decoder layer full block","group":"Full decoder layers","op":"Llama decoder layer: RMSNorm, GQA + RoPE, residual, RMSNorm, SwiGLU MLP, residual","direction":"forward","model":"NousResearch/DeepHermes-3-Llama-3-8B-Preview","workloads":18},{"board":"L2","id":"003_grouped_query_attention_with_rope_backward","name":"Grouped query attention with RoPE backward","group":"Backward pass","op":"GQA attention with RoPE backward","direction":"backward","model":"NousResearch/DeepHermes-3-Mistral-24B-Preview","workloads":16},{"board":"L2","id":"004_fused_residual_rms_mlp","name":"Fused residual RMS MLP","group":"MLP and MoE","op":"residual + RMSNorm + SwiGLU MLP","direction":"forward","model":"NousResearch/Hermes-4-405B","workloads":16},{"board":"L2","id":"005_swiglu_mlp_backward","name":"SwiGLU MLP backward","group":"Backward pass","op":"SwiGLU MLP backward","direction":"backward","model":"NousResearch/Hermes-4-405B","workloads":18},{"board":"L2","id":"006_multimodal_rope_position_calculation","name":"Multimodal RoPE position calculation","group":"Attention","op":"multimodal 3D RoPE position-id calculation","direction":"forward","model":"Qwen/Qwen2.5-VL-7B-Instruct","workloads":16},{"board":"L2","id":"007_multimodal_rotary_embedding_attention","name":"Multimodal rotary embedding attention","group":"Attention","op":"GQA attention with multimodal 3D RoPE","direction":"forward","model":"Qwen/Qwen2.5-VL-7B-Instruct","workloads":16},{"board":"L2","id":"008_moe_sparse_routing_and_dispatch","name":"MoE sparse routing and dispatch","group":"MLP and MoE","op":"MoE block: softmax router + top-8 + SwiGLU experts + weighted sum","direction":"forward","model":"Qwen/Qwen3-30B-A3B-Instruct-2507","workloads":16},{"board":"L2","id":"009_decoder_layer_with_residual_connections","name":"Decoder layer with residual connections","group":"Full decoder layers","op":"MoE decoder layer: RMSNorm, GQA + QK-norm, MoE, residuals","direction":"forward","model":"Qwen/Qwen3-Coder-30B-A3B-Instruct","workloads":16},{"board":"L2","id":"010_moe_expert_computation_with_weighted_accumulation","name":"MoE expert computation with weighted accumulation","group":"MLP and MoE","op":"MoE experts SwiGLU + weighted accumulation (given top-k)","direction":"forward","model":"Qwen/Qwen3-Coder-30B-A3B-Instruct","workloads":16},{"board":"L2","id":"011_moe_sparse_routing_and_dispatch_backward","name":"MoE sparse routing and dispatch backward","group":"Backward pass","op":"MoE routing + dispatch backward","direction":"backward","model":"Qwen/Qwen3-Coder-30B-A3B-Instruct","workloads":16},{"board":"L2","id":"012_moe_expert_batched_execution_with_capacity_factor","name":"MoE expert batched execution with capacity factor","group":"MLP and MoE","op":"MoE experts with capacity-factor batching","direction":"forward","model":"Qwen/Qwen3-Coder-480B-A35B-Instruct","workloads":16},{"board":"L2","id":"013_expert_weighted_aggregation_with_shared_expert","name":"Expert weighted aggregation with shared expert","group":"MLP and MoE","op":"MoE experts + weighted sum + sigmoid-gated shared expert","direction":"forward","model":"Qwen/Qwen3-Next-80B-A3B-Instruct","workloads":16},{"board":"L2","id":"014_audio_encoder_varlen_attention_with_chunking_backward","name":"Audio encoder varlen attention with chunking backward","group":"Backward pass","op":"audio varlen attention with chunking backward","direction":"backward","model":"Qwen/Qwen3-Omni-30B-A3B-Instruct","workloads":16},{"board":"L2","id":"015_audio_sinusoidal_position_embedding_with_conv_projection","name":"Audio sinusoidal position embedding with conv projection","group":"Audio","op":"audio sinusoidal position embed + Conv2d downsampling + proj","direction":"forward","model":"Qwen/Qwen3-Omni-30B-A3B-Instruct","workloads":16},{"board":"L2","id":"016_moe_expert_mlp_with_load_balancing","name":"MoE expert MLP with load balancing","group":"MLP and MoE","op":"MoE block: softmax router + top-8 + SwiGLU experts (returns router logits)","direction":"forward","model":"Qwen/Qwen3-Omni-30B-A3B-Instruct","workloads":16},{"board":"L2","id":"017_fused_vision_cu_seqlens_attention_with_2d_rope_backward","name":"Fused vision cu seqlens attention with 2D RoPE backward","group":"Backward pass","op":"vision varlen attention with 2D RoPE backward","direction":"backward","model":"Qwen/Qwen3-VL-4B-Instruct","workloads":16},{"board":"L2","id":"018_cu_seqlens_variable_length_vision_attention","name":"Cu seqlens variable length vision attention","group":"Image and video","op":"vision varlen attention (cu_seqlens) with RoPE","direction":"forward","model":"Qwen/Qwen-Image-Edit-2509","workloads":16},{"board":"L2","id":"019_decoder_layer_fused_attention_mlp","name":"Decoder layer fused attention MLP","group":"Full decoder layers","op":"Qwen2-VL decoder layer (M-RoPE GQA + SwiGLU)","direction":"forward","model":"Qwen/Qwen-Image-Edit-2509","workloads":16},{"board":"L2","id":"020_decoder_layer_pre_post_norm_residual","name":"Decoder layer pre post norm residual","group":"Full decoder layers","op":"decoder layer with pre / post norm residuals","direction":"forward","model":"RekaAI/reka-flash-3","workloads":16},{"board":"L2","id":"021_cross_attention_text_video_conditioning_backward","name":"Cross attention text video conditioning backward","group":"Backward pass","op":"text-video cross-attention backward","direction":"backward","model":"Wan-AI/Wan2.2-T2V-A14B","workloads":16},{"board":"L2","id":"022_video_latent_denoising_unet_block","name":"Video latent denoising UNet block","group":"Image and video","op":"video latent denoising block","direction":"forward","model":"Wan-AI/Wan2.2-T2V-A14B","workloads":16},{"board":"L2","id":"023_video_latent_vae_encoder_downsampling","name":"Video latent VAE encoder downsampling","group":"Image and video","op":"video VAE encoder downsampling","direction":"forward","model":"Wan-AI/Wan2.2-T2V-A14B","workloads":16},{"board":"L2","id":"024_moe_expert_parallel_execution","name":"MoE expert parallel execution","group":"MLP and MoE","op":"MoE experts (256, given top-k) SwiGLU + scatter-add","direction":"forward","model":"XiaomiMiMo/MiMo-V2-Flash","workloads":16},{"board":"L2","id":"025_moe_expert_parallel_execution_backward","name":"MoE expert parallel execution backward","group":"Backward pass","op":"MoE experts backward","direction":"backward","model":"XiaomiMiMo/MiMo-V2-Flash","workloads":16},{"board":"L2","id":"026_moe_expert_parallel_execution_with_weighted_aggregation","name":"MoE expert parallel execution with weighted aggregation","group":"MLP and MoE","op":"MoE experts (16, top-2) with weighted aggregation","direction":"forward","model":"ai21labs/AI21-Jamba-Large-1.7","workloads":16},{"board":"L2","id":"027_grouped_query_attention_with_yarn_rope_and_qk_norm","name":"Grouped query attention with YaRN RoPE and QK norm","group":"Attention","op":"GQA attention with YaRN RoPE, QK-norm, sliding window","direction":"forward","model":"allenai/Olmo-3-32B-Think","workloads":16},{"board":"L2","id":"028_gqa_rotary_attention_core_backward","name":"GQA rotary attention core backward","group":"Backward pass","op":"GQA rotary attention core backward","direction":"backward","model":"baidu/ERNIE-4.5-300B-A47B-PT","workloads":16},{"board":"L2","id":"029_moe_sparse_routing_and_dispatch","name":"MoE sparse routing and dispatch","group":"MLP and MoE","op":"MoE block: biased router, top-k, experts + shared expert","direction":"forward","model":"baidu/ERNIE-4.5-300B-A47B-PT","workloads":9},{"board":"L2","id":"030_flux_concatenated_sequence_processing_with_split","name":"Flux concatenated sequence processing with split","group":"Image and video","op":"FLUX concat text+image, linear, split","direction":"forward","model":"black-forest-labs/FLUX.1-Kontext-dev","workloads":16},{"board":"L2","id":"031_flux_timestep_guidance_projection_embedding","name":"Flux timestep guidance projection embedding","group":"Image and video","op":"FLUX timestep + guidance embedding","direction":"forward","model":"black-forest-labs/FLUX.1-dev","workloads":16},{"board":"L2","id":"032_dual_stream_attention_with_conditional_cross_attention","name":"Dual stream attention with conditional cross attention","group":"Image and video","op":"FIBO dual-stream attention block","direction":"forward","model":"briaai/FIBO","workloads":16},{"board":"L2","id":"033_multi_scale_feature_pyramid","name":"Multi scale feature pyramid","group":"Image and video","op":"multi-scale feature pyramid (U-Net)","direction":"forward","model":"chuxiaojie/NAFNet","workloads":16},{"board":"L2","id":"034_vision_language_cross_attention_fusion","name":"Vision language cross attention fusion","group":"Attention","op":"language-to-vision cross-attention with 1D / 3D RoPE","direction":"forward","model":"cybermotaz/Qwen3-VL-32B-Instruct-NVFP4","workloads":16},{"board":"L2","id":"035_convnextv2_block_with_grn","name":"ConvNeXtV2 block with GRN","group":"Image and video","op":"ConvNeXtV2 block with GRN","direction":"forward","model":"facebook/convnextv2-base-22k-224","workloads":16},{"board":"L2","id":"036_convnextv2_layer_with_nhwc_persistence_backward","name":"ConvNeXtV2 layer with NHWC persistence backward","group":"Backward pass","op":"ConvNeXtV2 layer backward","direction":"backward","model":"facebook/convnextv2-base-22k-224","workloads":14},{"board":"L2","id":"037_qk_norm_rope_attention_core_backward","name":"QK norm RoPE attention core backward","group":"Backward pass","op":"QK-norm RoPE attention core backward","direction":"backward","model":"google/gemma-3-4b-it","workloads":16},{"board":"L2","id":"038_audio_relative_position_attention","name":"Audio relative position attention","group":"Audio","op":"Gemma3n audio relative-position attention","direction":"forward","model":"google/gemma-3n-E2B","workloads":14},{"board":"L2","id":"039_kv_shared_attention_with_rope","name":"KV shared attention with RoPE","group":"Attention","op":"Gemma3n KV-shared attention with RoPE","direction":"forward","model":"google/gemma-3n-E2B","workloads":16},{"board":"L2","id":"040_altup_predict_correction_cycle_backward","name":"AltUp predict correction cycle backward","group":"Backward pass","op":"AltUp predict / correct backward","direction":"backward","model":"google/gemma-3n-E4B","workloads":16},{"board":"L2","id":"041_kv_shared_attention_with_dual_rope","name":"KV shared attention with dual RoPE","group":"Attention","op":"Gemma3n KV-shared attention with dual RoPE","direction":"forward","model":"google/gemma-3n-E4B","workloads":16},{"board":"L2","id":"042_ffn_gelu_projection_fused_backward","name":"FFN GELU projection fused backward","group":"Backward pass","op":"FFN GELU projection backward","direction":"backward","model":"hexgrad/Kokoro-82M","workloads":16},{"board":"L2","id":"043_mamba_chunk_scan_with_segsum","name":"Mamba chunk scan with segsum","group":"State space and conv","op":"Mamba2 chunk scan with segsum","direction":"forward","model":"ibm-granite/granite-4.0-1b","workloads":16},{"board":"L2","id":"044_mamba_discretization_and_segsum","name":"Mamba discretization and segsum","group":"State space and conv","op":"Mamba SSM discretisation + segsum","direction":"forward","model":"ibm-granite/granite-4.0-micro","workloads":16},{"board":"L2","id":"045_audio_encoder_to_language_model_multimodal_fusion","name":"Audio encoder to language model multimodal fusion","group":"Audio","op":"speech encoder + Q-Former + scatter into LM embeddings","direction":"forward","model":"ibm-granite/granite-speech-3.3-8b","workloads":16},{"board":"L2","id":"046_conformer_relative_position_attention","name":"Conformer relative position attention","group":"Audio","op":"Conformer relative-position attention","direction":"forward","model":"ibm-granite/granite-speech-3.3-8b","workloads":16},{"board":"L2","id":"047_moe_training_token_repeat_and_expert_computation","name":"MoE training token repeat and expert computation","group":"MLP and MoE","op":"MoE training forward: token repeat + masked expert SwiGLU","direction":"forward","model":"inclusionAI/Ling-1T","workloads":16},{"board":"L2","id":"048_moe_expert_inference_batched_dispatch","name":"MoE expert inference batched dispatch","group":"MLP and MoE","op":"MoE experts inference dispatch (sorted by expert)","direction":"forward","model":"inclusionAI/Ling-flash-2.0","workloads":16},{"board":"L2","id":"049_group_limited_topk_routing","name":"Group limited topk routing","group":"MLP and MoE","op":"group-limited top-k routing: router GEMM, sigmoid + bias, 8 groups / top-4 / top-8","direction":"forward","model":"inclusionAI/Ring-flash-2.0","workloads":16},{"board":"L2","id":"050_vae_decoder_mid_block_attention_resnet","name":"VAE decoder mid block attention ResNet","group":"Image and video","op":"VAE decoder mid-block (ResNet + attention)","direction":"forward","model":"kaiyuyue/FLUX.2-dev-vae","workloads":11},{"board":"L2","id":"051_seqlen-finetuned-reconstructed_hyena_complete_forward_block","name":"Seqlen-finetuned-reconstructed Hyena complete forward block","group":"State space and conv","op":"Hyena block forward","direction":"forward","model":"magicslabnu/Hyena-small-32k","workloads":16},{"board":"L2","id":"052_seqlen-finetuned-reconstructed_hyena_gating_and_output_projection","name":"Seqlen-finetuned-reconstructed Hyena gating and output projection","group":"State space and conv","op":"Hyena gating + FFT conv + output projection","direction":"forward","model":"magicslabnu/Hyena-small-32k","workloads":16},{"board":"L2","id":"053_text_decoder_layer_with_self_attention_and_mlp","name":"Text decoder layer with self attention and MLP","group":"Full decoder layers","op":"Mllama text decoder layer: RMSNorm, GQA + RoPE, SwiGLU MLP, residuals","direction":"forward","model":"meta-llama/Llama-3.2-11B-Vision","workloads":16},{"board":"L2","id":"054_vision_encoder_layer_with_gated_residuals","name":"Vision encoder layer with gated residuals","group":"Image and video","op":"vision encoder layer with tanh-gated residuals","direction":"forward","model":"meta-llama/Llama-3.2-11B-Vision","workloads":16},{"board":"L2","id":"055_audio_encoder_conv_positional_layer_stack","name":"Audio encoder conv positional layer stack","group":"Audio","op":"audio conv stem + first encoder layer","direction":"forward","model":"mistralai/Voxtral-Small-24B-2507","workloads":15},{"board":"L2","id":"056_language_model_decoder_prenorm_attention_ffn_residual_backward","name":"Language model decoder prenorm attention FFN residual backward","group":"Backward pass","op":"decoder layer backward","direction":"backward","model":"mistralai/Voxtral-Small-24B-2507","workloads":16},{"board":"L2","id":"057_residual_coupling_flow_block","name":"Residual coupling flow block","group":"Audio","op":"normalising-flow residual coupling block (TTS)","direction":"forward","model":"myshell-ai/OpenVoice","workloads":16},{"board":"L2","id":"058_mamba2_selective_scan","name":"Mamba2 selective scan","group":"State space and conv","op":"Mamba2 selective scan with conv + gated norm","direction":"forward","model":"nvidia/Nemotron-H-47B-Base-8K","workloads":16},{"board":"L2","id":"059_decoder_layer_full_block","name":"Decoder layer full block","group":"Full decoder layers","op":"Qwen3 decoder layer: RMSNorm, QKV + QK-norm, RoPE, GQA, o_proj, SwiGLU MLP","direction":"forward","model":"nvidia/Qwen3-14B-NVFP4","workloads":16},{"board":"L2","id":"060_chunk_gated_delta_rule_linear_attention","name":"Chunk gated delta rule linear attention","group":"Attention","op":"chunked gated delta-rule linear attention","direction":"forward","model":"nvidia/Qwen3-Next-80B-A3B-Thinking-NVFP4","workloads":16},{"board":"L2","id":"061_sparse_moe_routing_and_experts","name":"Sparse MoE routing and experts","group":"MLP and MoE","op":"MoE block: softmax router top-10 + experts + sigmoid-gated shared expert","direction":"forward","model":"nvidia/Qwen3-Next-80B-A3B-Thinking-NVFP4","workloads":16},{"board":"L2","id":"062_decoder_complete_layer","name":"Decoder complete layer","group":"Audio","op":"speech decoder layer: self-attn + cross-attn + MLP","direction":"forward","model":"nvidia/canary-qwen-2.5b","workloads":16},{"board":"L2","id":"063_encoder_layer_dual_residual_norm_chain","name":"Encoder layer dual residual norm chain","group":"Audio","op":"speech encoder layer (dual residual-norm chain)","direction":"forward","model":"nvidia/parakeet-tdt-0.6b-v3","workloads":16},{"board":"L2","id":"064_multi_head_qkv_projection_with_rope_backward","name":"Multi head QKV projection with RoPE backward","group":"Backward pass","op":"QKV projection with RoPE backward","direction":"backward","model":"nvidia/parakeet-tdt-0.6b-v3","workloads":16},{"board":"L2","id":"065_sparse_expert_dispatch_and_combine","name":"Sparse expert dispatch and combine","group":"MLP and MoE","op":"gpt-oss sparse experts: gate_up + clamped SwiGLU + down + index_add","direction":"forward","model":"openai/gpt-oss-120b","workloads":16},{"board":"L2","id":"066_resnet_block_with_time_embedding","name":"ResNet block with time embedding","group":"Image and video","op":"SD ResNet block with time embedding","direction":"forward","model":"runwayml/stable-diffusion-v1-5","workloads":16},{"board":"L2","id":"067_patch_embed_to_joint_attention_input","name":"Patch embed to joint attention input","group":"Image and video","op":"SD3.5 patch embed + time / text conditioning","direction":"forward","model":"stabilityai/stable-diffusion-3.5-large","workloads":16},{"board":"L2","id":"068_gelu_approximate_feedforward_backward","name":"GELU approximate feedforward backward","group":"Backward pass","op":"GELU feed-forward backward","direction":"backward","model":"stabilityai/stable-diffusion-3.5-medium","workloads":16},{"board":"L2","id":"069_joint_transformer_block_residual_path","name":"Joint transformer block residual path","group":"Image and video","op":"SD3.5 joint transformer block residual path","direction":"forward","model":"stabilityai/stable-diffusion-3.5-medium","workloads":16},{"board":"L2","id":"070_basic_transformer_block","name":"Basic transformer block","group":"Image and video","op":"SDXL basic transformer block","direction":"forward","model":"stabilityai/stable-diffusion-xl-refiner-1.0","workloads":16},{"board":"L2","id":"071_edit_consistency_loss_with_perceptual_weighting","name":"Edit consistency loss with perceptual weighting","group":"Image and video","op":"edit-consistency perceptual loss","direction":"forward","model":"stepfun-ai/Step1X-Edit-v1p2","workloads":16},{"board":"L2","id":"072_region_aware_self_attention_with_edit_bias_backward","name":"Region aware self attention with edit bias backward","group":"Backward pass","op":"region-aware self-attention backward","direction":"backward","model":"stepfun-ai/Step1X-Edit-v1p2","workloads":16},{"board":"L2","id":"073_feedforward_mlp_backward","name":"Feedforward MLP backward","group":"Backward pass","op":"feed-forward MLP backward","direction":"backward","model":"stepfun-ai/Step1X-Edit","workloads":16},{"board":"L2","id":"074_sam_hq_mask_decoder_iou_hypernetwork_fusion_backward","name":"SAM hq mask decoder IoU hypernetwork fusion backward","group":"Backward pass","op":"SAM-HQ hypernetwork backward","direction":"backward","model":"syscv-community/sam-hq-vit-base","workloads":16},{"board":"L2","id":"075_sam_hq_mask_decoder_two_way_transformer","name":"SAM hq mask decoder two way transformer","group":"Image and video","op":"SAM-HQ two-way transformer block","direction":"forward","model":"syscv-community/sam-hq-vit-base","workloads":16},{"board":"L2","id":"076_sam_hq_vision_attention_with_relative_position_backward","name":"SAM hq vision attention with relative position backward","group":"Backward pass","op":"SAM-HQ relative-position attention backward","direction":"backward","model":"syscv-community/sam-hq-vit-base","workloads":16},{"board":"L2","id":"077_sam_hq_vision_encoder_window_partition_attention","name":"SAM hq vision encoder window partition attention","group":"Image and video","op":"SAM-HQ windowed attention block","direction":"forward","model":"syscv-community/sam-hq-vit-base","workloads":16},{"board":"L2","id":"078_fused_final_layer_upsample_with_adaptive_norm","name":"Fused final layer upsample with adaptive norm","group":"Image and video","op":"HunyuanImage final layer upsample + adaptive norm","direction":"forward","model":"tencent/HunyuanImage-3.0","workloads":16},{"board":"L2","id":"079_git_vision_encoder_layer","name":"Git vision encoder layer","group":"Image and video","op":"ViT encoder layer (MaskGIT)","direction":"forward","model":"valhalla/maskgit-imagenet-soft-code-34k","workloads":16},{"board":"L2","id":"080_moe_complete_layer_with_shared_expert_backward","name":"MoE complete layer with shared expert backward","group":"Backward pass","op":"MoE layer with shared expert backward","direction":"backward","model":"zai-org/GLM-4.5-Air","workloads":16},{"board":"L2","id":"081_moe_sparse_expert_dispatch","name":"MoE sparse expert dispatch","group":"MLP and MoE","op":"MoE block: sigmoid router + top-8 + experts + shared expert","direction":"forward","model":"zai-org/GLM-4.5-Air","workloads":16},{"board":"L2","id":"082_moe_layer_complete_forward_with_residual","name":"MoE layer complete forward with residual","group":"MLP and MoE","op":"full MoE layer: sigmoid + bias router, group top-8, 160 experts, shared expert, residual","direction":"forward","model":"zai-org/GLM-4.7","workloads":16},{"board":"Quant","id":"001_fp8_attention_output_projection","name":"FP8 attention output projection","group":"Projections and GEMM","op":"FP8 o_proj GEMM + bias (60x128 -> 7680)","direction":"forward","model":"Qwen/Qwen3-VL-30B-A3B-Instruct-FP8","workloads":16},{"board":"Quant","id":"002_fp8_attention_qkv_projection","name":"FP8 attention QKV projection","group":"Projections and GEMM","op":"FP8 QKV projection (bias) + QK-RMSNorm","direction":"forward","model":"Qwen/Qwen3-VL-30B-A3B-Instruct-FP8","workloads":16},{"board":"Quant","id":"003_fp8_mlp_gate_up_projection","name":"FP8 MLP gate up projection","group":"MLP and MoE","op":"FP8 gate+up GEMMs + SiLU gating (pre-quantized inputs)","direction":"forward","model":"Qwen/Qwen3-VL-30B-A3B-Instruct-FP8","workloads":16},{"board":"Quant","id":"004_fp8_moe_expert_linear","name":"FP8 MoE expert linear","group":"MLP and MoE","op":"FP8 single-expert MLP: gate_up + SiLU + down, x routing weight","direction":"forward","model":"Qwen/Qwen3-VL-30B-A3B-Instruct-FP8","workloads":16},{"board":"Quant","id":"005_fp8_moe_router_projection","name":"FP8 MoE router projection","group":"MLP and MoE","op":"FP8 MoE router GEMM (experts padded to 128)","direction":"forward","model":"Qwen/Qwen3-VL-30B-A3B-Instruct-FP8","workloads":16},{"board":"Quant","id":"006_fp8_vision_attention_output_projection","name":"FP8 vision attention output projection","group":"Image and video","op":"FP8 vision o_proj GEMM (scales given)","direction":"forward","model":"Qwen/Qwen3-VL-30B-A3B-Instruct-FP8","workloads":16},{"board":"Quant","id":"007_fp8_vision_attention_qkv_projection","name":"FP8 vision attention QKV projection","group":"Image and video","op":"FP8 vision QKV projection + bias","direction":"forward","model":"Qwen/Qwen3-VL-30B-A3B-Instruct-FP8","workloads":16},{"board":"Quant","id":"008_nvfp4_multimodal_embedding_projection","name":"NVFP4 multimodal embedding projection","group":"Image and video","op":"NVFP4 vision projection + merge into text embeddings","direction":"forward","model":"cybermotaz/Qwen3-VL-32B-Instruct-NVFP4","workloads":16},{"board":"Quant","id":"009_nvfp4_vision_temporal_patch_merge_with_projection","name":"NVFP4 vision temporal patch merge with projection","group":"Image and video","op":"NVFP4 temporal patch merge + projection","direction":"forward","model":"cybermotaz/Qwen3-VL-32B-Instruct-NVFP4","workloads":16},{"board":"Quant","id":"010_fp8_attention_output_projection","name":"FP8 attention output projection","group":"Projections and GEMM","op":"FP8 o_proj GEMM (16384 -> 7168)","direction":"forward","model":"deepseek-ai/DeepSeek-R1-0528","workloads":16},{"board":"Quant","id":"011_fp8_moe_gate_routing","name":"FP8 MoE gate routing","group":"MLP and MoE","op":"FP8 router GEMM + sigmoid + bias + group top-k (8 groups / top-4 / top-8)","direction":"forward","model":"deepseek-ai/DeepSeek-R1-0528","workloads":16},{"board":"Quant","id":"012_fp8_shared_expert_mlp","name":"FP8 shared expert MLP","group":"MLP and MoE","op":"FP8 shared-expert SwiGLU MLP","direction":"forward","model":"deepseek-ai/DeepSeek-R1-0528","workloads":16},{"board":"Quant","id":"013_fp8_mla_kv_compression_projection","name":"FP8 MLA KV compression projection","group":"Projections and GEMM","op":"FP8 MLA KV path: kv_a GEMM -> RMSNorm -> kv_b GEMM","direction":"forward","model":"deepseek-ai/DeepSeek-V3.1-Terminus","workloads":16},{"board":"Quant","id":"014_fp8_yarn_rope_embedding","name":"FP8 YaRN RoPE embedding","group":"Attention","op":"YaRN RoPE cos/sin table (DeepSeek)","direction":"forward","model":"deepseek-ai/DeepSeek-V3.1-Terminus","workloads":16},{"board":"Quant","id":"015_fp8_mla_attention_output_projection","name":"FP8 MLA attention output projection","group":"Projections and GEMM","op":"FP8 MLA o_proj GEMM (pre-quantized act + weight)","direction":"forward","model":"deepseek-ai/DeepSeek-V3","workloads":16},{"board":"Quant","id":"016_fp8_multi_latent_attention_qkv_projection","name":"FP8 multi latent attention QKV projection","group":"Projections and GEMM","op":"FP8 MLA Q and KV projections with both latent RMSNorms","direction":"forward","model":"deepseek-ai/DeepSeek-V3","workloads":16},{"board":"Quant","id":"017_fp8_shared_expert_mlp","name":"FP8 shared expert MLP","group":"MLP and MoE","op":"FP8 shared-expert SwiGLU MLP (weight scales given)","direction":"forward","model":"deepseek-ai/DeepSeek-V3","workloads":16},{"board":"Quant","id":"018_nvfp4_attention_output_projection_with_residual","name":"NVFP4 attention output projection with residual","group":"Projections and GEMM","op":"NVFP4 o_proj GEMM + residual","direction":"forward","model":"mratsim/Nova-70B-NVFP4","workloads":16},{"board":"Quant","id":"019_nvfp4_grouped_query_attention","name":"NVFP4 grouped query attention","group":"Attention","op":"NVFP4 GQA attention block: QKV, RoPE, attention, o_proj","direction":"forward","model":"mratsim/Nova-70B-NVFP4","workloads":16},{"board":"Quant","id":"020_nvfp4_linear_layer","name":"NVFP4 linear layer","group":"Projections and GEMM","op":"NVFP4 linear (8192 x 8192)","direction":"forward","model":"mratsim/Nova-70B-NVFP4","workloads":16},{"board":"Quant","id":"021_fp8_mamba2_in_projection","name":"FP8 Mamba2 in projection","group":"State space and conv","op":"FP8 Mamba2 in-projection GEMM","direction":"forward","model":"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8","workloads":16},{"board":"Quant","id":"022_fp8_mamba2_out_projection","name":"FP8 Mamba2 out projection","group":"State space and conv","op":"FP8 Mamba2 out-projection GEMM (pre-quantized)","direction":"forward","model":"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8","workloads":16},{"board":"Quant","id":"023_fp8_mamba2_ssm_discretization","name":"FP8 Mamba2 SSM discretization","group":"State space and conv","op":"FP8 Mamba2 SSM discretisation","direction":"forward","model":"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8","workloads":6},{"board":"Quant","id":"024_nvfp4_attention_output_projection","name":"NVFP4 attention output projection","group":"Projections and GEMM","op":"NVFP4 o_proj GEMM (FP32 input)","direction":"forward","model":"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-NVFP4","workloads":16},{"board":"Quant","id":"025_nvfp4_attention_qkv_projection","name":"NVFP4 attention QKV projection","group":"Projections and GEMM","op":"NVFP4 Q, K, V projections (FP32 input)","direction":"forward","model":"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-NVFP4","workloads":16},{"board":"Quant","id":"026_nvfp4_mamba2_out_projection","name":"NVFP4 Mamba2 out projection","group":"State space and conv","op":"NVFP4 Mamba2 out-projection (FP4 act + weight)","direction":"forward","model":"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-NVFP4","workloads":16},{"board":"Quant","id":"027_nvfp4_moe_router_projection","name":"NVFP4 MoE router projection","group":"MLP and MoE","op":"NVFP4 MoE router GEMM + sigmoid + bias + top-6","direction":"forward","model":"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-NVFP4","workloads":16},{"board":"Quant","id":"028_nvfp4_attention_qkv_projection_with_rope","name":"NVFP4 attention QKV projection with RoPE","group":"Projections and GEMM","op":"NVFP4 QKV projection + QK-RMSNorm + RoPE","direction":"forward","model":"nvidia/Qwen3-8B-NVFP4","workloads":16},{"board":"Quant","id":"029_nvfp4_fused_mlp_silu_gating","name":"NVFP4 fused MLP SiLU gating","group":"MLP and MoE","op":"NVFP4 SwiGLU MLP (gate, up, down)","direction":"forward","model":"nvidia/Qwen3-8B-NVFP4","workloads":16},{"board":"Quant","id":"030_nvfp4_fused_decoder_layer_pre_norm_attention","name":"NVFP4 fused decoder layer pre norm attention","group":"Attention","op":"NVFP4 decoder pre-norm + full attention block","direction":"forward","model":"nvidia/Qwen3-14B-NVFP4","workloads":16},{"board":"Quant","id":"031_nvfp4_grouped_query_attention_with_kv_repeat","name":"NVFP4 grouped query attention with KV repeat","group":"Attention","op":"NVFP4-quantized attention core (FP4 QK^T and PV)","direction":"forward","model":"nvidia/Qwen3-14B-NVFP4","workloads":16},{"board":"Quant","id":"032_nvfp4_moe_expert_linear_with_gating","name":"NVFP4 MoE expert linear with gating","group":"MLP and MoE","op":"NVFP4 SwiGLU MLP (one expert-sized MLP, 2048 -> 5120)","direction":"forward","model":"nvidia/Qwen3-Next-80B-A3B-Thinking-NVFP4","workloads":16},{"board":"Quant","id":"033_nvfp4_moe_routing_with_topk_selection","name":"NVFP4 MoE routing with topk selection","group":"MLP and MoE","op":"NVFP4 router GEMM + softmax + top-10","direction":"forward","model":"nvidia/Qwen3-Next-80B-A3B-Thinking-NVFP4","workloads":16},{"board":"FlashInfer","id":"001_fused_add_rmsnorm_h2048","name":"Fused add RMSNorm h2048","group":"Normalization","op":"fused add + RMSNorm","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b","workloads":7},{"board":"FlashInfer","id":"002_fused_add_rmsnorm_h4096","name":"Fused add RMSNorm h4096","group":"Normalization","op":"fused add + RMSNorm","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b","workloads":14},{"board":"FlashInfer","id":"003_fused_add_rmsnorm_h7168","name":"Fused add RMSNorm h7168","group":"Normalization","op":"fused add + RMSNorm","direction":"forward","model":"flashinfer-trace tag: deepseek-v3, deepseek-r1","workloads":8},{"board":"FlashInfer","id":"004_gemm_n128_k2048","name":"GEMM n128 k2048","group":"Projections and GEMM","op":"dense GEMM C = A @ B^T (fp16)","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b (Qwen 3 30B A3B moe.gate)","workloads":25},{"board":"FlashInfer","id":"005_gemm_n256_k7168","name":"GEMM n256 k7168","group":"Projections and GEMM","op":"dense GEMM C = A @ B^T (fp16)","direction":"forward","model":"flashinfer-trace tag: deepseek-v3, deepseek-r1 (DeepSeek-V3 moe.gate)","workloads":17},{"board":"FlashInfer","id":"006_gemm_n2048_k4096","name":"GEMM n2048 k4096","group":"Projections and GEMM","op":"dense GEMM C = A @ B^T (fp16)","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b (Qwen 3 30B A3B attn.o_proj)","workloads":29},{"board":"FlashInfer","id":"007_gemm_n4096_k4096","name":"GEMM n4096 k4096","group":"Projections and GEMM","op":"dense GEMM C = A @ B^T (fp16)","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b (Llama 3.1 8B attn.o_proj)","workloads":43},{"board":"FlashInfer","id":"008_gemm_n4096_k14336","name":"GEMM n4096 k14336","group":"Projections and GEMM","op":"dense GEMM C = A @ B^T (fp16)","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b (Llama 3.1 8B mlp.down_proj)","workloads":43},{"board":"FlashInfer","id":"009_gemm_n5120_k2048","name":"GEMM n5120 k2048","group":"Projections and GEMM","op":"dense GEMM C = A @ B^T (fp16)","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b (Qwen 3 30B A3B attn.qkv_proj)","workloads":25},{"board":"FlashInfer","id":"010_gemm_n6144_k4096","name":"GEMM n6144 k4096","group":"Projections and GEMM","op":"dense GEMM C = A @ B^T (fp16)","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b (Llama 3.1 8B attn.qkv_proj)","workloads":43},{"board":"FlashInfer","id":"011_gemm_n28672_k4096","name":"GEMM n28672 k4096","group":"Projections and GEMM","op":"dense GEMM C = A @ B^T (fp16)","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b (Llama 3.1 8B mlp.gate_up_proj)","workloads":43},{"board":"FlashInfer","id":"012_gqa_paged_decode_h32_kv4_d128_ps1","name":"GQA paged decode h32 kv4 d128 ps1","group":"Attention","op":"GQA paged decode attention (page size 1)","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b (Qwen3-30B-A3B)","workloads":48},{"board":"FlashInfer","id":"013_gqa_paged_decode_h32_kv8_d128_ps1","name":"GQA paged decode h32 kv8 d128 ps1","group":"Attention","op":"GQA paged decode attention (page size 1)","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b (Llama-3.1-8B)","workloads":48},{"board":"FlashInfer","id":"014_gqa_paged_prefill_causal_h32_kv4_d128_ps1","name":"GQA paged prefill causal h32 kv4 d128 ps1","group":"Attention","op":"GQA paged prefill attention, causal (page size 1)","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b (Qwen3-30B-A3B during incremental prefill)","workloads":30},{"board":"FlashInfer","id":"015_gqa_paged_prefill_causal_h32_kv8_d128_ps1","name":"GQA paged prefill causal h32 kv8 d128 ps1","group":"Attention","op":"GQA paged prefill attention, causal (page size 1)","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b (Llama-3.1-8B during incremental prefill)","workloads":38},{"board":"FlashInfer","id":"016_gqa_ragged_prefill_causal_h32_kv4_d128","name":"GQA ragged prefill causal h32 kv4 d128","group":"Attention","op":"GQA ragged prefill attention, causal","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b (Qwen3-30B-A3B during total prefill)","workloads":15},{"board":"FlashInfer","id":"017_gqa_ragged_prefill_causal_h32_kv8_d128","name":"GQA ragged prefill causal h32 kv8 d128","group":"Attention","op":"GQA ragged prefill attention, causal","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b (Llama-3.1-8B during total prefill)","workloads":21},{"board":"FlashInfer","id":"018_mla_paged_decode_h16_ckv512_kpe64_ps1","name":"MLA paged decode h16 ckv512 kpe64 ps1","group":"Attention","op":"MLA paged decode attention (absorbed, ckv 512 + kpe 64, page size 1)","direction":"forward","model":"flashinfer-trace tag: deepseek-v3, deepseek-r1 (DeepSeek-V3 with tensor parallel size 8)","workloads":47},{"board":"FlashInfer","id":"019_mla_paged_prefill_causal_h16_ckv512_kpe64_ps1","name":"MLA paged prefill causal h16 ckv512 kpe64 ps1","group":"Attention","op":"MLA paged prefill attention, causal (absorbed)","direction":"forward","model":"flashinfer-trace tag: deepseek-v3, deepseek-r1 (DeepSeek-V3 during incremental prefill with tensor parallel size 8)","workloads":38},{"board":"FlashInfer","id":"020_moe_fp8_block_scale_ds_routing_topk8_ng8_kg4_e32_h7168_i2048","name":"MoE FP8 block scale ds routing topk8 ng8 kg4 e32 h7168 i2048","group":"MLP and MoE","op":"FP8 block-scale MoE: DeepSeek routing + 2 grouped GEMMs (32 local experts)","direction":"forward","model":"flashinfer-trace tag: deepseek-v3, deepseek-r1","workloads":19},{"board":"FlashInfer","id":"021_rmsnorm_h128","name":"RMSNorm h128","group":"Normalization","op":"RMSNorm","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b (Qwen3-30B-A3B. Epsilon is fixed at 1e-6)","workloads":14},{"board":"FlashInfer","id":"022_rmsnorm_h512","name":"RMSNorm h512","group":"Normalization","op":"RMSNorm","direction":"forward","model":"flashinfer-trace tag: deepseek-v3, deepseek-r1 (DeepSeek-V3/R1. Epsilon is fixed at 1e-6)","workloads":8},{"board":"FlashInfer","id":"023_rmsnorm_h1536","name":"RMSNorm h1536","group":"Normalization","op":"RMSNorm","direction":"forward","model":"flashinfer-trace tag: deepseek-v3, deepseek-r1 (DeepSeek-V3/R1. Epsilon is fixed at 1e-6)","workloads":8},{"board":"FlashInfer","id":"024_rmsnorm_h2048","name":"RMSNorm h2048","group":"Normalization","op":"RMSNorm","direction":"forward","model":"flashinfer-trace tag: qwen3-30b-a3b (Qwen3-30B-A3B. Epsilon is fixed at 1e-6)","workloads":7},{"board":"FlashInfer","id":"025_rmsnorm_h4096","name":"RMSNorm h4096","group":"Normalization","op":"RMSNorm","direction":"forward","model":"flashinfer-trace tag: llama-3.1-8b (Llama-3.1-8B. Epsilon is fixed at 1e-5)","workloads":14},{"board":"FlashInfer","id":"026_rmsnorm_h7168","name":"RMSNorm h7168","group":"Normalization","op":"RMSNorm","direction":"forward","model":"flashinfer-trace tag: deepseek-v3, deepseek-r1 (DeepSeek-V3/R1. Epsilon is fixed at 1e-6)","workloads":8}]}
</script>
<script>
(function () {
"use strict";
const DATA = JSON.parse(document.getElementById("data").textContent).problems;
const BOARDS = [
{ key: "L1", label: "L1", desc: "single ops", v: "--l1" },
{ key: "L2", label: "L2", desc: "fused blocks", v: "--l2" },
{ key: "Quant", label: "Quant", desc: "low precision", v: "--quant" },
{ key: "FlashInfer", label: "FlashInfer", desc: "serving ops", v: "--fi" },
];
const BY = Object.fromEntries(BOARDS.map(b => [b.key, b]));
const nOf = f => DATA.filter(f).length;
const GROUPS = [...new Set(DATA.map(p => p.group))].sort((a, b) => nOf(p => p.group === b) - nOf(p => p.group === a));
const state = { board: null, group: null, q: "" };
const $ = id => document.getElementById(id);
const esc = s => String(s).replace(/[&<>"]/g, c => ({ "&": "&", "<": "<", ">": ">", '"': """ }[c]));
const reduced = () => window.matchMedia && matchMedia("(prefers-reduced-motion: reduce)").matches;
/* theme: system preference first, then the reader's choice */
const root = document.documentElement;
let stored = null; try { stored = localStorage.getItem("ck-theme"); } catch (e) {}
setTheme(stored || (window.matchMedia && matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"), false);
function setTheme(t, save) {
root.dataset.theme = t;
$("theme").setAttribute("aria-label", t === "dark" ? "Switch to light mode" : "Switch to dark mode");
if (save) { try { localStorage.setItem("ck-theme", t); } catch (e) {} }
}
$("theme").addEventListener("click", () => setTheme(root.dataset.theme === "dark" ? "light" : "dark", true));
/* leaderboard buttons */
const boardsEl = $("boards");
mkBoardBtn(null, "All problems", DATA.length, "--ink");
BOARDS.forEach(b => mkBoardBtn(b.key, b.label + ": " + b.desc, nOf(p => p.board === b.key), b.v));
function mkBoardBtn(key, label, n, v) {
const btn = document.createElement("button");
btn.type = "button"; btn.dataset.board = key || "";
btn.style.setProperty("--c", "var(" + v + ")");
btn.innerHTML = '<span class="n">' + n + '</span><span class="t">' + (key ? '<span class="sw" aria-hidden="true"></span>' : "") + label + "</span>";
btn.addEventListener("click", () => { state.board = key; update(); });
boardsEl.appendChild(btn);
}
$("legend").innerHTML = BOARDS.map(b => '<span><i style="background:var(' + b.v + ')"></i>' + b.label + "</span>").join("") +
'<span><i class="hollow"></i>Kernel on the way</span><span><i class="solid"></i>Matches your filter</span>';
/* floorplan */
const plan = $("plan"), cells = [], grps = [];
BOARDS.forEach(b => {
{
const k = b.key, probs = DATA.filter(p => p.board === k);
const box = document.createElement("div"); box.className = "bbox"; box.style.setProperty("--c", "var(" + b.v + ")");
box.innerHTML = "<h3>" + b.label + "<span>" + probs.length + " problems</span></h3>";
const wrap = document.createElement("div"); wrap.className = "groups"; box.appendChild(wrap);
GROUPS.forEach(g => {
const list = probs.filter(p => p.group === g);
if (!list.length) return;
const cols = Math.min(list.length, Math.max(3, Math.ceil(Math.sqrt(list.length) * 1.25)));
const btn = document.createElement("button");
btn.type = "button"; btn.className = "grp"; btn.setAttribute("aria-pressed", "false");
btn.setAttribute("aria-label", b.label + ", " + g + ": " + list.length + " problems. Filter the list.");
btn.innerHTML = '<span class="gl">' + esc(g) + "<b>" + list.length + "</b></span>";
const grid = document.createElement("span"); grid.className = "cells"; grid.style.setProperty("--cols", cols);
list.forEach(p => {
const c = document.createElement("span"); c.className = "cell";
c.dataset.tip = "<b>" + esc(p.name) + "</b>" + esc(b.label + ", " + g) + "<br>Kernel on the way";
grid.appendChild(c); cells.push({ c, p });
});
btn.appendChild(grid);
btn.addEventListener("click", () => {
const same = state.board === k && state.group === g;
state.board = same ? null : k; state.group = same ? null : g; update();
});
wrap.appendChild(btn); grps.push({ btn, board: k, group: g });
});
plan.appendChild(box);
}
});
/* tooltip for single squares */
const tip = $("tip");
plan.addEventListener("mousemove", e => {
const t = e.target.closest(".cell");
if (!t) { tip.style.visibility = "hidden"; return; }
tip.innerHTML = t.dataset.tip; tip.style.visibility = "visible";
const r = tip.getBoundingClientRect();
let x = e.clientX + 14, y = e.clientY + 14;
if (x + r.width > innerWidth - 8) x = e.clientX - r.width - 14;
if (y + r.height > innerHeight - 8) y = e.clientY - r.height - 14;
tip.style.transform = "translate(" + Math.max(8, x) + "px," + Math.max(8, y) + "px)";
});
plan.addEventListener("mouseleave", () => { tip.style.visibility = "hidden"; });
/* operation chips */
const chipsEl = $("chips");
[null, ...GROUPS].forEach(g => {
const c = document.createElement("button");
c.type = "button"; c.className = "chip"; c.dataset.group = g || "";
c.textContent = g ? g + " (" + nOf(p => p.group === g) + ")" : "All operations";
c.addEventListener("click", () => { state.group = g; update(); });
chipsEl.appendChild(c);
});
$("q").addEventListener("input", e => { state.q = e.target.value.trim().toLowerCase(); update(); });
$("reset").addEventListener("click", () => { state.board = state.group = null; state.q = ""; $("q").value = ""; update(); });
$("random").addEventListener("click", () => {
state.board = state.group = null; state.q = ""; $("q").value = "";
const p = DATA[Math.floor(Math.random() * DATA.length)];
update();
const el = document.querySelector('[data-id="' + CSS.escape(p.board + "/" + p.id) + '"]');
if (el) {
el.scrollIntoView({ behavior: reduced() ? "auto" : "smooth", block: "center" });
el.classList.remove("flash"); void el.offsetWidth; el.classList.add("flash");
el.focus({ preventScroll: true });
}
});
function match(p) {
if (state.board && p.board !== state.board) return false;
if (state.group && p.group !== state.group) return false;
if (state.q) {
const hay = (p.name + " " + p.id + " " + p.op + " " + p.model + " " + p.group + " " + p.board).toLowerCase();
if (!state.q.split(/\s+/).every(w => hay.includes(w))) return false;
}
return true;
}
function renderList() {
const rows = DATA.filter(match);
$("count").textContent = rows.length === DATA.length ? "Showing all " + rows.length + " problems" : "Showing " + rows.length + " of " + DATA.length + " problems";
$("list").innerHTML = rows.length ? rows.map(p => {
const num = p.id.split("_")[0];
return '<article class="prob" tabindex="-1" data-id="' + esc(p.board + "/" + p.id) + '" style="--c:var(' + BY[p.board].v + ')">' +
"<h3>" + esc(p.name) + "</h3>" +
'<p class="op">' + esc(p.op) + "</p>" +
'<div class="meta"><span class="b">' + esc(p.board) + (/^\d+$/.test(num) ? " #" + num : "") + "</span><span>" + esc(p.group) + "</span>" +
(p.workloads ? "<span>" + p.workloads + " shapes</span>" : "") + "</div>" +
'<div class="foot"><span class="model" title="' + esc("Source model: " + p.model) + '">' + esc(p.model) + '</span><span class="wait">Kernel on the way</span></div>' +
"</article>";
}).join("") : '<div class="empty">No problems match. Try a shorter search or clear the filters.</div>';
}
function update() {
const f = state.board || state.group || state.q;
[...boardsEl.children].forEach(b => b.setAttribute("aria-pressed", String((b.dataset.board || null) === state.board)));
[...chipsEl.children].forEach(c => c.setAttribute("aria-pressed", String((c.dataset.group || null) === state.group)));
grps.forEach(g => g.btn.setAttribute("aria-pressed", String(state.group === g.group && (!state.board || state.board === g.board))));
cells.forEach(({ c, p }) => { const m = match(p); c.classList.toggle("hit", !!f && m); c.classList.toggle("dim", !!f && !m); });
renderList();
}
update();
})();
</script>
</body>
</html>
|