vllm.models.deepseek_v41.nvidia.specialized_decode.runtime.warmup
¶
Tuning and compiling the specialized decode's kernels.
The model state calls warm_up once the executor is built, before memory
profiling and CUDA graph capture, so no kernel compiles or tunes inside a
capture. FlashInfer's tuner times each tactic on every TP rank and reduces the
timings over the TP group, so every rank makes the same calls in the same
order.
Functions:
-
warm_up–Tune (unless FlashInfer autotuning is off) and compile the executor's
_aux_weights(steps)
¶
The weights the layers run on ll_bf16.
Source code in vllm/models/deepseek_v41/nvidia/specialized_decode/runtime/warmup.py
_deferred_moe(decode, vllm_config, rows, tune)
¶
One deferring MoE layer on rows random rows with the finalize
deferred, as the executor runs it above LOW_BATCH_MAX_ROWS rows:
tunes its experts over the serving buckets, and allocates what the
deferred launch allocates on first use before memory profiling.
Source code in vllm/models/deepseek_v41/nvidia/specialized_decode/runtime/warmup.py
_tuning()
¶
FlashInfer's tuning context, its timings reduced over the TP group.
Source code in vllm/models/deepseek_v41/nvidia/specialized_decode/runtime/warmup.py
_warm_up_mhc(decode, vllm_config, rows)
¶
Compile the split mHC pre-norm kernels the boundaries run, for every row count the executor takes; the layers register them for fewer rows.
Source code in vllm/models/deepseek_v41/nvidia/specialized_decode/runtime/warmup.py
warm_up(decode, vllm_config)
¶
Tune (unless FlashInfer autotuning is off) and compile the executor's GEMMs for every row count it runs them at.