---
id: pr-tensorrt-llm-10264
repo: NVIDIA/TensorRT-LLM
pr: 10264
title: '[TRTLLM-10022][feat] Add hopper xqa decode support for skip softmax attention'
author: pengbowang-nv
date: '2026-01-12'
url: https://github.com/NVIDIA/TensorRT-LLM/pull/10264
source_category: upstream-code
architectures:
- sm90
tags:
- arch_pipeline
- attention_kv
- hopper
- sm90
- userbuffers
techniques:
- async-copy
- pipeline-stages
hardware_features:
- hopper
- tma
kernel_types:
- attention
- decode
- runtime
- softmax
languages:
- cuda-cpp
captured_at: '2026-05-16'
status: merged
merge_sha: c0e25e54181528c8e0818e2e9bc22fe5a889b8cc
inclusion_reason: Preserve page/KV/layout and plan-run contracts; profile memory traffic separately from math utilization.
changed_paths:
- cpp/kernels/xqa/defines.h
- cpp/kernels/xqa/gmma.cuh
- cpp/kernels/xqa/mha.cu
- cpp/kernels/xqa/mha.h
- cpp/kernels/xqa/mha_sm90.cu
- cpp/kernels/xqa/mha_stdheaders.cuh
- cpp/kernels/xqa/test/refAttention.cpp
- cpp/kernels/xqa/test/refAttention.h
- cpp/kernels/xqa/test/test.cpp
- cpp/tensorrt_llm/common/attentionOp.cpp
- cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/compileEngine.cpp
- cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/decoderXQAImplJIT.cpp
- cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/kernelUtils.cpp
- cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/nvrtcWrapper/include/nvrtcWrapper.h
- cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/nvrtcWrapper/src/nvrtcWrapper.cpp
- cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplPrecompiled.cpp
artifact_dir: evidence/pull-bundles/tensorrt-llm/gh-10264
head_ref_oid: 4bb57fab6988483cba5cc8e67d8162f1578125c6
---
# [TRTLLM-10022][feat] Add hopper xqa decode support for skip softmax attention

- Repository: `NVIDIA/TensorRT-LLM`
- PR: [10264](https://github.com/NVIDIA/TensorRT-LLM/pull/10264)
- Decision: `Preserve page/KV/layout and plan-run contracts; profile memory traffic separately from math utilization.`
- Reason: Preserve page/KV/layout and plan-run contracts; profile memory traffic separately from math utilization.

## Changed Paths

- `cpp/kernels/xqa/defines.h`
- `cpp/kernels/xqa/gmma.cuh`
- `cpp/kernels/xqa/mha.cu`
- `cpp/kernels/xqa/mha.h`
- `cpp/kernels/xqa/mha_sm90.cu`
- `cpp/kernels/xqa/mha_stdheaders.cuh`
- `cpp/kernels/xqa/test/refAttention.cpp`
- `cpp/kernels/xqa/test/refAttention.h`
- `cpp/kernels/xqa/test/test.cpp`
- `cpp/tensorrt_llm/common/attentionOp.cpp`
- `cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/compileEngine.cpp`
- `cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/decoderXQAImplJIT.cpp`
- `cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/kernelUtils.cpp`
- `cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/nvrtcWrapper/include/nvrtcWrapper.h`
- `cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplJIT/nvrtcWrapper/src/nvrtcWrapper.cpp`
- `cpp/tensorrt_llm/kernels/decoderMaskedMultiheadAttention/decoderXQAImplPrecompiled.cpp`

## Evidence Bundle

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