| 1 | # See https://help.github.com/articles/about-codeowners/ |
| 2 | # for more info about CODEOWNERS file |
| 3 | |
| 4 | # This lists cover the "core" components of vLLM that require careful review |
| 5 | /vllm/compilation @zou3519 @youkaichao @ProExpertProg @BoyuanFeng |
| 6 | /vllm/distributed/kv_transfer @NickLucche @ApostaC @orozery @xuechendi @ivanium @wzhao18 |
| 7 | /vllm/lora @jeejeelee |
| 8 | /vllm/model_executor/layers/attention @LucasWilkinson @MatthewBonanni |
| 9 | /vllm/model_executor/layers/fused_moe @mgoin @pavanimajety @zyongye @wzhao18 |
| 10 | /vllm/model_executor/layers/quantization @mgoin @robertgshaw2-redhat @tlrmchlsmth @yewentao256 @pavanimajety @zyongye |
| 11 | /vllm/model_executor/layers/mamba @tdoublep @tomeras91 |
| 12 | /vllm/model_executor/layers/mamba/gdn/qwen_gdn_linear_attn.py @tdoublep @ZJY0516 @vadiklyutiy |
| 13 | /vllm/model_executor/model_loader @22quinn |
| 14 | /vllm/model_executor/determinism/ @yewentao256 |
| 15 | /vllm/model_executor/custom_op.py @shen-shanshan |
| 16 | /vllm/ir @ProExpertProg |
| 17 | /vllm/kernels/ @ProExpertProg @tjtanaa |
| 18 | /vllm/kernels/helion @ProExpertProg @zou3519 |
| 19 | /vllm/multimodal @DarkLight1337 @ywang96 @NickLucche @tjtanaa @shen-shanshan |
| 20 | /vllm/multimodal/media @Isotr0py |
| 21 | /vllm/vllm_flash_attn @LucasWilkinson @MatthewBonanni |
| 22 | /CMakeLists.txt @tlrmchlsmth @LucasWilkinson @Harry-Chen |
| 23 | /cmake @tlrmchlsmth @LucasWilkinson @Harry-Chen |
| 24 | |
| 25 | # Any change to the VllmConfig changes can have a large user-facing impact, |
| 26 | # so spam a lot of people |
| 27 | /vllm/config @WoosukKwon @youkaichao @robertgshaw2-redhat @mgoin @tlrmchlsmth @houseroad @yewentao256 @ProExpertProg |
| 28 | /vllm/config/cache.py @heheda12345 @ivanium |
| 29 | |
| 30 | # Config utils |
| 31 | /vllm/config/utils.py @hmellor |
| 32 | /vllm/engine/arg_utils.py @hmellor |
| 33 | /vllm/utils/argparse_utils.py |
| 34 | |
| 35 | # Entrypoints |
| 36 | /vllm/entrypoints/anthropic @mgoin @DarkLight1337 |
| 37 | /vllm/entrypoints/cli @hmellor @mgoin @DarkLight1337 |
| 38 | /vllm/entrypoints/mcp @heheda12345 |
| 39 | /vllm/entrypoints/openai @aarnphm @chaunceyjiang @DarkLight1337 |
| 40 | /vllm/entrypoints/speech_to_text/realtime @njhill |
| 41 | /vllm/entrypoints/speech_to_text @NickLucche |
| 42 | /vllm/entrypoints/pooling @noooop |
| 43 | /vllm/entrypoints/serve/sagemaker @DarkLight1337 |
| 44 | /vllm/entrypoints/serve @njhill |
| 45 | /vllm/entrypoints/*.py @njhill |
| 46 | /vllm/entrypoints/chat_utils.py @DarkLight1337 |
| 47 | /vllm/entrypoints/offline_utils.py @DarkLight1337 |
| 48 | /vllm/entrypoints/llm.py @DarkLight1337 |
| 49 | |
| 50 | # Rust Frontend |
| 51 | /rust/ @BugenZhao @njhill |
| 52 | /rust/src/bench @esmeetu |
| 53 | /tools/build_rust.sh @BugenZhao @njhill |
| 54 | /rust-toolchain.toml @BugenZhao @njhill |
| 55 | /.buildkite/test_areas/rust* @BugenZhao @njhill |
| 56 | |
| 57 | # Input/Output Processing |
| 58 | /vllm/sampling_params.py @njhill @NickLucche |
| 59 | /vllm/pooling_params.py @noooop @DarkLight1337 |
| 60 | /vllm/tokenizers @DarkLight1337 @njhill |
| 61 | /vllm/renderers @DarkLight1337 @njhill |
| 62 | /vllm/reasoning @aarnphm @chaunceyjiang @sfeng33 @bbrowning |
| 63 | /vllm/tool_parsers @aarnphm @chaunceyjiang @sfeng33 @bbrowning |
| 64 | /vllm/parser @aarnphm @chaunceyjiang @sfeng33 @bbrowning |
| 65 | |
| 66 | # vLLM V1 |
| 67 | /vllm/v1/attention @LucasWilkinson @MatthewBonanni |
| 68 | /vllm/v1/attention/backend.py @WoosukKwon @zhuohan123 @youkaichao @alexm-redhat @njhill |
| 69 | /vllm/v1/attention/backends/mla @pavanimajety |
| 70 | /vllm/v1/attention/backends/flashinfer.py @mgoin @pavanimajety @vadiklyutiy @wzhao18 |
| 71 | /vllm/v1/attention/backends/triton_attn.py @tdoublep |
| 72 | /vllm/v1/attention/backends/gdn_attn.py @ZJY0516 @vadiklyutiy |
| 73 | /vllm/v1/core @WoosukKwon @robertgshaw2-redhat @njhill @ywang96 @alexm-redhat @heheda12345 @ApostaC @orozery @ivanium |
| 74 | /vllm/v1/sample @22quinn @houseroad @njhill |
| 75 | /vllm/v1/spec_decode @benchislett @luccafong @MatthewBonanni |
| 76 | /vllm/v1/structured_output @mgoin @aarnphm @benchislett @arpera |
| 77 | /vllm/v1/kv_cache_interface.py @heheda12345 @ivanium |
| 78 | /vllm/v1/kv_offload @ApostaC @orozery |
| 79 | /vllm/v1/simple_kv_offload @ivanium |
| 80 | /vllm/v1/engine @njhill |
| 81 | /vllm/v1/executor @njhill |
| 82 | /vllm/v1/worker @njhill |
| 83 | /vllm/v1/worker/kv_connector_model_runner_mixin.py @orozery @NickLucche @ivanium |
| 84 | /vllm/v1/worker/encoder_cudagraph.py @shen-shanshan |
| 85 | /vllm/v1/worker/encoder_cudagraph_defs.py @shen-shanshan |
| 86 | |
| 87 | # Model runner V2 |
| 88 | /vllm/v1/worker/gpu @WoosukKwon @njhill @yewentao256 |
| 89 | /vllm/v1/worker/gpu/kv_connector.py @orozery |
| 90 | |
| 91 | # CI & building |
| 92 | /.buildkite @Harry-Chen @khluu |
| 93 | /docker/Dockerfile @Harry-Chen @khluu |
| 94 | /pyproject.toml @khluu |
| 95 | /setup.py @khluu |
| 96 | |
| 97 | # Test ownership |
| 98 | /.buildkite/lm-eval-harness @mgoin |
| 99 | /tests/distributed/test_multi_node_assignment.py @youkaichao |
| 100 | /tests/distributed/test_pipeline_parallel.py @youkaichao |
| 101 | /tests/distributed/test_same_node.py @youkaichao |
| 102 | /tests/entrypoints @DarkLight1337 @robertgshaw2-redhat @aarnphm @NickLucche @AndreasKaratzas |
| 103 | /tests/evals @mgoin @vadiklyutiy @AndreasKaratzas |
| 104 | /tests/kernels @mgoin @tlrmchlsmth @WoosukKwon @yewentao256 @zyongye @AndreasKaratzas |
| 105 | /tests/kernels/ir @ProExpertProg @tjtanaa |
| 106 | /tests/models @DarkLight1337 @ywang96 @AndreasKaratzas |
| 107 | /tests/multimodal @DarkLight1337 @ywang96 @NickLucche @shen-shanshan |
| 108 | /tests/multimodal/media @Isotr0py |
| 109 | /tests/quantization @mgoin @robertgshaw2-redhat @yewentao256 @pavanimajety @zyongye @AndreasKaratzas |
| 110 | /tests/entrypoints/llm/test_struct_output_generate.py @mgoin @aarnphm @arpera |
| 111 | /tests/v1/structured_output @mgoin @aarnphm @arpera |
| 112 | /tests/v1/core @WoosukKwon @robertgshaw2-redhat @njhill @ywang96 @alexm-redhat @heheda12345 @ApostaC @orozery @ivanium |
| 113 | /tests/lora @jeejeelee |
| 114 | /tests/models/language/generation/test_hybrid.py @tdoublep @tomeras91 |
| 115 | /tests/v1/kv_connector/nixl_integration @NickLucche |
| 116 | /tests/v1/kv_connector @ApostaC @orozery @ivanium @wzhao18 |
| 117 | /tests/v1/kv_offload @ApostaC @orozery |
| 118 | /tests/v1/simple_kv_offload @ivanium |
| 119 | /tests/v1/determinism @yewentao256 |
| 120 | /tests/reasoning @aarnphm @chaunceyjiang @sfeng33 @bbrowning |
| 121 | /tests/tool_parsers @aarnphm @chaunceyjiang @sfeng33 @bbrowning |
| 122 | /tests/tool_use @aarnphm @chaunceyjiang @sfeng33 @bbrowning |
| 123 | |
| 124 | # Transformers modeling backend |
| 125 | /vllm/model_executor/models/transformers @hmellor |
| 126 | /tests/models/transformers @hmellor |
| 127 | |
| 128 | # Docs |
| 129 | /docs/features/quantization @mgoin @robertgshaw2-redhat @tlrmchlsmth @yewentao256 @pavanimajety @zyongye |
| 130 | /docs/mkdocs @hmellor |
| 131 | /docs/**/*.yml @hmellor |
| 132 | /requirements/docs.txt @hmellor |
| 133 | .readthedocs.yaml @hmellor |
| 134 | mkdocs.yaml @hmellor |
| 135 | |
| 136 | # Linting |
| 137 | /tools/pre_commit/.markdownlint.yaml @hmellor |
| 138 | .pre-commit-config.yaml @hmellor |
| 139 | /tools/pre_commit @hmellor |
| 140 | |
| 141 | # CPU |
| 142 | /vllm/v1/worker/cpu* @bigPYJ1151 @xuechendi |
| 143 | /csrc/cpu @bigPYJ1151 |
| 144 | /vllm/platforms/cpu.py @bigPYJ1151 @xuechendi |
| 145 | /cmake/cpu_extension.cmake @bigPYJ1151 |
| 146 | /docker/Dockerfile.cpu @bigPYJ1151 @xuechendi |
| 147 | |
| 148 | # Intel GPU |
| 149 | /vllm/v1/worker/xpu* @jikunshang @xuechendi |
| 150 | /vllm/platforms/xpu.py @jikunshang @xuechendi |
| 151 | /docker/Dockerfile.xpu @jikunshang @xuechendi |
| 152 | |
| 153 | # Nemotron-specific files |
| 154 | /vllm/model_executor/models/*nemotron* @tomeras91 |
| 155 | /vllm/transformers_utils/configs/*nemotron* @tomeras91 |
| 156 | /tests/**/*nemotron* @tomeras91 |
| 157 | |
| 158 | # Qwen-specific files |
| 159 | /vllm/model_executor/models/qwen* @sighingnow @vadiklyutiy |
| 160 | /vllm/transformers_utils/configs/qwen* @sighingnow @vadiklyutiy |
| 161 | /vllm/models/qwen4_exp @gau-nernst |
| 162 | |
| 163 | # MTP-specific files |
| 164 | /vllm/model_executor/models/deepseek_mtp.py @luccafong |
| 165 | |
| 166 | # DeepseekV4-specific files |
| 167 | /vllm/models/deepseek_v4 @zyongye |
| 168 | /vllm/model_executor/layers/sparse_attn_indexer.py @zyongye |
| 169 | |
| 170 | # Kimi-K3-specific files |
| 171 | /vllm/models/kimi_k3/nvidia/kda.py @gau-nernst |
| 172 | |
| 173 | # Mistral-specific files |
| 174 | /vllm/model_executor/models/mistral*.py @patrickvonplaten |
| 175 | /vllm/model_executor/models/mixtral*.py @patrickvonplaten |
| 176 | /vllm/model_executor/models/voxtral*.py @patrickvonplaten |
| 177 | /vllm/model_executor/models/pixtral*.py @patrickvonplaten |
| 178 | /vllm/tokenizers/mistral.py @patrickvonplaten |
| 179 | /vllm/transformers_utils/configs/mistral.py @patrickvonplaten |
| 180 | |
| 181 | # Kernels |
| 182 | /vllm/v1/attention/ops/chunked_prefill_paged_decode.py @tdoublep |
| 183 | /vllm/v1/attention/ops/triton_unified_attention.py @tdoublep |
| 184 | /vllm/third_party/flash_linear_attention @ZJY0516 @vadiklyutiy |
| 185 | /vllm/model_executor/layers/mamba/ops/gdn_chunk_cutedsl @gau-nernst |
| 186 | /vllm/model_executor/layers/fused_moe/router/bf16x3_router_gemm_cutedsl.py @gau-nernst |
| 187 | /vllm/model_executor/kernels/linear/cute_dsl/gemm_rs_ar.py @gau-nernst |
| 188 | /vllm/cute_utils @gau-nernst |
| 189 | |
| 190 | # ROCm related: specify owner with write access to notify AMD folks for careful code review |
| 191 | /vllm/**/*rocm* @tjtanaa @dllehr-amd @shen-shanshan |
| 192 | /docker/Dockerfile.rocm* @tjtanaa @dllehr-amd @AndreasKaratzas |
| 193 | /vllm/v1/attention/backends/rocm*.py @tjtanaa @dllehr-amd |
| 194 | /vllm/v1/attention/backends/mla/rocm*.py @tjtanaa @dllehr-amd |
| 195 | /vllm/v1/attention/ops/rocm*.py @tjtanaa @dllehr-amd |
| 196 | /vllm/model_executor/layers/fused_moe/rocm*.py @tjtanaa @dllehr-amd |
| 197 | /csrc/rocm @tjtanaa @dllehr-amd @hongxiayang |
| 198 | /requirements/*rocm* @tjtanaa @AndreasKaratzas |
| 199 | /tests/**/*rocm* @tjtanaa @AndreasKaratzas |
| 200 | /docs/**/*rocm* @tjtanaa @hongxiayang |
| 201 | /vllm/**/*quark* @tjtanaa |
| 202 | /tests/**/*quark* @tjtanaa @AndreasKaratzas |
| 203 | /docs/**/*quark* @tjtanaa @hongxiayang |
| 204 | /vllm/**/*aiter* @tjtanaa @AndreasKaratzas |
| 205 | /tests/**/*aiter* @tjtanaa @AndreasKaratzas |
| 206 | |
| 207 | # AMD per-model amd/ subtrees |
| 208 | /vllm/models/*/amd @tjtanaa @dllehr-amd @hongxiayang |
| 209 | /vllm/models/deepseek_v4/amd @tjtanaa @dllehr-amd @hongxiayang @zyongye |
| 210 | |
| 211 | # TPU |
| 212 | /vllm/v1/worker/tpu* @NickLucche |
| 213 | /vllm/platforms/tpu.py @NickLucche |
| 214 | /vllm/v1/sample/tpu @NickLucche |
| 215 | /vllm/tests/v1/tpu @NickLucche |
| 216 | |
| 217 | # KVConnector installation files |
| 218 | /requirements/kv_connectors.txt @NickLucche |
| 219 | |
| 220 | # Pooling models |
| 221 | /examples/pooling @noooop |
| 222 | /docs/models/pooling_models @noooop |
| 223 | /tests/models/*/pooling* @noooop |
| 224 | /tests/entrypoints/pooling @noooop |
| 225 | /vllm/config/pooler.py @noooop |
| 226 | /vllm/model_executor/layers/pooler @noooop |
| 227 | |
| 228 | # Reinforcement learning |
| 229 | /vllm/distributed/weight_transfer @aoshen02 |
| 230 | /vllm/entrypoints/serve/dev/rlhf @njhill @aoshen02 |
| 231 | /tests/distributed/test_weight_transfer.py @aoshen02 |
| 232 | /tests/entrypoints/weight_transfer @DarkLight1337 @robertgshaw2-redhat @aarnphm @NickLucche @AndreasKaratzas @aoshen02 |
| 233 | /tests/entrypoints/serve/dev/rlhf @DarkLight1337 @robertgshaw2-redhat @aarnphm @NickLucche @AndreasKaratzas @aoshen02 |
| 234 | /tests/v1/worker/test_gpu_worker_weight_transfer.py @aoshen02 |
| 235 | /examples/rl @aoshen02 |
| 236 | /examples/features/pause_resume @aoshen02 |
| 237 | /docs/training/rlhf.md @aoshen02 |
| 238 | /docs/training/async_rl.md @aoshen02 |
| 239 | /docs/training/weight_transfer @aoshen02 |
| 240 | |
| 241 | # Security guide and policies |
| 242 | /docs/usage/security.md @jperezdealgaba |
| 243 | /SECURITY.md @jperezdealgaba |
| 244 | /docs/contributing/vulnerability_management.md @jperezdealgaba |