---
id: pr-flashinfer-3193
repo: flashinfer-ai/flashinfer
pr: 3193
title: 'perf(moe): optimize SM120 b12x MoE short decode'
author: lukealonso
date: '2026-05-07'
url: https://github.com/flashinfer-ai/flashinfer/pull/3193
source_category: upstream-code
architectures:
- sm100
tags:
- arch_pipeline
- attention_kv
- benchmark_test
- blackwell
- compiler_runtime
- cuda kernel
- cute dsl
- cutlass
- fused moe
- moe_routing
- sm120
- topk
techniques:
- kernel-fusion
- pipeline-stages
hardware_features:
- blackwell
kernel_types:
- attention
- compiler
- decode
- moe
- runtime
languages:
- cuda-cpp
- cute-dsl
captured_at: '2026-05-16'
status: merged
merge_sha: f684dd537a3609f0261f00d555321c8cbc7fc9b5
inclusion_reason: Separate routing, permutation, top-k, and expert GEMM costs; keep tail-token and expert-layout tests attached to the idea.
changed_paths:
- flashinfer/fused_moe/cute_dsl/blackwell_sm12x/moe_dispatch.py
- flashinfer/fused_moe/cute_dsl/blackwell_sm12x/moe_micro_kernel.py
artifact_dir: evidence/pull-bundles/flashinfer/gh-3193
head_ref_oid: 729e7e87c262478a914fb8a97fc15e6f7f91dd8a
---
# perf(moe): optimize SM120 b12x MoE short decode

- Repository: `flashinfer-ai/flashinfer`
- PR: [3193](https://github.com/flashinfer-ai/flashinfer/pull/3193)
- Decision: `Separate routing, permutation, top-k, and expert GEMM costs; keep tail-token and expert-layout tests attached to the idea.`
- Reason: Separate routing, permutation, top-k, and expert GEMM costs; keep tail-token and expert-layout tests attached to the idea.

## Changed Paths

- `flashinfer/fused_moe/cute_dsl/blackwell_sm12x/moe_dispatch.py`
- `flashinfer/fused_moe/cute_dsl/blackwell_sm12x/moe_micro_kernel.py`

## Evidence Bundle

`evidence/pull-bundles/flashinfer/gh-3193`
