Skip to content

词汇表与资料

源码版本v0.25.1

核心术语

术语英文说明
引擎参数EngineArgs全部启动参数,派生 VllmConfig。vllm/engine/arg_utils.py
全局配置VllmConfig模型/缓存/调度/并行等子配置聚合体。vllm/config/__init__.py
LLM 离线类LLM同步离线生成入口,LLM.generatevllm/entrypoints/llm.py
异步 LLMAsyncLLMEngineClient 异步实现,服务端入口。vllm/v1/engine/async_llm.py
LLM 引擎LLMEnginev1 薄壳,add_request/step,委托给 EngineCore。vllm/v1/engine/llm_engine.py
引擎核心EngineCore真正的核心,组合 scheduler+worker+kv cache。vllm/v1/engine/core.py
引擎核心进程EngineCoreProcZMQ 后台进程壳,继承自 EngineCore。vllm/v1/engine/core.py
引擎客户端EngineCoreClientInproc/MP/AsyncMP 客户端 ABC。vllm/v1/engine/core_client.py
同进程客户端InprocClient不开进程,直接调 step_fnvllm/v1/engine/core_client.py
多进程客户端MPClient多进程同步,经 ZMQ 通信。vllm/v1/engine/core_client.py
调度器Schedulerwaiting/running 队列、schedule、抢占 (preemption)。vllm/v1/core/sched/scheduler.py
请求队列RequestQueueFCFS / Priority 两种策略。vllm/v1/core/sched/queue.py
连续批处理Continuous Batching每步动态拼批,prefill 与 decode 混跑。vllm/v1/core/sched/scheduler.py
抢占Preemption显存不足时把 running 请求换出,腾位置给新请求。vllm/v1/core/sched/scheduler.py
执行器ExecutorUniProc/Multiproc/Ray 三种。vllm/v1/executor/
Ray 分布式执行器RayDistributedExecutor跨节点 Ray 集群调度 worker。vllm/v1/executor/ray_distributed_executor.py
WorkerWorker分布式环境 + GPU 执行单元。vllm/v1/worker/gpu_worker.py
模型运行器GPUModelRunnerexecute_modelinput_batch、cudagraph 管理。vllm/v1/worker/gpu_model_runner.py
微批ubatch在一个 step 内部把请求再切微批,适配 cudagraph。vllm/v1/worker/gpu_model_runner.py
CUDA 图cudagraph预录制的 kernel 序列,固定 shape,消除 launch 开销。vllm/v1/worker/gpu_model_runner.py
默认模型加载器DefaultModelLoader从 HF/s3 等拉权重,safetensors / pytorch 格式。vllm/model_executor/model_loader/default_loader.py
列并行线性层ColumnParallelLinear权重按输出维切分,forward 后 all-gather 或在 RowParallel 前 reduce。vllm/model_executor/layers/linear.py
QKV 并行线性层QKVParallelLinearQ/K/V 一起按 head 切,合并 GQA/MQA 的投影。vllm/model_executor/layers/linear.py
行并行线性层RowParallelLinear权重按输入维切,forward 后 all-reduce。vllm/model_executor/layers/linear.py
KV 缓存管理器KVCacheManagerblock 分配与生命周期,跨 group。vllm/v1/core/kv_cache_manager.py
KV 缓存协调器KVCacheCoordinatorHybrid/Unitary/NoPrefixCache 三种。vllm/v1/core/kv_cache_coordinator.py
块池BlockPoolPagedAttention 块分配 + prefix cache LRU。vllm/v1/core/block_pool.py
分页注意力PagedAttention按 block 切分 KV cache,避免连续内存碎片。csrc/attention/
前缀缓存Prefix Caching共享前缀的 KV block 跨请求复用。vllm/v1/core/kv_cache_manager.py
注意力后端AttentionBackendFlashAttention/FlashInfer/Triton/MLA 抽象层。vllm/v1/attention/backend.py
FlashAttentionFlashAttentionDao Labs 的 flash_attn kernel,FA2/3/4 自适应。vllm/v1/attention/backends/flash_attn.py
FlashInferFlashInferFlashInfer 项目 kernel,GQA/FP8/大 page 原生支持。vllm/v1/attention/backends/flashinfer.py
TritonTriton纯 Python Triton kernel,fp32 与边缘量化兜底。vllm/v1/attention/backends/triton_attn.py
潜空间注意力MLAMulti-head Latent Attention,DeepSeek 系列,缓存 latent + RoPE。vllm/v1/attention/backends/mla/
采样器Samplerforward/sample,logits → token。vllm/v1/sample/sampler.py
Logits 处理器LogitsProcessor采样前的 logits 变换抽象,argmax-invariant 分类。vllm/v1/sample/logits_processor/interface.py
并行态parallel_stateTP/PP/DP 通信组全局单例。vllm/distributed/parallel_state.py
组协调器GroupCoordinatorProcessGroup 封装,持 CPU/device 双 group。vllm/distributed/parallel_state.py
张量并行TPTensor Parallelism,权重按维度切,前向时 all-reduce/all-gather。
流水线并行PPPipeline Parallelism,模型按层切分到多 GPU,微批流水。

目录约定

  • 源码:vllm-project/vllm,主代码在 vllm/(Python),CUDA kernel 在 csrc/
  • v0.25 已切到 v1 架构:vllm/v1/ 是主战场,vllm/engine/ 多为别名。
  • 入口:vllm/entrypoints/(llm.py 离线、openai/ server、cli/)。

官方资料

源码版本

本站源码版本钉定 v0.25.1,行号以该 tag 为准。所有 SrcLink 指向 github.com/vllm-project/vllm/blob/v0.25.1/<path>#Lxx-Lyy。升版本改 docs/.vitepress/site.tsVLLM_TAG 再跑 npm run check:refs