# Grouped GEMM shapes
# Format: --grouped=<dim_idx>:<num_groups>:<sizes|profile> MxK:GxKxN
# Where:
#   dim_idx       - dimension index to group (0=M, 1=K)
#   num_groups    - number of groups (same as G)
#   sizes|profile - named profile (balanced/hot/decode) or '+'-separated
#                   explicit list of sizes
#
# Note: --reset after batching this file to avoid leaking --grouped

# Balanced routing
--grouped=0:4:balanced
32x64:4x64x32
--grouped=0:8:balanced
64x64:8x64x64

# Hot expert: one expert takes half of tokens, rest share the remainder
--grouped=0:3:hot
16x32:3x32x24
--grouped=0:4:hot
100x64:4x64x32
--grouped=0:5:hot
31x64:5x64x32

# Single group
--grouped=0:1:balanced
8x16:1x16x12

# Mixed routing strategies
--grouped=0:16:balanced,0:16:hot,0:16:hot.100
32x128:16x128x96
--grouped=0:64:hot,0:64:hot.100
512x64:64x64x32
--grouped=0:128:hot,0:128:hot.100
512x64:128x64x32

# Sparse: M <= E, so most groups empty
--grouped=0:6:hot,0:6:decode,0:6:hot.100
6x24:6x24x20
--grouped=0:32:decode,0:32:hot.100,0:32:hot
4x128:32x128x64
--grouped=0:256:balanced,0:256:hot.100,0:256:hot
255x128:256x128x64
