---
id: pr-tensorrt-llm-10043
repo: NVIDIA/TensorRT-LLM
pr: 10043
title: '[TRTLLM-9992][perf] Enable PDL for CuteDSL kernels and overlap MoeOutputMemset'
author: syuoni
date: '2025-12-20'
url: https://github.com/NVIDIA/TensorRT-LLM/pull/10043
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
- persistent-kernels
- tile-scheduling
hardware_features:
- blackwell
- pdl
- tmem
kernel_types:
- compiler
- gemm
- moe
- scheduler
languages:
- cuda-cpp
- cute-dsl
captured_at: '2026-05-16'
status: merged
merge_sha: 21a93fbf9d107e44e6a9eeef9fe108f4abc4133a
inclusion_reason: 'Treat compiler/runtime integration as part of the kernel: launch wrapper, cache/JIT behavior, generated code, and build flags need tests.'
changed_paths:
- 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/cute_dsl_kernels/blackwell/dense_blockscaled_gemm_persistent.py
- tensorrt_llm/_torch/cute_dsl_kernels/blackwell/utils.py
- tensorrt_llm/_torch/models/modeling_deepseekv3.py
- tensorrt_llm/_torch/models/modeling_glm.py
- tensorrt_llm/_torch/models/modeling_qwen3_moe.py
- tensorrt_llm/_torch/models/modeling_speculative.py
- tensorrt_llm/_torch/modules/fused_moe/configurable_moe.py
- tensorrt_llm/_torch/modules/fused_moe/fused_moe_cute_dsl.py
- tensorrt_llm/_torch/utils.py
artifact_dir: evidence/pull-bundles/tensorrt-llm/gh-10043
head_ref_oid: 8efc45172647342afce9e62fd9e40de5b253fffe
---
# [TRTLLM-9992][perf] Enable PDL for CuteDSL kernels and overlap MoeOutputMemset

- Repository: `NVIDIA/TensorRT-LLM`
- PR: [10043](https://github.com/NVIDIA/TensorRT-LLM/pull/10043)
- Decision: `Treat compiler/runtime integration as part of the kernel: launch wrapper, cache/JIT behavior, generated code, and build flags need tests.`
- Reason: Treat compiler/runtime integration as part of the kernel: launch wrapper, cache/JIT behavior, generated code, and build flags need tests.

## Changed Paths

- `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/cute_dsl_kernels/blackwell/dense_blockscaled_gemm_persistent.py`
- `tensorrt_llm/_torch/cute_dsl_kernels/blackwell/utils.py`
- `tensorrt_llm/_torch/models/modeling_deepseekv3.py`
- `tensorrt_llm/_torch/models/modeling_glm.py`
- `tensorrt_llm/_torch/models/modeling_qwen3_moe.py`
- `tensorrt_llm/_torch/models/modeling_speculative.py`
- `tensorrt_llm/_torch/modules/fused_moe/configurable_moe.py`
- `tensorrt_llm/_torch/modules/fused_moe/fused_moe_cute_dsl.py`
- `tensorrt_llm/_torch/utils.py`

## Evidence Bundle

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