From a1cc2860626c879cd5d093d9297d9e48e33bdf8c Mon Sep 17 00:00:00 2001 From: Polisetty V R K Jyothendra Varma Date: Thu, 6 Aug 2026 04:34:35 +0530 Subject: [PATCH] [Intel GPU] DeepSeek V4 4/N: use sgl-kernel implementation of fused_q_norm_rope on XPU (#27790) Signed-off-by: P V R K Jyothendra Varma --- python/sglang/kernels/ops/attention/dsv4/elementwise.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/python/sglang/kernels/ops/attention/dsv4/elementwise.py b/python/sglang/kernels/ops/attention/dsv4/elementwise.py index dac07d218..053eb01c6 100644 --- a/python/sglang/kernels/ops/attention/dsv4/elementwise.py +++ b/python/sglang/kernels/ops/attention/dsv4/elementwise.py @@ -17,6 +17,7 @@ _is_xpu = is_xpu() if _is_xpu: from sgl_kernel import fused_k_norm_rope_flashmla as fused_k_norm_rope_flashmla_xpu + from sgl_kernel import fused_q_norm_rope as fused_q_norm_rope_xpu @cache_once @@ -150,8 +151,11 @@ def fused_q_norm_rope( freqs_real = torch.view_as_real(freqs_cis).flatten(-2) head_dim = q_input.shape[-1] rope_dim = freqs_real.shape[-1] - module = _jit_main_q_norm_rope_module(q_input.dtype, head_dim, rope_dim) - module.forward(q_input, q_output, freqs_real, positions, eps) + if _is_xpu: + fused_q_norm_rope_xpu(q_input, q_output, freqs_real, positions, eps) + else: + module = _jit_main_q_norm_rope_module(q_input.dtype, head_dim, rope_dim) + module.forward(q_input, q_output, freqs_real, positions, eps) def fused_q_indexer_rope_hadamard_quant(