---
id: pr-tensorrt-llm-12456
repo: NVIDIA/TensorRT-LLM
pr: 12456
title: '[None][perf] add Dynamic SMEM block routing in MOE'
author: jiahanc
date: '2026-03-24'
url: https://github.com/NVIDIA/TensorRT-LLM/pull/12456
source_category: upstream-code
architectures:
- sm100
tags:
- benchmark_test
- moe_routing
- routing
techniques: []
hardware_features: []
kernel_types:
- moe
- norm
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: c42e86eaa9f2439657e1864e27fb601faa687d6f
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/RoutingRenormalize.cu
- cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/routingRenormalize/RoutingRenormalizeCommon.cuh
- cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/routingRenormalize/launchBlockKernel.cu
- cpp/tests/unit_tests/kernels/routing/routingRenormalizeTest.cpp
artifact_dir: evidence/pull-bundles/tensorrt-llm/gh-12456
head_ref_oid: 4dd96d8e9c92a3c1fc016a42aea5f1721a1fff3b
---
# [None][perf] add Dynamic SMEM block routing in MOE

- Repository: `NVIDIA/TensorRT-LLM`
- PR: [12456](https://github.com/NVIDIA/TensorRT-LLM/pull/12456)
- 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/RoutingRenormalize.cu`
- `cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/routingRenormalize/RoutingRenormalizeCommon.cuh`
- `cpp/tensorrt_llm/kernels/trtllmGenKernels/blockScaleMoe/routingRenormalize/launchBlockKernel.cu`
- `cpp/tests/unit_tests/kernels/routing/routingRenormalizeTest.cpp`

## Evidence Bundle

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