diff --git a/python/sglang/srt/layers/rotary_embedding/rope_variant.py b/python/sglang/srt/layers/rotary_embedding/rope_variant.py index 2fe9d5da2..7b0cb87e3 100644 --- a/python/sglang/srt/layers/rotary_embedding/rope_variant.py +++ b/python/sglang/srt/layers/rotary_embedding/rope_variant.py @@ -413,9 +413,10 @@ class DeepseekScalingRotaryEmbedding(RotaryEmbedding): cos = freqs.cos() * self.mscale sin = freqs.sin() * self.mscale cache = torch.cat((cos, sin), dim=-1) - emb = torch.cat((freqs, freqs), dim=-1) - self.cos_cached_total = torch.cos(emb) * self.mscale - self.sin_cached_total = torch.sin(emb) * self.mscale + if _is_npu: + emb = torch.cat((freqs, freqs), dim=-1) + self.cos_cached_total = torch.cos(emb) * self.mscale + self.sin_cached_total = torch.sin(emb) * self.mscale return cache def get_cos_cached_total(self):