Skip to content

[Bug]: The Deepseek v4 model compiles kenrel during the inference process #48809

Description

@leihuang-sketch

Your current environment

The output of python collect_env.py
Your output of `python collect_env.py` here

🐛 Describe the bug

Nvidia H100 * 4

test cmd

vllm serve deepseek-ai/DeepSeek-V4-Flash \
  --trust-remote-code \
  --kv-cache-dtype fp8 \
  --block-size 256 \
  --tensor-parallel-size 4 \
  --no-enable-flashinfer-autotune \
  --tokenizer-mode deepseek_v4 \
  --tool-call-parser deepseek_v4 \
  --enable-auto-tool-choice \
  --reasoning-parser deepseek_v4 \
  --speculative-config '{"method":"mtp","num_speculative_tokens":1}'

Exception log

(Worker_TP1 pid=1099) 2026-07-06 16:03:24  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_pre_big_fuse_with_norm_tilelang` with `out_idx=None`
(Worker_TP0 pid=1098) 2026-07-06 16:03:24  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_pre_big_fuse_with_norm_tilelang` with `out_idx=None`
(Worker_TP2 pid=1100) 2026-07-06 16:03:24  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_pre_big_fuse_with_norm_tilelang` with `out_idx=None`
(Worker_TP3 pid=1101) 2026-07-06 16:03:24  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_pre_big_fuse_with_norm_tilelang` with `out_idx=None`
(Worker_TP1 pid=1099) 2026-07-06 16:03:34  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_pre_big_fuse_with_norm_tilelang`
(Worker_TP0 pid=1098) 2026-07-06 16:03:34  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_pre_big_fuse_with_norm_tilelang`
(Worker_TP2 pid=1100) 2026-07-06 16:03:34  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_pre_big_fuse_with_norm_tilelang`
(Worker_TP3 pid=1101) 2026-07-06 16:03:34  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_pre_big_fuse_with_norm_tilelang`
(Worker_TP1 pid=1099) 2026-07-06 16:03:48  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_post_tilelang` with `out_idx=None`
(Worker_TP0 pid=1098) 2026-07-06 16:03:48  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_post_tilelang` with `out_idx=None`
(Worker_TP3 pid=1101) 2026-07-06 16:03:49  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_post_tilelang` with `out_idx=None`
(Worker_TP2 pid=1100) 2026-07-06 16:03:49  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_post_tilelang` with `out_idx=None`
(Worker_TP1 pid=1099) 2026-07-06 16:03:52  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_post_tilelang`
(Worker_TP0 pid=1098) 2026-07-06 16:03:52  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_post_tilelang`
(Worker_TP3 pid=1101) 2026-07-06 16:03:53  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_post_tilelang`
(Worker_TP2 pid=1100) 2026-07-06 16:03:53  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_post_tilelang`
(EngineCore pid=900) INFO 07-06 16:04:19 [shm_broadcast.py:705] No available shared memory broadcast block found in 60 seconds. This typically happens when some processes are hanging or doing some time-consuming work (e.g. compilation, weight/kv cache quantization).
(Worker_TP1 pid=1099) 2026-07-06 16:04:20  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `hc_head_fuse_tilelang` with `out_idx=None`
(Worker_TP0 pid=1098) 2026-07-06 16:04:20  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `hc_head_fuse_tilelang` with `out_idx=None`
(Worker_TP2 pid=1100) 2026-07-06 16:04:20  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `hc_head_fuse_tilelang` with `out_idx=None`
(Worker_TP3 pid=1101) 2026-07-06 16:04:20  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `hc_head_fuse_tilelang` with `out_idx=None`
(Worker_TP0 pid=1098) 2026-07-06 16:04:26  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `hc_head_fuse_tilelang`
(Worker_TP2 pid=1100) 2026-07-06 16:04:26  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `hc_head_fuse_tilelang`
(Worker_TP3 pid=1101) 2026-07-06 16:04:26  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `hc_head_fuse_tilelang`
(Worker_TP1 pid=1099) 2026-07-06 16:04:26  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `hc_head_fuse_tilelang`
(Worker_TP0 pid=1098) INFO 07-06 16:04:40 [indexer.py:276] DSA indexer decode path: use_flattening=False (next_n=2, use_fp4_indexer_cache=False)
(Worker_TP1 pid=1099) INFO 07-06 16:04:43 [gpu_model_runner.py:6483] Profiling CUDA graph memory: PIECEWISE=50 (largest=512), FULL=50 (largest=512)
(Worker_TP0 pid=1098) INFO 07-06 16:04:43 [gpu_model_runner.py:6483] Profiling CUDA graph memory: PIECEWISE=50 (largest=512), FULL=50 (largest=512)
(Worker_TP3 pid=1101) INFO 07-06 16:04:43 [gpu_model_runner.py:6483] Profiling CUDA graph memory: PIECEWISE=50 (largest=512), FULL=50 (largest=512)
(Worker_TP2 pid=1100) INFO 07-06 16:04:43 [gpu_model_runner.py:6483] Profiling CUDA graph memory: PIECEWISE=50 (largest=512), FULL=50 (largest=512)
(Worker_TP1 pid=1099) 2026-07-06 16:04:46  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_pre_big_fuse_with_norm_tilelang` with `out_idx=None`
(Worker_TP0 pid=1098) 2026-07-06 16:04:46  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_pre_big_fuse_with_norm_tilelang` with `out_idx=None`
(Worker_TP3 pid=1101) 2026-07-06 16:04:46  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_pre_big_fuse_with_norm_tilelang` with `out_idx=None`
(Worker_TP2 pid=1100) 2026-07-06 16:04:46  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:133): TileLang begins to compile kernel `mhc_pre_big_fuse_with_norm_tilelang` with `out_idx=None`
(Worker_TP1 pid=1099) 2026-07-06 16:04:56  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_pre_big_fuse_with_norm_tilelang`
(Worker_TP0 pid=1098) 2026-07-06 16:04:56  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_pre_big_fuse_with_norm_tilelang`
(Worker_TP3 pid=1101) 2026-07-06 16:04:57  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_pre_big_fuse_with_norm_tilelang`
(Worker_TP2 pid=1100) 2026-07-06 16:04:57  [TileLang:tilelang.jit.kernel:INFO] (kernel.py:141): TileLang completes to compile kernel `mhc_pre_big_fuse_with_norm_tilelang`

others

(Worker_TP1 pid=387) WARNING 07-14 11:09:35 [jit_monitor.py:126] Triton kernel JIT compilation during inference: _build_c128a_topk_metadata_kernel (constexprs={BLOCK_SIZE=1024}; signature={BLOCK_SIZE='constexpr', block_size='i32', block_table_ptr='*i32', block_table_stride='i32', compress_ratio='i32', decode_lens_ptr='*i32', global_decode_ptr='*i32', global_decode_stride='i32', max_compressed_tokens='i32', num_decode_tokens='i32', positions_ptr='*i64', prefill_local_ptr='*i32', prefill_local_stride='i32', slot_mapping_ptr='*i64', token_to_req_indices_ptr='*i32'}; extra_compile_info={configs=[{(0,): [['tt.divisibility', 16]], (1,): [['tt.divisibility', 16]], (2,): [['tt.divisibility', 16]], (3,): [['tt.divi..., device=1, enable_fp_fusion=True, extern_libs=(('libdevice', '/usr/local/lib/python3.12/dist-packages/triton/backends/nvidia/lib/libdevice.10.bc'),), is_warmup=False, launch_cooperative_grid=False, num_ctas=1, num_stages=3, num_warps=4, specialization_data='{"name": "vllm.models.deepseek_v4.sparse_mla._build_c128a_topk_metadata_kernel", "signature": {"global_decode_ptr": ...}; key="[('*i32', 'D'), ('i32', 'D'), ('*i32', 'D'), ('*i32', 'D'), ('i32', 'D'), ('*i64', 'D'), ('i32', 'D'), ('i32', 'D'),...). This causes a latency spike; consider extending warmup to cover this shape/config.
(Worker_TP2 pid=388) WARNING 07-14 11:09:35 [jit_monitor.py:126] Triton kernel JIT compilation during inference: _build_c128a_topk_metadata_kernel (constexprs={BLOCK_SIZE=1024}; signature={BLOCK_SIZE='constexpr', block_size='i32', block_table_ptr='*i32', block_table_stride='i32', compress_ratio='i32', decode_lens_ptr='*i32', global_decode_ptr='*i32', global_decode_stride='i32', max_compressed_tokens='i32', num_decode_tokens='i32', positions_ptr='*i64', prefill_local_ptr='*i32', prefill_local_stride='i32', slot_mapping_ptr='*i64', token_to_req_indices_ptr='*i32'}; extra_compile_info={configs=[{(0,): [['tt.divisibility', 16]], (1,): [['tt.divisibility', 16]], (2,): [['tt.divisibility', 16]], (3,): [['tt.divi..., device=2, enable_fp_fusion=True, extern_libs=(('libdevice', '/usr/local/lib/python3.12/dist-packages/triton/backends/nvidia/lib/libdevice.10.bc'),), is_warmup=False, launch_cooperative_grid=False, num_ctas=1, num_stages=3, num_warps=4, specialization_data='{"name": "vllm.models.deepseek_v4.sparse_mla._build_c128a_topk_metadata_kernel", "signature": {"global_decode_ptr": ...}; key="[('*i32', 'D'), ('i32', 'D'), ('*i32', 'D'), ('*i32', 'D'), ('i32', 'D'), ('*i64', 'D'), ('i32', 'D'), ('i32', 'D'),...). This causes a latency spike; consider extending warmup to cover this shape/config.
(Worker_TP3 pid=389) WARNING 07-14 11:09:35 [jit_monitor.py:126] Triton kernel JIT compilation during inference: _build_c128a_topk_metadata_kernel (constexprs={BLOCK_SIZE=1024}; signature={BLOCK_SIZE='constexpr', block_size='i32', block_table_ptr='*i32', block_table_stride='i32', compress_ratio='i32', decode_lens_ptr='*i32', global_decode_ptr='*i32', global_decode_stride='i32', max_compressed_tokens='i32', num_decode_tokens='i32', positions_ptr='*i64', prefill_local_ptr='*i32', prefill_local_stride='i32', slot_mapping_ptr='*i64', token_to_req_indices_ptr='*i32'}; extra_compile_info={configs=[{(0,): [['tt.divisibility', 16]], (1,): [['tt.divisibility', 16]], (2,): [['tt.divisibility', 16]], (3,): [['tt.divi..., device=3, enable_fp_fusion=True, extern_libs=(('libdevice', '/usr/local/lib/python3.12/dist-packages/triton/backends/nvidia/lib/libdevice.10.bc'),), is_warmup=False, launch_cooperative_grid=False, num_ctas=1, num_stages=3, num_warps=4, specialization_data='{"name": "vllm.models.deepseek_v4.sparse_mla._build_c128a_topk_metadata_kernel", "signature": {"global_decode_ptr": ...}; key="[('*i32', 'D'), ('i32', 'D'), ('*i32', 'D'), ('*i32', 'D'), ('i32', 'D'), ('*i64', 'D'), ('i32', 'D'), ('i32', 'D'),...). This causes a latency spike; consider extending warmup to cover this shape/config.
(Worker_TP0 pid=386) WARNING 07-14 11:09:35 [jit_monitor.py:126] Triton kernel JIT compilation during inference: _build_c128a_topk_metadata_kernel (constexprs={BLOCK_SIZE=1024}; signature={BLOCK_SIZE='constexpr', block_size='i32', block_table_ptr='*i32', block_table_stride='i32', compress_ratio='i32', decode_lens_ptr='*i32', global_decode_ptr='*i32', global_decode_stride='i32', max_compressed_tokens='i32', num_decode_tokens='i32', positions_ptr='*i64', prefill_local_ptr='*i32', prefill_local_stride='i32', slot_mapping_ptr='*i64', token_to_req_indices_ptr='*i32'}; extra_compile_info={configs=[{(0,): [['tt.divisibility', 16]], (1,): [['tt.divisibility', 16]], (2,): [['tt.divisibility', 16]], (3,): [['tt.divi..., device=0, enable_fp_fusion=True, extern_libs=(('libdevice', '/usr/local/lib/python3.12/dist-packages/triton/backends/nvidia/lib/libdevice.10.bc'),), is_warmup=False, launch_cooperative_grid=False, num_ctas=1, num_stages=3, num_warps=4, specialization_data='{"name": "vllm.models.deepseek_v4.sparse_mla._build_c128a_topk_metadata_kernel", "signature": {"global_decode_ptr": ...}; key="[('*i32', 'D'), ('i32', 'D'), ('*i32', 'D'), ('*i32', 'D'), ('i32', 'D'), ('*i64', 'D'), ('i32', 'D'), ('i32', 'D'),...). This causes a latency spike; consider extending warmup to cover this shape/config.
(Worker_TP0 pid=386) WARNING 07-14 11:09:35 [jit_monitor.py:126] Triton kernel JIT compilation during inference: eagle_step_slot_mapping_metadata_kernel (constexprs={PAD_ID=-1, batch_size=1, block_size=64, max_model_len=1048576, n_blocks_per_req=16384}; signature={PAD_ID='constexpr', batch_size='constexpr', block_size='constexpr', block_table_ptr='*i32', block_table_stride='i32', max_model_len='constexpr', n_blocks_per_req='constexpr', out_clamped_positions_ptr='*i64', out_slot_mapping_ptr='*i64', positions_ptr='*i64', seq_lens_ptr='*i32'}; extra_compile_info={configs=[{(0,): [['tt.divisibility', 16]], (1,): [['tt.divisibility', 16]], (2,): [['tt.divisibility', 16]], (3,): [['tt.divi..., device=0, enable_fp_fusion=True, extern_libs=(('libdevice', '/usr/local/lib/python3.12/dist-packages/triton/backends/nvidia/lib/libdevice.10.bc'),), is_warmup=False, launch_cooperative_grid=False, num_ctas=1, num_stages=3, num_warps=4, specialization_data='{"name": "vllm.v1.spec_decode.utils.eagle_step_slot_mapping_metadata_kernel", "signature": {"positions_ptr": "*i64",...}; key="[('*i64', 'D'), ('*i32', 'D'), ('i32', 'D'), ('*i32', 'D'), ('*i64', 'D'), ('*i64', 'D'), ('constexpr', 64), ('const...). This causes a latency spike; consider extending warmup to cover this shape/config.
(Worker_TP3 pid=389) WARNING 07-14 11:09:35 [jit_monitor.py:126] Triton kernel JIT compilation during inference: eagle_step_slot_mapping_metadata_kernel (constexprs={PAD_ID=-1, batch_size=1, block_size=64, max_model_len=1048576, n_blocks_per_req=16384}; signature={PAD_ID='constexpr', batch_size='constexpr', block_size='constexpr', block_table_ptr='*i32', block_table_stride='i32', max_model_len='constexpr', n_blocks_per_req='constexpr', out_clamped_positions_ptr='*i64', out_slot_mapping_ptr='*i64', positions_ptr='*i64', seq_lens_ptr='*i32'}; extra_compile_info={configs=[{(0,): [['tt.divisibility', 16]], (1,): [['tt.divisibility', 16]], (2,): [['tt.divisibility', 16]], (3,): [['tt.divi..., device=3, enable_fp_fusion=True, extern_libs=(('libdevice', '/usr/local/lib/python3.12/dist-packages/triton/backends/nvidia/lib/libdevice.10.bc'),), is_warmup=False, launch_cooperative_grid=False, num_ctas=1, num_stages=3, num_warps=4, specialization_data='{"name": "vllm.v1.spec_decode.utils.eagle_step_slot_mapping_metadata_kernel", "signature": {"positions_ptr": "*i64",...}; key="[('*i64', 'D'), ('*i32', 'D'), ('i32', 'D'), ('*i32', 'D'), ('*i64', 'D'), ('*i64', 'D'), ('constexpr', 64), ('const...). This causes a latency spike; consider extending warmup to cover this shape/config.
(Worker_TP1 pid=387) WARNING 07-14 11:09:35 [jit_monitor.py:126] Triton kernel JIT compilation during inference: eagle_step_slot_mapping_metadata_kernel (constexprs={PAD_ID=-1, batch_size=1, block_size=64, max_model_len=1048576, n_blocks_per_req=16384}; signature={PAD_ID='constexpr', batch_size='constexpr', block_size='constexpr', block_table_ptr='*i32', block_table_stride='i32', max_model_len='constexpr', n_blocks_per_req='constexpr', out_clamped_positions_ptr='*i64', out_slot_mapping_ptr='*i64', positions_ptr='*i64', seq_lens_ptr='*i32'}; extra_compile_info={configs=[{(0,): [['tt.divisibility', 16]], (1,): [['tt.divisibility', 16]], (2,): [['tt.divisibility', 16]], (3,): [['tt.divi..., device=1, enable_fp_fusion=True, extern_libs=(('libdevice', '/usr/local/lib/python3.12/dist-packages/triton/backends/nvidia/lib/libdevice.10.bc'),), is_warmup=False, launch_cooperative_grid=False, num_ctas=1, num_stages=3, num_warps=4, specialization_data='{"name": "vllm.v1.spec_decode.utils.eagle_step_slot_mapping_metadata_kernel", "signature": {"positions_ptr": "*i64",...}; key="[('*i64', 'D'), ('*i32', 'D'), ('i32', 'D'), ('*i32', 'D'), ('*i64', 'D'), ('*i64', 'D'), ('constexpr', 64), ('const...). This causes a latency spike; consider extending warmup to cover this shape/config.
(Worker_TP2 pid=388) WARNING 07-14 11:09:35 [jit_monitor.py:126] Triton kernel JIT compilation during inference: eagle_step_slot_mapping_metadata_kernel (constexprs={PAD_ID=-1, batch_size=1, block_size=64, max_model_len=1048576, n_blocks_per_req=16384}; signature={PAD_ID='constexpr', batch_size='constexpr', block_size='constexpr', block_table_ptr='*i32', block_table_stride='i32', max_model_len='constexpr', n_blocks_per_req='constexpr', out_clamped_positions_ptr='*i64', out_slot_mapping_ptr='*i64', positions_ptr='*i64', seq_lens_ptr='*i32'}; extra_compile_info={configs=[{(0,): [['tt.divisibility', 16]], (1,): [['tt.divisibility', 16]], (2,): [['tt.divisibility', 16]], (3,): [['tt.divi..., device=2, enable_fp_fusion=True, extern_libs=(('libdevice', '/usr/local/lib/python3.12/dist-packages/triton/backends/nvidia/lib/libdevice.10.bc'),), is_warmup=False, launch_cooperative_grid=False, num_ctas=1, num_stages=3, num_warps=4, specialization_data='{"name": "vllm.v1.spec_decode.utils.eagle_step_slot_mapping_metadata_kernel", "signature": {"positions_ptr": "*i64",...}; key="[('*i64', 'D'), ('*i32', 'D'), ('i32', 'D'), ('*i32', 'D'), ('*i64', 'D'), ('*i64', 'D'), ('constexpr', 64), ('const...). This causes a latency spike; consider extending warmup to cover this shape/config.

Before submitting a new issue...

  • Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions