| 475 | |
| 476 | |
| 477 | def step_xpu( |
| 478 | share_inputs: Dict[str, paddle.Tensor], |
| 479 | block_size: int, |
| 480 | enc_dec_block_num: int, |
| 481 | speculative_config: SpeculativeConfig, |
| 482 | enable_prefix_caching: bool = False, |
| 483 | ) -> None: |
| 484 | if speculative_config.method is not None: |
| 485 | if DISABLE_RECOVER: |
| 486 | speculate_step_reschedule( |
| 487 | share_inputs["stop_flags"], |
| 488 | share_inputs["seq_lens_this_time"], |
| 489 | share_inputs["step_seq_lens_encoder"], |
| 490 | share_inputs["seq_lens_encoder"], |
| 491 | share_inputs["seq_lens_decoder"], |
| 492 | share_inputs["block_tables"], |
| 493 | share_inputs["encoder_block_lens"], |
| 494 | share_inputs["is_block_step"], |
| 495 | share_inputs["step_block_list"], |
| 496 | share_inputs["step_lens"], |
| 497 | share_inputs["recover_block_list"], |
| 498 | share_inputs["recover_lens"], |
| 499 | share_inputs["need_block_list"], |
| 500 | share_inputs["need_block_len"], |
| 501 | share_inputs["used_list_len"], |
| 502 | share_inputs["free_list"], |
| 503 | share_inputs["free_list_len"], |
| 504 | share_inputs["input_ids"], |
| 505 | share_inputs["pre_ids"], |
| 506 | share_inputs["step_idx"], |
| 507 | share_inputs["next_tokens"], |
| 508 | share_inputs["first_token_ids"], |
| 509 | share_inputs["accept_num"], |
| 510 | block_size, |
| 511 | enc_dec_block_num, |
| 512 | speculative_config.num_speculative_tokens, |
| 513 | ) |
| 514 | else: |
| 515 | if enable_prefix_caching: |
| 516 | speculate_step_system_cache( |
| 517 | share_inputs["stop_flags"], |
| 518 | share_inputs["seq_lens_this_time"], |
| 519 | share_inputs["step_seq_lens_encoder"], |
| 520 | share_inputs["step_seq_lens_decoder"], |
| 521 | share_inputs["seq_lens_encoder"], |
| 522 | share_inputs["seq_lens_decoder"], |
| 523 | share_inputs["block_tables"], |
| 524 | share_inputs["encoder_block_lens"], |
| 525 | share_inputs["is_block_step"], |
| 526 | share_inputs["step_block_list"], |
| 527 | share_inputs["step_lens"], |
| 528 | share_inputs["recover_block_list"], |
| 529 | share_inputs["recover_lens"], |
| 530 | share_inputs["need_block_list"], |
| 531 | share_inputs["need_block_len"], |
| 532 | share_inputs["used_list_len"], |
| 533 | share_inputs["free_list"], |
| 534 | share_inputs["free_list_len"], |