---
id: pr-flashinfer-1882
repo: flashinfer-ai/flashinfer
pr: 1882
title: 'feat: Add FP4 TRTLLM-Gen throughput MOE batched gemms'
author: jiahanc
date: '2025-10-11'
url: https://github.com/flashinfer-ai/flashinfer/pull/1882
source_category: upstream-code
architectures:
- sm100
tags:
- fp4
- gemm
- kernel-fusion
- moe
techniques:
- kernel-fusion
hardware_features:
- fp4
kernel_types:
- gemm
- moe
languages:
- cuda-cpp
captured_at: '2026-04-27'
status: merged
merge_sha: 30314c3a9db23c2416a770fd35bc9a585f0e0537
inclusion_reason: kernel file changes
changed_paths:
- benchmarks/bench_trtllm_gen_fused_moe_autotuner.py
- csrc/trtllm_batched_gemm_runner.cu
- csrc/trtllm_fused_moe_kernel_launcher.cu
- flashinfer/artifacts.py
- flashinfer/fused_moe/core.py
- flashinfer/utils.py
- include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/BatchedGemmInterface.h
- include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/BatchedGemmOptions.h
- include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/Enums.h
- include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/GemmOptions.h
- include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/KernelParams.h
- include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/KernelTraits.h
- include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/trtllm/gen/CommonUtils.h
- include/flashinfer/trtllm/fused_moe/runner.h
- tests/moe/test_trtllm_gen_fused_moe.py
head_ref_oid: 0c848a7f3a05fb1319dd4fb26393a8da650eaafa
artifact_dir: evidence/pull-bundles/flashinfer/gh-1882
---
# feat: Add FP4 TRTLLM-Gen throughput MOE batched gemms

- Repository: `flashinfer-ai/flashinfer`
- PR: [1882](https://github.com/flashinfer-ai/flashinfer/pull/1882)
- Decision: `kernel file changes`
- Reason: kernel file changes

## Changed Paths

- `benchmarks/bench_trtllm_gen_fused_moe_autotuner.py`
- `csrc/trtllm_batched_gemm_runner.cu`
- `csrc/trtllm_fused_moe_kernel_launcher.cu`
- `flashinfer/artifacts.py`
- `flashinfer/fused_moe/core.py`
- `flashinfer/utils.py`
- `include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/BatchedGemmInterface.h`
- `include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/BatchedGemmOptions.h`
- `include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/Enums.h`
- `include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/GemmOptions.h`
- `include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/KernelParams.h`
- `include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/KernelTraits.h`
- `include/flashinfer/trtllm/batched_gemm/trtllmGen_bmm_export/trtllm/gen/CommonUtils.h`
- `include/flashinfer/trtllm/fused_moe/runner.h`
- `tests/moe/test_trtllm_gen_fused_moe.py`

## Evidence Bundle

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