---
id: pr-vllm-32064
repo: vllm-project/vllm
pr: 32064
title: '[5/N][Attention] Finish eliminating `vllm/attention` folder'
author: MatthewBonanni
date: '2026-01-27'
url: https://github.com/vllm-project/vllm/pull/32064
source_category: upstream-code
architectures:
- sm100
tags:
- attention
- fp4
- fp8
- gemm
- kernel-fusion
- mla
- moe
- pipeline-stages
- quantization
techniques:
- kernel-fusion
- pipeline-stages
hardware_features:
- fp4
- fp8
kernel_types:
- attention
- gemm
- mla
- moe
- quantization
languages:
- python
captured_at: '2026-04-27'
status: merged
merge_sha: a608b4c6c2b9098f7500ed305f47cbe1375df5ee
inclusion_reason: kernel file changes
changed_paths:
- .buildkite/test-amd.yaml
- .buildkite/test-pipeline.yaml
- .buildkite/test_areas/kernels.yaml
- .github/CODEOWNERS
- docs/contributing/model/basic.md
- docs/design/custom_op.md
- tests/compile/test_fusion_attn.py
- tests/compile/test_qk_norm_rope_fusion.py
- tests/kernels/attention/test_attention.py
- tests/kernels/attention/test_mha_attn.py
- tests/v1/worker/test_gpu_model_runner.py
- tests/v1/worker/test_utils.py
- tools/pre_commit/mypy.py
- vllm/attention/__init__.py
- vllm/attention/utils/__init__.py
- vllm/attention/utils/kv_sharing_utils.py
- vllm/compilation/fusion_attn.py
- vllm/compilation/qk_norm_rope_fusion.py
- vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py
- vllm/model_executor/layers/attention/__init__.py
- vllm/model_executor/layers/attention/attention.py
- vllm/model_executor/layers/attention/chunked_local_attention.py
- vllm/model_executor/layers/attention/cross_attention.py
- vllm/model_executor/layers/attention/encoder_only_attention.py
- vllm/model_executor/layers/attention/kv_transfer_utils.py
- vllm/model_executor/layers/attention/mla_attention.py
- vllm/model_executor/layers/attention/static_sink_attention.py
- vllm/model_executor/layers/mla.py
- vllm/model_executor/layers/quantization/compressed_tensors/compressed_tensors.py
- vllm/model_executor/layers/quantization/fp8.py
- vllm/model_executor/layers/quantization/modelopt.py
- vllm/model_executor/layers/quantization/mxfp4.py
- vllm/model_executor/layers/quantization/petit.py
- vllm/model_executor/layers/quantization/ptpc_fp8.py
- vllm/model_executor/layers/quantization/quark/quark.py
- vllm/model_executor/model_loader/utils.py
- vllm/model_executor/models/afmoe.py
- vllm/model_executor/models/aimv2.py
- vllm/model_executor/models/apertus.py
- vllm/model_executor/models/arctic.py
- vllm/model_executor/models/baichuan.py
- vllm/model_executor/models/bailing_moe.py
- vllm/model_executor/models/bamba.py
- vllm/model_executor/models/bert.py
- vllm/model_executor/models/bert_with_rope.py
- vllm/model_executor/models/blip.py
- vllm/model_executor/models/bloom.py
- vllm/model_executor/models/chameleon.py
- vllm/model_executor/models/chatglm.py
- vllm/model_executor/models/clip.py
- vllm/model_executor/models/commandr.py
- vllm/model_executor/models/dbrx.py
- vllm/model_executor/models/deepencoder.py
- vllm/model_executor/models/deepseek_v2.py
- vllm/model_executor/models/dots1.py
- vllm/model_executor/models/dots_ocr.py
- vllm/model_executor/models/ernie45_moe.py
- vllm/model_executor/models/ernie45_vl.py
- vllm/model_executor/models/ernie45_vl_moe.py
- vllm/model_executor/models/exaone.py
- vllm/model_executor/models/exaone4.py
- vllm/model_executor/models/falcon.py
- vllm/model_executor/models/falcon_h1.py
- vllm/model_executor/models/gemma.py
- vllm/model_executor/models/gemma2.py
- vllm/model_executor/models/gemma3.py
- vllm/model_executor/models/gemma3n.py
- vllm/model_executor/models/glm4.py
- vllm/model_executor/models/glm4_1v.py
- vllm/model_executor/models/glm4_moe.py
- vllm/model_executor/models/glm4v.py
- vllm/model_executor/models/glmasr.py
- vllm/model_executor/models/gpt2.py
- vllm/model_executor/models/gpt_bigcode.py
- vllm/model_executor/models/gpt_j.py
- vllm/model_executor/models/gpt_neox.py
- vllm/model_executor/models/gpt_oss.py
- vllm/model_executor/models/granite.py
- vllm/model_executor/models/granitemoe.py
- vllm/model_executor/models/granitemoehybrid.py
- vllm/model_executor/models/grok1.py
- vllm/model_executor/models/hunyuan_v1.py
- vllm/model_executor/models/hunyuan_vision.py
- vllm/model_executor/models/idefics2_vision_model.py
- vllm/model_executor/models/intern_vit.py
- vllm/model_executor/models/internlm2.py
- vllm/model_executor/models/interns1_vit.py
- vllm/model_executor/models/iquest_loopcoder.py
- vllm/model_executor/models/isaac.py
- vllm/model_executor/models/jais.py
- vllm/model_executor/models/jais2.py
- vllm/model_executor/models/jamba.py
- vllm/model_executor/models/keye.py
- vllm/model_executor/models/lfm2.py
- vllm/model_executor/models/lfm2_moe.py
- vllm/model_executor/models/lfm2_siglip2.py
- vllm/model_executor/models/llama.py
- vllm/model_executor/models/llama4.py
- vllm/model_executor/models/mimo_v2_flash.py
- vllm/model_executor/models/minicpm.py
- vllm/model_executor/models/minicpm3.py
- vllm/model_executor/models/minimax_m2.py
- vllm/model_executor/models/minimax_text_01.py
- vllm/model_executor/models/mixtral.py
- vllm/model_executor/models/mllama4.py
- vllm/model_executor/models/modernbert.py
- vllm/model_executor/models/molmo.py
- vllm/model_executor/models/molmo2.py
- vllm/model_executor/models/moonvit.py
- vllm/model_executor/models/mpt.py
- vllm/model_executor/models/nemotron.py
- vllm/model_executor/models/nemotron_h.py
- vllm/model_executor/models/olmo.py
- vllm/model_executor/models/olmo2.py
- vllm/model_executor/models/olmoe.py
- vllm/model_executor/models/openpangu.py
- vllm/model_executor/models/opt.py
- vllm/model_executor/models/orion.py
- vllm/model_executor/models/ouro.py
- vllm/model_executor/models/paddleocr_vl.py
head_ref_oid: e00ccbc3e2ca64130dc1e0cc8293ffbf5f37e703
artifact_dir: evidence/pull-bundles/vllm/gh-32064
---
# [5/N][Attention] Finish eliminating `vllm/attention` folder

- Repository: `vllm-project/vllm`
- PR: [32064](https://github.com/vllm-project/vllm/pull/32064)
- Decision: `kernel file changes`
- Reason: kernel file changes

## Changed Paths

- `.buildkite/test-amd.yaml`
- `.buildkite/test-pipeline.yaml`
- `.buildkite/test_areas/kernels.yaml`
- `.github/CODEOWNERS`
- `docs/contributing/model/basic.md`
- `docs/design/custom_op.md`
- `tests/compile/test_fusion_attn.py`
- `tests/compile/test_qk_norm_rope_fusion.py`
- `tests/kernels/attention/test_attention.py`
- `tests/kernels/attention/test_mha_attn.py`
- `tests/v1/worker/test_gpu_model_runner.py`
- `tests/v1/worker/test_utils.py`
- `tools/pre_commit/mypy.py`
- `vllm/attention/__init__.py`
- `vllm/attention/utils/__init__.py`
- `vllm/attention/utils/kv_sharing_utils.py`
- `vllm/compilation/fusion_attn.py`
- `vllm/compilation/qk_norm_rope_fusion.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py`
- `vllm/model_executor/layers/attention/__init__.py`
- `vllm/model_executor/layers/attention/attention.py`
- `vllm/model_executor/layers/attention/chunked_local_attention.py`
- `vllm/model_executor/layers/attention/cross_attention.py`
- `vllm/model_executor/layers/attention/encoder_only_attention.py`
- `vllm/model_executor/layers/attention/kv_transfer_utils.py`
- `vllm/model_executor/layers/attention/mla_attention.py`
- `vllm/model_executor/layers/attention/static_sink_attention.py`
- `vllm/model_executor/layers/mla.py`
- `vllm/model_executor/layers/quantization/compressed_tensors/compressed_tensors.py`
- `vllm/model_executor/layers/quantization/fp8.py`
- `vllm/model_executor/layers/quantization/modelopt.py`
- `vllm/model_executor/layers/quantization/mxfp4.py`
- `vllm/model_executor/layers/quantization/petit.py`
- `vllm/model_executor/layers/quantization/ptpc_fp8.py`
- `vllm/model_executor/layers/quantization/quark/quark.py`
- `vllm/model_executor/model_loader/utils.py`
- `vllm/model_executor/models/afmoe.py`
- `vllm/model_executor/models/aimv2.py`
- `vllm/model_executor/models/apertus.py`
- `vllm/model_executor/models/arctic.py`
- `vllm/model_executor/models/baichuan.py`
- `vllm/model_executor/models/bailing_moe.py`
- `vllm/model_executor/models/bamba.py`
- `vllm/model_executor/models/bert.py`
- `vllm/model_executor/models/bert_with_rope.py`
- `vllm/model_executor/models/blip.py`
- `vllm/model_executor/models/bloom.py`
- `vllm/model_executor/models/chameleon.py`
- `vllm/model_executor/models/chatglm.py`
- `vllm/model_executor/models/clip.py`
- `vllm/model_executor/models/commandr.py`
- `vllm/model_executor/models/dbrx.py`
- `vllm/model_executor/models/deepencoder.py`
- `vllm/model_executor/models/deepseek_v2.py`
- `vllm/model_executor/models/dots1.py`
- `vllm/model_executor/models/dots_ocr.py`
- `vllm/model_executor/models/ernie45_moe.py`
- `vllm/model_executor/models/ernie45_vl.py`
- `vllm/model_executor/models/ernie45_vl_moe.py`
- `vllm/model_executor/models/exaone.py`
- `vllm/model_executor/models/exaone4.py`
- `vllm/model_executor/models/falcon.py`
- `vllm/model_executor/models/falcon_h1.py`
- `vllm/model_executor/models/gemma.py`
- `vllm/model_executor/models/gemma2.py`
- `vllm/model_executor/models/gemma3.py`
- `vllm/model_executor/models/gemma3n.py`
- `vllm/model_executor/models/glm4.py`
- `vllm/model_executor/models/glm4_1v.py`
- `vllm/model_executor/models/glm4_moe.py`
- `vllm/model_executor/models/glm4v.py`
- `vllm/model_executor/models/glmasr.py`
- `vllm/model_executor/models/gpt2.py`
- `vllm/model_executor/models/gpt_bigcode.py`
- `vllm/model_executor/models/gpt_j.py`
- `vllm/model_executor/models/gpt_neox.py`
- `vllm/model_executor/models/gpt_oss.py`
- `vllm/model_executor/models/granite.py`
- `vllm/model_executor/models/granitemoe.py`
- `vllm/model_executor/models/granitemoehybrid.py`

## Evidence Bundle

`evidence/pull-bundles/vllm/gh-32064`
