Skip to content

Glossar und Materialien

源码版本v0.25.1

Kernbegriffe

BegriffEnglischErläuterung
Engine-ParameterEngineArgsAlle Startparameter, deriviert VllmConfig. vllm/engine/arg_utils.py
Globale KonfigurationVllmConfigAggregat aus Modell/Cache/Scheduling/Parallelitäts-Teilkonfigurationen. vllm/config/__init__.py
LLM-OfflineklasseLLMSynchrone Offline-Generierung, LLM.generate. vllm/entrypoints/llm.py
Asynchrone LLMAsyncLLMAsynchrone Implementierung von EngineClient, serverseitiger Einstieg. vllm/v1/engine/async_llm.py
LLM-EngineLLMEnginev1 dünne Hülle, add_request/step, delegiert an EngineCore. vllm/v1/engine/llm_engine.py
Engine-KernEngineCoreEigentlicher Kern, kombiniert scheduler+worker+kv cache. vllm/v1/engine/core.py
Engine-Kern-ProzessEngineCoreProcZMQ-Hintergrundprozess-Hülle, erbt von EngineCore. vllm/v1/engine/core.py
Engine-ClientEngineCoreClientInproc/MP/AsyncMP-Client-ABC. vllm/v1/engine/core_client.py
In-Process-ClientInprocClientStartet keinen Prozess, ruft direkt step_fn auf. vllm/v1/engine/core_client.py
Multiprocess-ClientMPClientMultiprocess synchron, kommuniziert über ZMQ. vllm/v1/engine/core_client.py
SchedulerSchedulerwaiting/running-Warteschlangen, schedule, Preemption. vllm/v1/core/sched/scheduler.py
Request-WarteschlangeRequestQueueFCFS / Priority, zwei Strategien. vllm/v1/core/sched/queue.py
Continuous BatchingContinuous BatchingDynamisches Batch-Assembly pro Schritt, prefill und decode gemischt. vllm/v1/core/sched/scheduler.py
PreemptionPreemptionTauscht bei VRAM-Mangel laufende Requests aus, um Platz für neue Requests zu schaffen. vllm/v1/core/sched/scheduler.py
ExecutorExecutorUniProc/Multiproc/Ray in drei Ausprägungen. vllm/v1/executor/
Ray Distributed ExecutorRayDistributedExecutorNode-übergreifende Ray-Cluster-Worker-Scheduling. vllm/v1/executor/ray_distributed_executor.py
WorkerWorkerVerteilte Umgebung + GPU-Ausführungseinheit. vllm/v1/worker/gpu_worker.py
ModelRunnerGPUModelRunnerexecute_model, input_batch, cudagraph-Verwaltung. vllm/v1/worker/gpu_model_runner.py
MikrobatchubatchInnerhalb eines Schritts Requests weiter in Mikrobatches splitten, an cudagraph angepasst. vllm/v1/worker/gpu_model_runner.py
CUDA-GraphcudagraphVoraufgezeichnete Kernel-Sequenz, feste Shape, eliminiert Launch-Overhead. vllm/v1/worker/gpu_model_runner.py
Default Model LoaderDefaultModelLoaderZieht Gewichte von HF/s3 etc., safetensors/pytorch-Formate. vllm/model_executor/model_loader/default_loader.py
Column-Parallel LinearColumnParallelLinearGewichte nach Output-Dimension gesplittet, nach forward all-gather oder vor RowParallel reduce. vllm/model_executor/layers/linear.py
QKV-Parallel LinearQKVParallelLinearQ/K/V gemeinsam nach Head gesplittet, vereinigt Projektionen für GQA/MQA. vllm/model_executor/layers/linear.py
Row-Parallel LinearRowParallelLinearGewichte nach Input-Dimension gesplittet, nach forward all-reduce. vllm/model_executor/layers/linear.py
KV-Cache-ManagerKVCacheManagerBlock-Allokation und Lebenszyklus, gruppenübergreifend. vllm/v1/core/kv_cache_manager.py
KV-Cache-KoordinatorKVCacheCoordinatorHybrid/Unitary/NoPrefixCache in drei Ausprägungen. vllm/v1/core/kv_cache_coordinator.py
Block-PoolBlockPoolPagedAttention-Block-Allokation + Prefix-Cache-LRU. vllm/v1/core/block_pool.py
PagedAttentionPagedAttentionKV-Cache nach Blocks gesplittet, vermeidet Fragmentierung zusammenhängenden Speichers. csrc/attention/
Prefix-CachingPrefix CachingWiederverwendung von KV-Blöcken mit gemeinsamem Prefix requestsübergreifend. vllm/v1/core/kv_cache_manager.py
Attention-BackendAttentionBackendFlashAttention/FlashInfer/Triton/MLA-Abstraktionslayer. vllm/v1/attention/backend.py
FlashAttentionFlashAttentionflash_attn-Kernel von Dao Labs, FA2/3/4 adaptiv. vllm/v1/attention/backends/flash_attn.py
FlashInferFlashInferKernel des FlashInfer-Projekts, native Unterstützung für GQA/FP8/large page. vllm/v1/attention/backends/flashinfer.py
TritonTritonReiner Python-Triton-Kernel, Fallback für fp32 und Rand-Quantisierung. vllm/v1/attention/backends/triton_attn.py
Latent AttentionMLAMulti-head Latent Attention, DeepSeek-Serie, cached latent + RoPE. vllm/v1/attention/backends/mla/
SamplerSamplerforward/sample, logits → Token. vllm/v1/sample/sampler.py
LogitsProcessorLogitsProcessorLogits-Transformations-Abstraktion vor dem Sampling, argmax-invariante Klassifikation. vllm/v1/sample/logits_processor/interface.py
Parallel Stateparallel_stateTP/PP/DP-Kommunikationsgruppen, globales Singleton. vllm/distributed/parallel_state.py
GroupCoordinatorGroupCoordinatorProcessGroup-Wrapper, hält CPU/device-Doppelgruppe. vllm/distributed/parallel_state.py
Tensor ParallelismTPTensor Parallelism, Gewichte nach Dimension gesplittet, beim Forward all-reduce/all-gather.
Pipeline ParallelismPPPipeline Parallelism, Modell nach Schichten auf mehrere GPUs gesplittet, Mikrobatch-Pipeline.

Verzeichniskonventionen

  • Quellcode: vllm-project/vllm, Hauptcode in vllm/ (Python), CUDA-Kernel in csrc/.
  • v0.25 ist auf die v1-Architektur umgestellt: vllm/v1/ ist das Hauptfeld, vllm/engine/ zumeist Alias.
  • Einstiegspunkte: vllm/entrypoints/ (llm.py offline, openai/ server, cli/).

Offizielle Materialien

Quellcodeversion

Diese Seite pinnt die Quellcodeversion auf v0.25.1, Zeilennummern gelten für diesen Tag. Alle SrcLink zeigen auf github.com/vllm-project/vllm/blob/v0.25.1/<path>#Lxx-Lyy. Bei Versionswechsel VLLM_TAG in docs/.vitepress/site.ts ändern und dann npm run check:refs ausführen.