---
id: pr-tensorrt-llm-11143
repo: NVIDIA/TensorRT-LLM
pr: 11143
title: '[None][feat] fuse shared to sparse experts in TRT-LLM Gen MoE'
author: nekorobov
date: '2026-02-04'
url: https://github.com/NVIDIA/TensorRT-LLM/pull/11143
source_category: upstream-code
architectures:
- sm100
tags:
- blockScaleMoe
- compiler_runtime
- gemm_quant
- moe_routing
techniques:
- fine-grained-quantization
- kernel-fusion
hardware_features:
- fp4
- fp8
- mxfp4
kernel_types:
- compiler
- gemm
- moe
languages:
- cuda-cpp
- cute-dsl
captured_at: '2026-05-16'
status: merged
merge_sha: 7c6df0e19f92c7eba91fe58d67d64e968aa909e5
inclusion_reason: Separate routing, permutation, top-k, and expert GEMM costs; keep tail-token and expert-layout tests attached to the idea.
changed_paths:
- cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/RoutingDeepSeek.cu
- cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/RoutingKernel.h
- cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/runner.cu
- cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/runner.h
- cpp/tensorrt_llm/thop/cuteDslMoeUtilsOp.cpp
- cpp/tensorrt_llm/thop/fp4BlockScaleMoe.cpp
- cpp/tensorrt_llm/thop/fp8BlockScaleMoe.cpp
- cpp/tensorrt_llm/thop/fp8PerTensorScaleMoe.cpp
- cpp/tensorrt_llm/thop/mxFp4BlockScaleMoe.cpp
- tensorrt_llm/_torch/custom_ops/trtllm_gen_custom_ops.py
- tensorrt_llm/_torch/models/modeling_deepseekv3.py
- tensorrt_llm/_torch/modules/fused_moe/fused_moe_trtllm_gen.py
- tensorrt_llm/_torch/modules/fused_moe/quantization.py
- tests/unittest/_torch/thop/serial/test_moe.py
artifact_dir: evidence/pull-bundles/tensorrt-llm/gh-11143
head_ref_oid: 22988f82f232d3eabf5dba1e06ee32b88858fe94
---
# [None][feat] fuse shared to sparse experts in TRT-LLM Gen MoE

- Repository: `NVIDIA/TensorRT-LLM`
- PR: [11143](https://github.com/NVIDIA/TensorRT-LLM/pull/11143)
- 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

- `cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/RoutingDeepSeek.cu`
- `cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/RoutingKernel.h`
- `cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/runner.cu`
- `cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/runner.h`
- `cpp/tensorrt_llm/thop/cuteDslMoeUtilsOp.cpp`
- `cpp/tensorrt_llm/thop/fp4BlockScaleMoe.cpp`
- `cpp/tensorrt_llm/thop/fp8BlockScaleMoe.cpp`
- `cpp/tensorrt_llm/thop/fp8PerTensorScaleMoe.cpp`
- `cpp/tensorrt_llm/thop/mxFp4BlockScaleMoe.cpp`
- `tensorrt_llm/_torch/custom_ops/trtllm_gen_custom_ops.py`
- `tensorrt_llm/_torch/models/modeling_deepseekv3.py`
- `tensorrt_llm/_torch/modules/fused_moe/fused_moe_trtllm_gen.py`
- `tensorrt_llm/_torch/modules/fused_moe/quantization.py`
- `tests/unittest/_torch/thop/serial/test_moe.py`

## Evidence Bundle

`evidence/pull-bundles/tensorrt-llm/gh-11143`
