vllm-project/vllm
By the numbers
A quantitative snapshot of the vLLM repository.
Data collected on 2026-04-30 from the
mainbranch at commitefb4cdf2b.
Size
xychart-beta horizontal
title "Lines by area (rough order of magnitude)"
x-axis ["vllm/ Python", "csrc/ C++/CUDA", "tests/", "docs/", "examples/", "benchmarks/"]
y-axis "Lines" 0 --> 700000
bar [614883, 82337, 250000, 30000, 25000, 25000]| Area | Files | Notes |
|---|---|---|
vllm/ Python |
1,637 | The primary package. ~615 K lines of Python. |
vllm/model_executor/models/ |
293 | One Python file per model architecture (some have multiple variants). |
csrc/ C++/CUDA |
229 | ~82 K lines of C++/CUDA/CUTLASS |
tests/ |
1,169 | pytest files |
docs/ |
211 | Markdown pages for https://docs.vllm.ai |
requirements/ |
~30 | Pinned and unpinned dependency lists |
| Top-level directory | Purpose |
|---|---|
vllm/ |
Python package source |
csrc/ |
C++/CUDA kernels |
tests/ |
pytest suites |
docs/ |
mkdocs-material site |
examples/ |
Runnable examples |
benchmarks/ |
Throughput / latency / serving harnesses |
tools/ |
Build & dev scripts |
cmake/ |
CMake helpers used by setup.py |
requirements/ |
Per-platform dep lists |
docker/ |
Dockerfiles |
.buildkite/ |
The primary CI pipeline (Buildkite) |
.github/ |
GitHub workflows for pre-commit, issue templates, codeowners |
The largest single Python files give a feel for where complexity concentrates:
| File | Lines |
|---|---|
vllm/v1/worker/gpu_model_runner.py |
7,070 |
vllm/engine/arg_utils.py |
2,476 |
vllm/v1/core/sched/scheduler.py |
2,308 |
vllm/v1/engine/core.py |
2,145 |
vllm/entrypoints/llm.py |
1,934 |
vllm/config/vllm.py |
~2,200 |
vllm/config/model.py |
~2,200 |
vllm/v1/engine/async_llm.py |
1,065 |
vllm/entrypoints/openai/api_server.py |
719 |
Activity
| Window | Commits |
|---|---|
| All time (since Feb 2023) | 16,223 |
| Calendar 2023 | 613 |
| Calendar 2024 | 3,352 |
| Since 2025-01-01 | 12,246 |
| Last 90 days | 2,780 |
vLLM's development pace roughly quadrupled in early 2024 and has continued to accelerate. Around 30 % of the project's lifetime commits landed in the most recent 12 months.
Bot-attributed commits
vLLM does receive automated contributions, but they are a small slice of the total:
| Bot signal | Count |
|---|---|
Author = dependabot[bot] |
21 |
Commit body contains Co-authored-by: (any) |
5,858 |
Commit body contains Co-authored-by: ...[bot] |
~50 |
The 5,858 figure is dominated by human collaborators co-authoring each other's commits — bot collaboration is rare and is mostly dependabot[bot], gemini-code-assist[bot], github-advanced-security[bot] (Copilot Autofix), codeflash-ai[bot], mergify[bot], and the occasional copilot-swe-agent[bot]. This count is a lower bound on AI-assisted work since inline AI tools (Copilot, Cursor, etc.) leave no trace in git history. AGENTS.md explicitly forbids "pure code-agent PRs" — every change must have a human submitter.
Complexity
Hot files (largest by line count) by area:
| Area | File | Lines |
|---|---|---|
| Forward pass orchestration | vllm/v1/worker/gpu_model_runner.py |
7,070 |
| Argument parsing | vllm/engine/arg_utils.py |
2,476 |
| Scheduler | vllm/v1/core/sched/scheduler.py |
2,308 |
| EngineCore loop | vllm/v1/engine/core.py |
2,145 |
| Offline LLM API | vllm/entrypoints/llm.py |
1,934 |
| Config aggregator | vllm/config/vllm.py |
~2,200 |
| Model config | vllm/config/model.py |
~2,200 |
| Compilation config | vllm/config/compilation.py |
~1,400 |
| Parallel state | vllm/distributed/parallel_state.py |
~1,800 |
| FlashInfer attention backend | vllm/v1/attention/backends/flashinfer.py |
~1,800 |
| Fused MoE GPU kernel wrapper | vllm/model_executor/layers/fused_moe/fused_moe.py |
~2,000 |
| Linear layer (TP/PP/quant variants) | vllm/model_executor/layers/linear.py |
~1,500 |
| Modular kernel framework | vllm/model_executor/layers/fused_moe/modular_kernel.py |
~1,500 |
| Custom ops surface | vllm/_custom_ops.py |
~3,000 |
| AITER ops surface (ROCm) | vllm/_aiter_ops.py |
~2,000 |
| Environment overrides | vllm/env_override.py, vllm/envs.py |
~3,200 |
The largest C++/CUDA TUs are in csrc/quantization/ (CUTLASS-based GEMMs), csrc/moe/ (block-scaled MoE kernels), and csrc/attention/ (custom attention variants).
Per-area ownership signals
Recent contributor activity by area (from git log on main, last ~6 months):
| Area | Recent contributors (top, anonymized to first names where ambiguous) |
|---|---|
| Engine (V1) | Nick Hill, Robert Shaw, Cyrus Leung, Woosuk Kwon |
| Scheduler / KV cache | Cyrus Leung, Cody Yu, Andreas Karatzas |
| Attention backends | Lucas Wilkinson, Matthew Bonanni, Wentao Ye |
| Model implementations | Isotr0py, Roger Wang, Cyrus Leung, Harry Mellor |
| Quantization | Michael Goin, rasmith, Lucas Wilkinson |
| ROCm / AMD | Micah Williamson, rasmith, Charlie Fu |
| MoE / EPLB | Wentao Ye, Wensheng Tang, Tyler Michael Smith |
| Tooling / CI | Harry Mellor, Kevin H. Luu |
| Frontend (OpenAI server) | Harry Mellor, Cyrus Leung, Nick Hill |
For per-page bylines, see the maintainers page.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.