---
id: pr-vllm-31916
repo: vllm-project/vllm
pr: 31916
title: '[1/N][Attention] Restructure attention: move files'
author: MatthewBonanni
date: '2026-01-09'
url: https://github.com/vllm-project/vllm/pull/31916
source_category: upstream-code
architectures:
- sm100
tags:
- attention
- decode
- fp8
- gemm
- kernel-fusion
- mla
- moe
- pipeline-stages
- prefill
- quantization
techniques:
- kernel-fusion
- pipeline-stages
hardware_features:
- fp8
kernel_types:
- attention
- decode
- gemm
- mla
- moe
- prefill
- quantization
languages:
- cuda-cpp
- triton
captured_at: '2026-04-27'
status: merged
merge_sha: 2612ba9285d828f3179801334b6d2db0046b9b6c
inclusion_reason: kernel file changes
changed_paths:
- .buildkite/test-amd.yaml
- .buildkite/test-pipeline.yaml
- .buildkite/test_areas/kernels.yaml
- .github/CODEOWNERS
- .github/mergify.yml
- benchmarks/kernels/benchmark_reshape_and_cache_flash.py
- docs/contributing/model/basic.md
- docs/design/custom_op.md
- docs/design/plugin_system.md
- examples/offline_inference/basic/embed.py
- examples/offline_inference/basic/score.py
- tests/compile/fullgraph/test_full_cudagraph.py
- tests/compile/fullgraph/test_full_graph.py
- tests/compile/test_fusion_attn.py
- tests/compile/test_qk_norm_rope_fusion.py
- tests/config/test_multimodal_config.py
- tests/engine/test_arg_utils.py
- tests/kernels/attention/test_aiter_flash_attn.py
- tests/kernels/attention/test_attention.py
- tests/kernels/attention/test_attention_selector.py
- tests/kernels/attention/test_cache.py
- tests/kernels/attention/test_flashmla.py
- tests/kernels/attention/test_flashmla_sparse.py
- tests/kernels/attention/test_merge_attn_states.py
- tests/kernels/attention/test_mha_attn.py
- tests/kernels/attention/test_pack_unpack_triton.py
- tests/kernels/attention/test_prefix_prefill.py
- tests/kernels/attention/test_rocm_attention_selector.py
- tests/kernels/attention/test_triton_decode_attention.py
- tests/kernels/attention/test_triton_prefill_attention.py
- tests/kernels/attention/test_triton_unified_attention.py
- tests/kernels/utils.py
- tests/models/multimodal/generation/test_vit_backend_functionality.py
- tests/models/quantization/test_fp8.py
- tests/test_attention_backend_registry.py
- tests/v1/attention/test_attention_backends.py
- tests/v1/attention/test_mla_backends.py
- tests/v1/attention/test_rocm_attention_backends_selection.py
- tests/v1/attention/test_sparse_mla_backends.py
- tests/v1/attention/utils.py
- tests/v1/determinism/utils.py
- tests/v1/kv_connector/unit/test_backwards_compatibility.py
- tests/v1/spec_decode/test_eagle.py
- tests/v1/spec_decode/test_mtp.py
- tests/v1/spec_decode/test_tree_attention.py
- tests/v1/worker/test_gpu_model_runner.py
- tools/pre_commit/mypy.py
- vllm/attention/layer.py
- vllm/attention/ops/__init__.py
- vllm/config/attention.py
- vllm/config/model.py
- vllm/config/multimodal.py
- vllm/distributed/kv_transfer/kv_connector/utils.py
- vllm/distributed/kv_transfer/kv_connector/v1/base.py
- vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py
- vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/mooncake_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py
- vllm/distributed/kv_transfer/kv_connector/v1/p2p/p2p_nccl_connector.py
- vllm/engine/arg_utils.py
- vllm/envs.py
- vllm/forward_context.py
- vllm/model_executor/layers/attention/__init__.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/mm_encoder_attention.py
- vllm/model_executor/layers/attention/static_sink_attention.py
- vllm/model_executor/layers/attention_layer_base.py
- vllm/model_executor/layers/batch_invariant.py
- vllm/model_executor/layers/kda.py
- vllm/model_executor/layers/mamba/abstract.py
- vllm/model_executor/layers/mamba/linear_attn.py
- vllm/model_executor/layers/mamba/mamba_mixer2.py
- vllm/model_executor/layers/mamba/short_conv.py
- vllm/model_executor/models/afmoe.py
- vllm/model_executor/models/aimv2.py
- vllm/model_executor/models/apertus.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/clip.py
- vllm/model_executor/models/config.py
- vllm/model_executor/models/deepencoder.py
- vllm/model_executor/models/deepseek_v2.py
- vllm/model_executor/models/dots_ocr.py
- vllm/model_executor/models/ernie45_vl.py
- vllm/model_executor/models/gemma3.py
- vllm/model_executor/models/glm4.py
- vllm/model_executor/models/glm4_1v.py
- vllm/model_executor/models/glm4v.py
- vllm/model_executor/models/glmasr.py
- vllm/model_executor/models/gpt_oss.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/interns1_vit.py
- vllm/model_executor/models/iquest_loopcoder.py
- vllm/model_executor/models/isaac.py
- vllm/model_executor/models/keye.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/minimax_text_01.py
- vllm/model_executor/models/mllama4.py
- vllm/model_executor/models/modernbert.py
- vllm/model_executor/models/molmo.py
- vllm/model_executor/models/moonvit.py
- vllm/model_executor/models/nemotron_nas.py
- vllm/model_executor/models/nemotron_parse.py
- vllm/model_executor/models/openpangu.py
- vllm/model_executor/models/ouro.py
- vllm/model_executor/models/paddleocr_vl.py
head_ref_oid: 7613b31f47989a33f1318ba2906a3dc1e7218b9e
artifact_dir: evidence/pull-bundles/vllm/gh-31916
---
# [1/N][Attention] Restructure attention: move files

- Repository: `vllm-project/vllm`
- PR: [31916](https://github.com/vllm-project/vllm/pull/31916)
- 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`
- `.github/mergify.yml`
- `benchmarks/kernels/benchmark_reshape_and_cache_flash.py`
- `docs/contributing/model/basic.md`
- `docs/design/custom_op.md`
- `docs/design/plugin_system.md`
- `examples/offline_inference/basic/embed.py`
- `examples/offline_inference/basic/score.py`
- `tests/compile/fullgraph/test_full_cudagraph.py`
- `tests/compile/fullgraph/test_full_graph.py`
- `tests/compile/test_fusion_attn.py`
- `tests/compile/test_qk_norm_rope_fusion.py`
- `tests/config/test_multimodal_config.py`
- `tests/engine/test_arg_utils.py`
- `tests/kernels/attention/test_aiter_flash_attn.py`
- `tests/kernels/attention/test_attention.py`
- `tests/kernels/attention/test_attention_selector.py`
- `tests/kernels/attention/test_cache.py`
- `tests/kernels/attention/test_flashmla.py`
- `tests/kernels/attention/test_flashmla_sparse.py`
- `tests/kernels/attention/test_merge_attn_states.py`
- `tests/kernels/attention/test_mha_attn.py`
- `tests/kernels/attention/test_pack_unpack_triton.py`
- `tests/kernels/attention/test_prefix_prefill.py`
- `tests/kernels/attention/test_rocm_attention_selector.py`
- `tests/kernels/attention/test_triton_decode_attention.py`
- `tests/kernels/attention/test_triton_prefill_attention.py`
- `tests/kernels/attention/test_triton_unified_attention.py`
- `tests/kernels/utils.py`
- `tests/models/multimodal/generation/test_vit_backend_functionality.py`
- `tests/models/quantization/test_fp8.py`
- `tests/test_attention_backend_registry.py`
- `tests/v1/attention/test_attention_backends.py`
- `tests/v1/attention/test_mla_backends.py`
- `tests/v1/attention/test_rocm_attention_backends_selection.py`
- `tests/v1/attention/test_sparse_mla_backends.py`
- `tests/v1/attention/utils.py`
- `tests/v1/determinism/utils.py`
- `tests/v1/kv_connector/unit/test_backwards_compatibility.py`
- `tests/v1/spec_decode/test_eagle.py`
- `tests/v1/spec_decode/test_mtp.py`
- `tests/v1/spec_decode/test_tree_attention.py`
- `tests/v1/worker/test_gpu_model_runner.py`
- `tools/pre_commit/mypy.py`
- `vllm/attention/layer.py`
- `vllm/attention/ops/__init__.py`
- `vllm/config/attention.py`
- `vllm/config/model.py`
- `vllm/config/multimodal.py`
- `vllm/distributed/kv_transfer/kv_connector/utils.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/base.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/decode_bench_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/example_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/lmcache_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/vllm_v1_adapter.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/mooncake_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/moriio/moriio_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/nixl_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/offloading_connector.py`
- `vllm/distributed/kv_transfer/kv_connector/v1/p2p/p2p_nccl_connector.py`
- `vllm/engine/arg_utils.py`
- `vllm/envs.py`
- `vllm/forward_context.py`
- `vllm/model_executor/layers/attention/__init__.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/mm_encoder_attention.py`
- `vllm/model_executor/layers/attention/static_sink_attention.py`
- `vllm/model_executor/layers/attention_layer_base.py`
- `vllm/model_executor/layers/batch_invariant.py`
- `vllm/model_executor/layers/kda.py`
- `vllm/model_executor/layers/mamba/abstract.py`
- `vllm/model_executor/layers/mamba/linear_attn.py`
- `vllm/model_executor/layers/mamba/mamba_mixer2.py`

## Evidence Bundle

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