diff --git a/python/sglang/srt/layers/attention/nsa/nsa_indexer.py b/python/sglang/srt/layers/attention/nsa/nsa_indexer.py index f2e659332..d2c146f3f 100644 --- a/python/sglang/srt/layers/attention/nsa/nsa_indexer.py +++ b/python/sglang/srt/layers/attention/nsa/nsa_indexer.py @@ -313,8 +313,8 @@ class Indexer(MultiPlatformOp): q_rope, k_rope = self.rotary_emb(positions, q_rope, k_rope) - query[..., : self.rope_head_dim] = q_rope - key[..., : self.rope_head_dim] = k_rope + query[..., : self.rope_head_dim] = q_rope.clone() + key[..., : self.rope_head_dim] = k_rope.clone() if enable_dual_stream: current_stream = torch.cuda.current_stream() @@ -352,7 +352,7 @@ class Indexer(MultiPlatformOp): ) _, k_rope = self.rotary_emb(positions, k_rope, k_rope) - key[..., : self.rope_head_dim] = k_rope + key[..., : self.rope_head_dim] = k_rope.clone() key = rotate_activation(key) return key diff --git a/python/sglang/srt/models/deepseek_common/attention_forward_methods/forward_mha.py b/python/sglang/srt/models/deepseek_common/attention_forward_methods/forward_mha.py index 7c83904f8..5ff13ebbb 100644 --- a/python/sglang/srt/models/deepseek_common/attention_forward_methods/forward_mha.py +++ b/python/sglang/srt/models/deepseek_common/attention_forward_methods/forward_mha.py @@ -424,7 +424,7 @@ class DeepseekMHAForwardMixin: ) else: latent_cache[:, :, : self.kv_lora_rank] = kv_a.unsqueeze(1) - latent_cache[:, :, self.kv_lora_rank :] = k_pe + latent_cache[:, :, self.kv_lora_rank :] = k_pe.clone() # Save latent cache forward_batch.token_to_kv_pool.set_kv_buffer(