# MoE shapes for grouped GEMM
#
# Llama4 Scout:       hidden=5120, expert_dim=8192, E=16,  top-k=1
# Llama4 Maverick:    hidden=5120, expert_dim=8192, E=128, top-k=1
# Qwen2-57B-A14B:     hidden=3584, expert_dim=2560, E=64,  top-k=8
# Qwen3-30B-A3B:      hidden=2048, expert_dim=768,  E=128, top-k=8
# GPT-OSS-20b:        hidden=2880, expert_dim=2880, E=32,  top-k=4
#
# M = B×top-k rows distributed across E experts.
# Decode: B=1 token (sparse). Prefill: B=256.
#
# Note: --reset after batching this file to avoid leaking --grouped

# ── Llama4 Scout gate/up projection: K=5120, N=8192 (E=16 exact) ────────────
# decode  (B=1 token)
--grouped=0:16:decode
1x5120:16x5120x8192nLlama4-Scout-gate/up-proj-decode-gs128
# prefill (B=512 tokens)
--grouped=0:16:balanced
512x5120:16x5120x8192nLlama4-Scout-gate/up-proj-prefill-gs128

# ── Llama4 Scout down projection: K=8192, N=5120 ────────────────────────────
--grouped=0:16:decode
1x8192:16x8192x5120nLlama4-Scout-down-proj-decode-gs128
--grouped=0:16:balanced
512x8192:16x8192x5120nLlama4-Scout-down-proj-prefill-gs128

# ── Qwen2-57B-A14B gate/up projection: K=3584, N=2560 (E=64 exact) ──────────
# decode  (B=1 token)
--grouped=0:64:decode
8x3584:64x3584x2560nQwen2-57B-A14B-gate/up-proj-decode-gs128
# prefill (B=256 tokens)
--grouped=0:64:balanced
2048x3584:64x3584x2560nQwen2-57B-A14B-gate/up-proj-prefill-gs128

# ── Qwen2-57B-A14B down projection: K=2560, N=3584 ──────────────────────────
--grouped=0:64:decode
8x2560:64x2560x3584nQwen2-57B-A14B-down-proj-decode-gs128
--grouped=0:64:balanced
2048x2560:64x2560x3584nQwen2-57B-A14B-gate/down-proj-prefill-gs128

# ── Qwen3-30B-A3B gate/up projection: K=2048, N=768 (E=128 exact) ───────────
# decode  (B=1 token)
--grouped=0:128:decode
8x2048:128x2048x768nQwen3-30B-A3B-gate/up-proj-decode-gs128
# prefill (B=256 tokens)
--grouped=0:128:balanced
2048x2048:128x2048x768nQwen3-30B-A3B-gate/up-proj-prefill-gs128

# ── Qwen3-30B-A3B down projection: K=768, N=2048 ────────────────────────────
--grouped=0:128:decode
8x768:128x768x2048nQwen3-30B-A3B-down-proj-decode-gs128
--grouped=0:128:balanced
2048x768:128x768x2048nQwen3-30B-A3B-down-proj-prefill-gs128

# ── GPT-OSS-20b gate/up projection: K=2880, N=2880 ─────────────────────────
# decode  (B=1 token)
--grouped=0:32:decode
4x2880:32x2880x2880nGPT-OSS-20b-gate/up-proj-decode
# prefill (B=256 tokens)
--grouped=0:32:balanced
1024x2880:32x2880x2880nGPT-OSS-20b-gate/up-proj-prefill

# ── GPT-OSS-20b down projection: K=2880, N=2880 ─────────────────────────────
--grouped=0:32:decode
4x2880:32x2880x2880nGPT-OSS-20b-down-proj-decode
--grouped=0:32:balanced
1024x2880:32x2880x2880nGPT-OSS-20b-down-proj-prefill
