I traced vLLM V1’s KV cache from GPU budget to physical slot: fixed-size blocks, prefix hashes, refcounts, preemption, and block tables. Part 6: https://t.co/tJGZLH1n52
vLLM V1 has no global “prefill phase” or “decode phase.”
Each step asks: how many tokens may each request process?
Article 05 traces token budgets, RUNNING-before-WAITING, Chunked Prefill, prefix-aware admission & KV-pressure preemption.
https://t.co/pDa46d4xLT
#vLLM
vLLM V1 is not “an API server calling a GPU.”
It is a process topology:
API server → ZMQ → EngineCore → shared-memory queues → GPU workers.
Article 03 traces GIL isolation, TP/DP math, startup barriers, and worker-death propagation.
https://t.co/QP0u7Fhavp
#vLLM
vLLM has 3 front doors: LLM.generate(), vllm serve, and OpenAI-compatible HTTP.
Follow the source and they converge:
process_inputs → EngineCoreRequest → EngineCore.
Article 02 traces offline, CLI, HTTP, SSE & cancellation.
https://t.co/MG3d72uN2z
#vLLM
What happens between LLM.generate() and the first token returned by vLLM? I traced the complete V1 request path—from input processing and continuous-batch scheduling to GPU execution, sampling, and output processing.
Part 1 of a source-code walkthrough:
https://t.co/8WIwBDJCcO