- Compute padded_expert_offsets from real expert_offsets (ceil to 128) - Scatter x_sf into padded positions matching those offsets - Per-expert swizzle in 128-row chunks (supports >128 tokens per expert) - Pad slot_hidden/activated using same padded offsets for GEMM input - Pre-allocated buffers sized for max_tokens*top_k (not num_experts*128)