Vocabularies¶
Every enumerated key in a document accepts only the values listed here; an unrecognized value is an error. The kernel's own enumerations are listed at the end. The lists are generated from the Go constants, so they are the values the code accepts.
These vocabularies are fixed by the schema and do not change with an engine release. Values that do, such as backend names and cache dtypes, are listed with the rules pack for each release.
Coefficients¶
Units¶
The unit of a coefficient's value.
dimensionless · us_per_layer · us_per_request · us_per_step · us_per_hop · bytes_per_us · bytes_per_rank · us_per_load · us_per_transfer · tokens · sm_count · us_per_token
Methods¶
How a coefficient's value was obtained. This is the field that keeps a measurement distinguishable from an estimate, so it is never inferred.
measured · literature · vendor_spec · copied · assumed · not_charged · calibrated
measured- From a measurement. The entry should cite it; the schema does not require that.
literature- From a published result that was not independently reproduced.
vendor_spec- A datasheet figure: nominal, not achieved.
copied- Carried over from another scope, which
copied_fromnames. assumed- A placeholder, or an estimate reached by reasoning. A careful estimate is still assumed;
the reasoning goes in
rationale. not_charged- Deliberately zero, so that "no cost" can be told apart from "cost unknown".
calibrated- Back-solved through the cost model from end-to-end measured runs, and
checked against held-out ones. The entry cites its runs as sources of kind
measured_caseand names the held-out metrics invalidated. It is notderived, which is a catalog provenance: a figure computed from other catalog facts.
measured, literature, vendor_spec and calibrated count as evidenced. That is a statement about
the basis of a number, not its quality: a vendor figure is evidenced but nominal.
Scope keys¶
The dimensions along which a coefficient's validity is bounded. A coefficient's scope
uses these as its keys.
hardware · tp · ep · nodes_spanned · model
Source kinds¶
discussion · publication · datasheet · model · vendor_doc · measured_case
Source roles¶
primary · supporting · upper_bound
Catalog facts¶
Provenances¶
Where a chip's or fabric's figures come from. vendor_spec is a datasheet figure;
derived is one computed from datasheet figures by a step the datasheet does not state.
vendor_spec · derived
Model graphs¶
Primitives¶
A node's op.
GEMM · GroupedGEMM · Attention · RecurrentUpdate · Elementwise · Gather · AllReduce · AllGather · ReduceScatter · All2All
Dtypes¶
A graph's weight_dtype, and a node's weight_dtype and state_dtype. Only formats that
change a byte count or a peak rate appear. nvfp4, mxfp4 and int4 are three different
4-bit formats, not spellings of one.
bf16 · fp16 · fp8 · nvfp4 · mxfp4 · int8 · int4 · fp32
Attention kinds¶
An Attention node's kind. mla and sparse_mla store one latent vector per token,
which is why their n_kv is 1. sparse_mla is attention by a sparse kernel over an
explicit set of positions, bounded by a top-k (index_topk), a compressed stream
(compress_ratio), a sliding window (window), or a combination: DeepSeek-V4.1's
window-only layers run the same sparse FlashMLA kernel as its compressed ones.
gqa · mla · sparse_mla · swa
Recurrent kinds¶
A RecurrentUpdate node's recurrent_kind.
mamba2 · kda · gdn
Emit conditions¶
A node's emit. "", the empty value, means the node always exists, and is what an
omitted emit reads as.
"" · tensor_parallel · expert_parallel · tensor_parallel_unless_sp_moe · sequence_parallel · tensor_parallel_unless_sequence_parallel
tensor_parallel- Present when the tensor-parallel width exceeds 1.
expert_parallel- Present when the expert-parallel width exceeds 1.
tensor_parallel_unless_sp_moe- Present when the tensor-parallel width exceeds 1 and the engine has not made the MoE input sequence-parallel. Under sequence-parallel MoE the reduction is replaced by a reduce-scatter and all-gather pair.
sequence_parallel- Present when the model's own sequence parallelism is on, as the rules pack decides it
for
global.architecture. DeepSeek-V4.1 then shards the residual stream by token and all-gathers each attention input, then reduce-scatters its output. tensor_parallel_unless_sequence_parallel- Present when the tensor-parallel width exceeds 1 and the model's own sequence parallelism is off: the all-reduces sequence parallelism replaces.
The last two belong on collectives. Work runs in every layout, including tensor
parallelism one, where neither condition holds, so a node stated twice, once under each,
would vanish there. Work is stated once, with
under_sequence_parallel for how the mode divides it. A
non-collective node carrying either condition draws a warning.
A model that decides its own sequence parallelism never consults the engine-wide rule
tensor_parallel_unless_sp_moe names, so its decoder-layer reductions, the MoE's
included, use tensor_parallel_unless_sequence_parallel. DeepSeek-V4.1 passes its own flag
to its MoE, and vLLM's FusedMoE then skips the final tensor-parallel all-reduce. The
0.31.0 rules pack reports the engine-wide condition on such a model as an error.
The condition holds on DeepSeek-V4's and V4.1's mega-MoE backend too. That backend requires expert parallelism, so it runs without the model's sequence parallelism only at tensor parallelism one or pipeline parallelism above one. There its routed experts combine over the expert-parallel group with no tensor-parallel all-reduce, and its shared expert, which fuses into the kernel only under sequence parallelism or tensor parallelism one, runs tensor-parallel and all-reduces its own output. So the layer still reduces one hidden-width tensor across tensor-parallel ranks, as on the default backend.
Modalities¶
A graph's modality. An omitted modality means text_only.
text_only · text_decoder_of_multimodal
Tensor-parallel layouts¶
A node's tp. An omitted tp leaves the layout to the cost model's inference. A GEMM
accepts column, row and replicated; an Elementwise or Attention node accepts
sharded and replicated. No other primitive accepts one.
"" · column · row · sharded · replicated
column- The output width
nsplits across ranks. row- The input width
ksplits across ranks. The partial sums are reduced by a collective the graph states separately. sharded- The work splits across ranks with the heads or columns it operates on.
replicated- Every rank holds the whole weight and does the whole node for every token it holds.
Sequence-parallel splits¶
A node's under_sequence_parallel: how it divides when the model's own sequence
parallelism is on. An omitted value means the node runs as tp states, over every token
the step schedules. It needs global.architecture, and a collective cannot carry it.
"" · token_sharded
token_sharded- The node runs on its rank's shard of the step's tokens,
ceil(tokens / tp)rows, because vLLM'ssp_shardpads the count to a multiple oftp. AGEMM,ElementwiseorAttentionnode then holds its whole weight, whatevertpstates: a column or row split needs every rank to hold the same rows. AGroupedGEMM's experts stay divided as expert parallelism decides, and aGather's table as itsshardstates.
tp alone can't say this. Under DeepSeek-V4.1's sequence parallelism the residual stream
is sharded by token, and only attention runs on the gathered stream, between its
all-gather and its reduce-scatter. mHC, before the gather, and the fused q/kv
A-projection, after it, are both replicated, yet the first sees 1/tp of the tokens and
the second all of them. Engram's wkv is column-split without the mode and replicated with
it, and runs at tensor parallelism one too. It is one node, tp: column with
under_sequence_parallel: token_sharded.
Cache kinds¶
A cache's kind, which decides how it grows.
kv · index · window · state
kv- Keys and values, or a latent: one entry per
tokens_per_entrycontext tokens. index- A sparse-attention indexer's key cache. It grows like
kv. window- A sliding-window ring, bounded by
windowtokens per request. state- Fixed per-request state,
entriesentries for the request's lifetime.
Gather residency¶
A Gather node's residency, and the engine setting that can change it, its
residency_control. An omitted residency means device; an omitted
residency_control means no setting moves the table.
device · host
"" · engram_cpu_offload
engram_cpu_offload- vLLM's Engram
cpu_offload. A deployment sets it withengine.engram_config.cpu_offload. The graph states the residency the engine gives the table when the deployment leaves it alone, which is a release fact: under 0.31.0 it ishost, and that pack'sengram-residency-defaultrule checks it.
Gather shards¶
A Gather node's shard. An omitted shard means replicated.
replicated · rows · heads
rows- The rows split evenly across ranks, and each token's row is read on the rank that holds it. vLLM's vocabulary embedding works this way.
heads- The table is
rows_per_tokensub-tables, one per hash head, split across S shards. Each shard holds ceil(rows_per_token/ S) of them and reads one row from each for every token. S is the tensor-parallel width, or that times the node's data-parallel replicas when they split the table rather than share one host copy, which the deployment'sengram_configdecides. DeepSeek-V4.1's Engram works this way.
Context work¶
An Elementwise node's context.per, context.phase and context.decode_extent.
query_token · request
query_token- Once per scheduled token, each over the context.
request- Once per request per step, over its context, however many of its tokens are scheduled.
"" · prefill
An omitted phase means every step; prefill means only steps that schedule the
request's prompt tokens.
"" · max_model_len
An omitted decode_extent means the request's context; max_model_len means the engine's
max_model_len, for a kernel launched over a buffer padded to it.
Drafting modes¶
A speculator's drafting. An omitted drafting means autoregressive.
"" · parallel_block
parallel_block- The draft stack runs once per step over
num_spec_tokenspositions per request, and each position predicts one draft token. DeepSeek-V4.1's DSpark drafts this way.
Deployments¶
Pool roles¶
colocated · prefill · decode
Frontends¶
A pool's engine.frontend, the API server that renders the chat template and tokenizes the
prompt before the request reaches the engine core. python, the default, is the Python
OpenAI server. rust is the vllm-rs frontend, which vLLM launches only when
VLLM_USE_RUST_FRONTEND=1 (vllm/envs.py and vllm/entrypoints/cli/serve.py; the default is
0 in v0.29.0 and v0.31.0). It tokenizes through fastokens.
python · rust
Data-parallel load balancing¶
A pool's parallel.data_parallel_load_balancing. internal, the default, serves one
endpoint and the engine balances requests across every rank. hybrid
(--data-parallel-hybrid-lb) serves one endpoint per node, balancing across that node's
ranks. external (--data-parallel-external-lb, or
--data-parallel-multi-port-external-lb, which launches one such server per local rank)
serves one endpoint per rank, and the router chooses the rank. Pack.ResolveDPLoadBalancing
returns the mode that runs: hybrid with one rank per node runs external, and with
every rank on one node runs internal.
internal · hybrid · external
Traces¶
Trace modes¶
A trace header's mode: how the trace was produced.
real · generated · replayed
Replay scenarios¶
A replay's scenario.
inferencex-agentx-mvp
Corpus formats¶
A replay corpus's format.
weka-trace-v7
Corpus encodings¶
A replay corpus's encoding.
jsonl
Cache-bust modes¶
A replay's cache_bust.
first_turn_prefix
Warmup modes¶
A replay's warmup.mode. synthesized sends, for every stream mid-flight at its lane's
snapshot, its last earlier request with one output token, and starts profiling when all
have returned. cache_pressure runs an accelerated warmup for a stated duration.
synthesized · cache_pressure
Time units¶
A trace header's time_unit. Several members name the same unit, because the tools that
write traces spell it differently.
ns · nanoseconds · us · microseconds · ms · milliseconds · s · seconds
Acceptance¶
Thinking modes¶
A profile's and a workload's thinking: whether the target model ran with its reasoning
mode on.
on · off
Measured runs¶
The vocabularies of a measured run and its licence registry.
Verdicts¶
EXACT · PARTIAL · NOT_REPRODUCIBLE
Resolutions¶
STRICT · RESOLVED
Measurement source kinds¶
inferencex · internal_llmd · llmd_benchmark · prism · vllm_bench · pytorch_hud · mlperf · aiconfigurator
Input roles¶
report · manifest · env · router · raw_artifact · server_log · tokenizer · dataset
Extraction methods¶
html_js_literal · html_table · yaml · json · csv · log_text · materialized
Ramp strategies¶
linear · exponential
Metric formulas¶
interactivity is 1000 over an inter-token-latency statistic, in tokens per second per
user. output_throughput, total_throughput and request_throughput are rates over a
window, with a denominator rather than a statistic.
ttft · tpot_excl_first · itl · e2el · output_throughput · total_throughput · request_throughput · interactivity · user_tps
Statistics¶
A percentile is written pNN or pNN.N, strictly between 0 and 100, with no leading or
trailing zeros: p50, p99, p99.9.
mean · median · std · max
Populations¶
per_request · pooled_chunks · pooled_tokens
Denominators¶
main_phase_wall · profiling_window · per_gpu · per_replica
Clocks¶
client · server
Start events¶
send_after_semaphore · arrival
Stop events¶
first_content_chunk · last_chunk
Output length sources¶
usage · tokenizer · target
Percentile methods¶
numpy_linear
Metric units¶
ms · tokens_per_s · requests_per_s
Provenance row verdicts¶
MATCH · MISMATCH · UNSTATED · UNVERIFIABLE
Materiality¶
yes · no · unknown · bounded
Difference kinds¶
not_expressible · not_modelled · conflict · unresolved · approximated
Licence statuses¶
verified · unverified · refused
Permitted uses¶
score · derive_coefficients · redistribute
Router kinds¶
direct · epp
Kernel¶
Resources¶
What a StepEstimate attributes cost to.
sm · hbm · nvlink · nic · pcie · copy_engine · host
Directions¶
A tier transfer's direction.
to_tier · from_tier
Source: vocab, and the
spec/ and kernel packages.