diff --git a/vllm_ascend/worker/model_runner_v1.py b/vllm_ascend/worker/model_runner_v1.py index b01c8f4d..0083a407 100644 --- a/vllm_ascend/worker/model_runner_v1.py +++ b/vllm_ascend/worker/model_runner_v1.py @@ -1863,10 +1863,11 @@ class NPUModelRunner(GPUModelRunner): # QUESTION: Why do we separately set query_start_loc for spec in the first place? # While in _prepare_inputs we don't? if self.speculative_config: - self.query_start_loc.gpu[:num_reqs + 1] = torch.tensor( + self.query_start_loc.cpu[:num_reqs + 1] = torch.tensor( [0] + self.actual_seq_lengths_q[:num_reqs], - device=self.device, + device="cpu", dtype=torch.int32) + self.query_start_loc.copy_to_gpu() common_attn_metadata = AscendCommonAttentionMetadata( query_start_loc=self.query_start_loc.gpu[:num_reqs + 1], query_start_loc_cpu=self.query_start_loc.cpu[:num_reqs +