Open-Source Wikis

/

vLLM

/

Lore

vllm-project/vllm

Lore

The story of how vLLM evolved, derived from git tags, commit timestamps, and directory creation dates.

Eras

The PagedAttention paper (Feb–Jun 2023)

vLLM's first commit landed on 2023-02-09 by Woosuk Kwon. The codebase started life as the reference implementation for the PagedAttention paper. The earliest commits show the shape of an academic prototype: an Add OPT commit and an Add blocks commit appear within the first three days. The first tagged release, v0.1.0, followed in the summer of 2023.

Key events:

  • Feb 2023 — Initial commit; OPT model and block manager.
  • Jun 2023 — PagedAttention announcement and v0.1.0.
  • Sep 2023[FIX] Fix Alibi implementation in PagedAttention kernel (#945) — the first PR to mention PagedAttention by name in a commit message.

Production-ization (Jul 2023 – early 2024)

The project rapidly added what users expected from a serving engine: an OpenAI-compatible API server (vllm/entrypoints/openai/), tensor parallelism across multiple GPUs, model loading from Hugging Face, beam search, streaming, prefix caching (initial implementation), and the first wave of quantization (AWQ, GPTQ).

  • Jan 2024 — LoRA support added (vllm/lora/ first appears 2024-01-23).
  • Q1 2024 — Continuous batching and chunked prefill stabilize.
  • Q2 2024 — ROCm support matures; the vllm/distributed/ parallel state takes shape.

Multimodal and the model zoo (Jun 2024 onward)

  • Jun 2024vllm/multimodal/ lands (2024-06-02). LLaVA was the first multimodal architecture; the directory's growth maps directly onto the model zoo's expansion.
  • Aug 2024vllm/compilation/ is created (2024-08-28), introducing torch.compile + custom-pass support for piecewise CUDA graphs.

V1 — the rewrite (Oct 2024 – early 2025)

The most consequential change in the project's history. PR #9289 ("[V1] Implement vLLM V1 [1/N]") landed on 2024-10-22 and introduced the vllm/v1/ tree alongside the legacy V0 engine. V1 was async-first, multi-process by default, and rebuilt the scheduler, KV cache manager, sampler, and worker around a much cleaner separation between EngineCore and front-ends.

For several months the two engines coexisted (controlled by VLLM_USE_V1). Over 2025 the V0 paths were gradually deleted; today only V1 ships. The engine/ directory at the repo root is now a thin compatibility shim — vllm/engine/llm_engine.py and vllm/engine/async_llm_engine.py are 7- and 11-line forwarding modules pointing at vllm/v1/engine/.

  • Oct 2024 — V1 [1/N] lands.
  • Nov 2024 — V1 prefix caching (#9972).
  • Dec 2024vllm/distributed/kv_transfer/ lands (2024-12-01), enabling disaggregated prefill.
  • Feb 2025vllm/v1/spec_decode/ directory created (2025-02-15).
  • 2025 — V0 is deprecated and progressively removed; EngineArgs (vllm/engine/arg_utils.py) grows to 2,500 lines as it absorbs all V1 knobs.

MoE, quantization, and hardware diversity (2025)

The bulk of 2025 was spent on three fronts:

  1. MoE at scale. vllm/model_executor/layers/fused_moe/ swelled to ~30 files. Expert-parallel load balancing (vllm/distributed/eplb/) and elastic EP (vllm/distributed/elastic_ep/) appeared. CUTLASS-, Marlin-, AITER-, and FlashInfer-based MoE paths coexist.
  2. Quantization breadth. New backends: mxfp4, nvfp4 (modelopt), humming, inc, quark, turboquant, torchao, plus the compressed-tensors integration.
  3. Hardware breadth. vllm/platforms/ expanded to cover CUDA, ROCm, CPU, XPU, TPU (plugin), and zen_cpu. Many more vendors ship as out-of-tree plugins.

Speculative decoding consolidated into vllm/v1/spec_decode/, with n-gram, suffix, EAGLE, EAGLE3, DFlash, MTP, Medusa, and llm-base-proposer all in tree.

The current era (Q1 2026)

  • Disaggregated everything. KV connectors (vllm/distributed/kv_transfer/kv_connector/), encoder-cache connectors (vllm/distributed/ec_transfer/), weight transfer (vllm/distributed/weight_transfer/), and the elastic-EP middleware enable serving topologies where prefill, decode, and even encoders run on separate machines.
  • Multi-frontend. The OpenAI server is now one of several: Anthropic Messages, gRPC, MCP, SageMaker, and a "realtime" speech-to-text frontend all live alongside it.
  • API server replication. --api-server-count lets you fan out the FastAPI process across cores/machines while keeping a single EngineCore.

Longest-standing features

Feature First appeared Status today
PagedAttention Feb 2023 Still the foundation; block-based KV cache layout unchanged
OPT model Feb 2023 Still in vllm/model_executor/models/opt.py
Tensor parallelism Mid 2023 Heavily evolved; lives in vllm/distributed/parallel_state.py
OpenAI-compatible server Mid 2023 Still the main HTTP entrypoint
Prefix caching 2023 (V0), reborn 2024 (V1) Default-on in V1
LoRA Jan 2024 Now also supports MoE LoRA
AWQ / GPTQ 2023–2024 Joined by ~15 other quantization formats

Major rewrites

  • V0 → V1 engine (Oct 2024 – 2025). The largest rewrite. Replaced the synchronous, single-process engine with an async, multi-process design. Touched almost every directory.
  • config/ split (2024). What used to be a single config.py was broken into ~25 typed dataclasses under vllm/config/.
  • Engine arg parsing (ongoing). EngineArgs/AsyncEngineArgs migrated from per-arg argparse calls to a config-driven generator (vllm/utils/argparse_utils.py + vllm/config/utils.py). arg_utils.py is now a single 2,500-line generator that introspects VllmConfig.

Deprecated features (visible in the tree)

  • The engine/ shim. vllm/engine/{llm_engine,async_llm_engine}.py are now 7-line stubs that re-export from vllm/v1/engine/. They exist only for downstream import compatibility.
  • SequenceGroup / V0 scheduler primitives — removed; only references remain in tests and in vllm/sequence.py (now a 2 KB shim).
  • Old PagedAttention CUDA kernel. Survives in csrc/attention/ for the CPU/ROCm fallback path; on NVIDIA the FlashAttention/FlashInfer/Triton paths dominate.

Growth trajectory

  • Year 1 (2023): ~600 commits, single maintainer dominated.
  • Year 2 (2024): ~3,400 commits, top contributors broaden (Cyrus Leung, Michael Goin, Roger Wang, youkaichao, Harry Mellor).
  • Year 3 (2025): ~12,000 commits, contributor base hits 2,000+, hardware diversification accelerates.
  • 2026 so far: continued ~1,000 commits/month; ~2,400 unique committer names total.

For a tabular view of the eras and current owners, see maintainers.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Lore – vLLM wiki | Factory