diff --git a/python/sglang/kernels/jit/include/sgl_kernel/deepseek_v4/kv_layout.cuh b/python/sglang/kernels/jit/include/sgl_kernel/deepseek_v4/kv_layout.cuh index 9317e9482..6c9f9579b 100644 --- a/python/sglang/kernels/jit/include/sgl_kernel/deepseek_v4/kv_layout.cuh +++ b/python/sglang/kernels/jit/include/sgl_kernel/deepseek_v4/kv_layout.cuh @@ -205,6 +205,22 @@ store_row(uint8_t* data_row, uint8_t* scale_row, uint32_t tx, const device::Alig } // namespace v41 +#else // USE_ROCM + +namespace v41 { + +template +inline constexpr bool dependent_false_v = false; + +/// A discarded `if constexpr` branch is still parsed, so the V4 callers need the name to +/// resolve on ROCm; instantiating it is the error. +template +SGL_DEVICE void store_row(uint8_t*, uint8_t*, uint32_t, Ts&&...) { + static_assert(dependent_false_v, "the V4.1 KV layouts are CUDA only"); +} + +} // namespace v41 + #endif // USE_ROCM } // namespace deepseek_v4 diff --git a/python/sglang/srt/layers/attention/deepseek_v4_backend_hip_radix.py b/python/sglang/srt/layers/attention/deepseek_v4_backend_hip_radix.py index 68e6d5f21..3d4b2caa3 100644 --- a/python/sglang/srt/layers/attention/deepseek_v4_backend_hip_radix.py +++ b/python/sglang/srt/layers/attention/deepseek_v4_backend_hip_radix.py @@ -913,6 +913,7 @@ class DeepseekV4HipRadixBackend( self._attach_unified_kv_prefill_meta( core_attn_metadata, req_pool_indices, + req_pool_indices_repeated, seq_lens, extend_seq_lens, num_draft_tokens * bs,