---
id: pr-tensorrt-llm-12201
repo: NVIDIA/TensorRT-LLM
pr: 12201
title: '[None][feat] Add fused allreduce+RMSNorm op and optional residual in …'
author: lfr-0531
date: '2026-03-18'
url: https://github.com/NVIDIA/TensorRT-LLM/pull/12201
source_category: upstream-code
architectures:
- sm100
tags:
- allreduce
- memory_primitives
- moe_routing
- norm_elementwise
techniques:
- kernel-fusion
hardware_features: []
kernel_types:
- memory
- moe
- norm
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: 7b08677c0f152d71004c073ca719033b78ebd21a
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/communicationKernels/allReduceFusionKernels.cu
- cpp/tensorrt_llm/kernels/communicationKernels/allReduceFusionKernels.h
- cpp/tensorrt_llm/kernels/communicationKernels/moeAllReduceFusionKernels.cu
- cpp/tensorrt_llm/kernels/customAllReduceKernels.cu
- cpp/tensorrt_llm/kernels/customAllReduceKernels.h
- cpp/tensorrt_llm/thop/allreduceOp.cpp
- tensorrt_llm/_torch/distributed/ops.py
- tensorrt_llm/functional.py
- tests/unittest/_torch/multi_gpu/test_allreduce.py
artifact_dir: evidence/pull-bundles/tensorrt-llm/gh-12201
head_ref_oid: a89b9eb7545f91886806d81ae28378a1c7255b24
---
# [None][feat] Add fused allreduce+RMSNorm op and optional residual in …

- Repository: `NVIDIA/TensorRT-LLM`
- PR: [12201](https://github.com/NVIDIA/TensorRT-LLM/pull/12201)
- 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/communicationKernels/allReduceFusionKernels.cu`
- `cpp/tensorrt_llm/kernels/communicationKernels/allReduceFusionKernels.h`
- `cpp/tensorrt_llm/kernels/communicationKernels/moeAllReduceFusionKernels.cu`
- `cpp/tensorrt_llm/kernels/customAllReduceKernels.cu`
- `cpp/tensorrt_llm/kernels/customAllReduceKernels.h`
- `cpp/tensorrt_llm/thop/allreduceOp.cpp`
- `tensorrt_llm/_torch/distributed/ops.py`
- `tensorrt_llm/functional.py`
- `tests/unittest/_torch/multi_gpu/test_allreduce.py`

## Evidence Bundle

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