---
id: pr-flashinfer-3185
repo: flashinfer-ai/flashinfer
pr: 3185
title: 'feat: enable glm5 router gemm'
author: b8zhong
date: '2026-05-14'
url: https://github.com/flashinfer-ai/flashinfer/pull/3185
source_category: upstream-code
architectures:
- sm100
tags:
- TMA
- attention_kv
- benchmark
- benchmark_test
- cuda kernel
- cute dsl
- fused moe
- gemm_quant
- nvfp4
- sm120
- topk
techniques:
- async-copy
- fine-grained-quantization
- kernel-fusion
hardware_features:
- fp4
- nvfp4
- tma
kernel_types:
- attention
- gemm
- moe
languages:
- cuda-cpp
- cute-dsl
captured_at: '2026-05-16'
status: merged
merge_sha: ee31370cd4927da525e3c157d5baf6a78a091a49
inclusion_reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.
changed_paths:
- csrc/dsv3_router_gemm.cu
- flashinfer/gemm/__init__.py
- flashinfer/gemm/routergemm.py
- flashinfer/trace/templates/gemm.py
- include/flashinfer/gemm/dsv3_router_gemm.cuh
- tests/model_optimizations/test_router_gemms.py
artifact_dir: evidence/pull-bundles/flashinfer/gh-3185
head_ref_oid: 8a38f4ea7128db5d12c4844d36f16195ebc00975
---
# feat: enable glm5 router gemm

- Repository: `flashinfer-ai/flashinfer`
- PR: [3185](https://github.com/flashinfer-ai/flashinfer/pull/3185)
- Decision: `Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.`
- Reason: Inspect scale layout, accumulator type, tile/schedule choice, epilogue fusion, and partial-tile guards before deriving a candidate.

## Changed Paths

- `csrc/dsv3_router_gemm.cu`
- `flashinfer/gemm/__init__.py`
- `flashinfer/gemm/routergemm.py`
- `flashinfer/trace/templates/gemm.py`
- `include/flashinfer/gemm/dsv3_router_gemm.cuh`
- `tests/model_optimizations/test_router_gemms.py`

## Evidence Bundle

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