---
id: pr-tensorrt-llm-10201
repo: NVIDIA/TensorRT-LLM
pr: 10201
title: '[TRTLLM-9831][perf] Enable 2CTA with autotune for CuteDSL MoE and Grouped GEMM optimizations'
author: sherry-1001
date: '2025-12-25'
url: https://github.com/NVIDIA/TensorRT-LLM/pull/10201
source_category: upstream-code
architectures:
- sm100
tags:
- benchmark_test
- compiler_runtime
- cute dsl
- gemm_quant
- moe_routing
- scheduler_autotune
techniques:
- autotuning
- fine-grained-quantization
- kernel-fusion
- tile-scheduling
hardware_features:
- blackwell
- tmem
kernel_types:
- compiler
- gemm
- moe
- scheduler
languages:
- cuda-cpp
- cute-dsl
captured_at: '2026-05-16'
status: merged
merge_sha: 46e4af568809965d6e86c24b7c5b064eb4b035e3
inclusion_reason: Separate routing, permutation, top-k, and expert GEMM costs; keep tail-token and expert-layout tests attached to the idea.
changed_paths:
- tensorrt_llm/_torch/autotuner.py
- tensorrt_llm/_torch/custom_ops/cute_dsl_custom_ops.py
- tensorrt_llm/_torch/cute_dsl_kernels/blackwell/blockscaled_contiguous_gather_grouped_gemm_swiglu_fusion.py
- tensorrt_llm/_torch/cute_dsl_kernels/blackwell/blockscaled_contiguous_grouped_gemm.py
- tensorrt_llm/_torch/cute_dsl_kernels/blackwell/blockscaled_contiguous_grouped_gemm_finalize_fusion.py
- tensorrt_llm/_torch/cute_dsl_kernels/blackwell/blockscaled_contiguous_grouped_gemm_swiglu_fusion.py
- tensorrt_llm/_torch/modules/fused_moe/fused_moe_cute_dsl.py
- tests/integration/test_lists/test-db/l0_b200.yml
- tests/integration/test_lists/test-db/l0_dgx_b200.yml
- tests/integration/test_lists/test-db/l0_gb202.yml
- tests/integration/test_lists/test-db/l0_rtx_pro_6000.yml
- tests/scripts/cute_dsl_kernels/run_blockscaled_contiguous_grouped_gemm.py
- tests/scripts/cute_dsl_kernels/run_blockscaled_contiguous_grouped_gemm_finalize_fusion.py
- tests/unittest/_torch/modules/test_fused_moe.py
- tests/unittest/_torch/thop/parallel/test_cute_dsl_moe.py
artifact_dir: evidence/pull-bundles/tensorrt-llm/gh-10201
head_ref_oid: 724f64207487bd7d9897498929f6bf1faa87f07e
---
# [TRTLLM-9831][perf] Enable 2CTA with autotune for CuteDSL MoE and Grouped GEMM optimizations

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

- `tensorrt_llm/_torch/autotuner.py`
- `tensorrt_llm/_torch/custom_ops/cute_dsl_custom_ops.py`
- `tensorrt_llm/_torch/cute_dsl_kernels/blackwell/blockscaled_contiguous_gather_grouped_gemm_swiglu_fusion.py`
- `tensorrt_llm/_torch/cute_dsl_kernels/blackwell/blockscaled_contiguous_grouped_gemm.py`
- `tensorrt_llm/_torch/cute_dsl_kernels/blackwell/blockscaled_contiguous_grouped_gemm_finalize_fusion.py`
- `tensorrt_llm/_torch/cute_dsl_kernels/blackwell/blockscaled_contiguous_grouped_gemm_swiglu_fusion.py`
- `tensorrt_llm/_torch/modules/fused_moe/fused_moe_cute_dsl.py`
- `tests/integration/test_lists/test-db/l0_b200.yml`
- `tests/integration/test_lists/test-db/l0_dgx_b200.yml`
- `tests/integration/test_lists/test-db/l0_gb202.yml`
- `tests/integration/test_lists/test-db/l0_rtx_pro_6000.yml`
- `tests/scripts/cute_dsl_kernels/run_blockscaled_contiguous_grouped_gemm.py`
- `tests/scripts/cute_dsl_kernels/run_blockscaled_contiguous_grouped_gemm_finalize_fusion.py`
- `tests/unittest/_torch/modules/test_fused_moe.py`
- `tests/unittest/_torch/thop/parallel/test_cute_dsl_moe.py`

## Evidence Bundle

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