vllm.models.deepseek_v41.nvidia.specialized_decode.logits.lm_head
¶
Low-batch LM head: FlashInfer's CuTe DSL mm_bf16 (split-K) for up to
LM_HEAD_MAX_ROWS rows.
SpecializedDecodeLogitsProcessor projects through it, so a model that shares the
head module but not the processor keeps the default GEMM. The runner computes
logits outside the CUDA graph, and the GEMM has no cross-rank state, so the
gate is the row count alone.
Functions:
-
autotune_low_batch_lm_head–Tune each power-of-two row bucket inside FlashInfer's autotune context.
-
low_batch_lm_head_applies–Whether
low_batch_lm_headtakesx: an unquantized BF16 head -
warmup_low_batch_lm_head–Compile the selected kernel for every row count (CuTe DSL compiles per
_heads(model)
¶
The LM heads of model that the GEMM takes.
Source code in vllm/models/deepseek_v41/nvidia/specialized_decode/logits/lm_head.py
autotune_low_batch_lm_head(model)
¶
Tune each power-of-two row bucket inside FlashInfer's autotune context.
Source code in vllm/models/deepseek_v41/nvidia/specialized_decode/logits/lm_head.py
low_batch_lm_head_applies(lm_head, x)
¶
Whether low_batch_lm_head takes x: an unquantized BF16 head
and 1 to LM_HEAD_MAX_ROWS rows.
Source code in vllm/models/deepseek_v41/nvidia/specialized_decode/logits/lm_head.py
warmup_low_batch_lm_head(model)
¶
Compile the selected kernel for every row count (CuTe DSL compiles per M).