[CI]Main2Main 0814 - #13991
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request performs a routine synchronization of the CI verification commit hash. By updating this reference, the project ensures that continuous integration processes remain consistent with the current state of the main branch. Highlights
New Features🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request updates the verified commit hash of the vLLM main branch in .github/vllm-main-verified.commit to a311916a291c1fed3dbfb72e60f74cd778c8419d. The reviewer pointed out that the PR title and description do not follow the repository's style guide and provided suggestions to format them correctly.
| @@ -1 +1 @@ | |||
| 58d3918e3ea0a544ffedadad2ba84559e9c51d8f | |||
| a311916a291c1fed3dbfb72e60f74cd778c8419d | |||
There was a problem hiding this comment.
The Pull Request title and description do not follow the repository's style guide. Please update them to adhere to the required format.
Suggested PR Title:
[CI][Misc] Update vllm-main-verified.commit to latest main HEADSuggested PR Summary:
### What this PR does / why we need it?
This PR updates the verified commit hash of the vLLM main branch in `.github/vllm-main-verified.commit` to the latest HEAD (`a311916a291c1fed3dbfb72e60f74cd778c8419d`). This ensures that CI workflows and downstream dependencies use the latest verified commit of vLLM.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
This is a configuration/commit hash update for CI. Testing is handled by the CI workflows that consume this commit hash.References
- The PR title and summary must follow the specified format in the Repository Style Guide. (link)
|
👋 Hi! Thank you for contributing to the vLLM Ascend project. The following points will speed up your PR merge:
If CI fails, you can run linting and testing checks locally according Contributing and Testing. |
e1d5097 to
675e879
Compare
|
/rerun Rerun:
|
f788f5b to
068946a
Compare
|
/rerun [Bot]: rerun completed. No failed jobs found. |
174ba34 to
a962966
Compare
81a14c5 to
334fe90
Compare
Sync .github/vllm-main-verified.commit to the latest vLLM main HEAD. Signed-off-by: liaoqidan <1107297340@qq.com>
Remove vllm_ascend/patch/platform/patch_vision.py and its platform registration/documentation. The FusedInputNorm eps=0.0 -> eps=1e-5 workaround is no longer needed; bundled PyTorch now accepts eps >= 0 for inference. Signed-off-by: liaoqidan <1107297340@qq.com>
Sync .github/vllm-main-verified.commit to the latest vLLM main HEAD. Signed-off-by: liaoqidan <1107297340@qq.com>
…S tiling Upstream vLLM tiled the temporal state copy across TEMPORAL_TILES CTAs (3D grid: num_reqs, total_states, TEMPORAL_TILES) and passes the new constexpr from run_fused_postprocess / run_fused_postprocess_align. The Ascend kernel did not accept TEMPORAL_TILES, so Triton raised "Keyword argument TEMPORAL_TILES was specified but unrecognised" and the engine died. Port _memcpy_u64_tiled and accept TEMPORAL_TILES (default 1 keeps the 2D-grid v0.26.0 contract): temporal copies are tiled, conv copies run on tile 0 only, and the num_accepted store is guarded with tile_idx == 0. Signed-off-by: liaoqidan <1107297340@qq.com>
Ruff format collapses the SD conv copy_size expression to a single line; without it the pre-commit job fails. Signed-off-by: liaoqidan <1107297340@qq.com>
Upstream vLLM added default-valued fields (e.g. max_query_len) at the end of InputBatch's field list. AscendInputBatch declared seq_lens_np without a default, so after inheritance it followed a default-valued field and dataclass raised "non-default argument follows default argument" at import time, failing every test in adapt_patch. Give seq_lens_np a None default; make_dummy still passes it explicitly. Signed-off-by: liaoqidan <1107297340@qq.com>
postprocess.py now also defines the _memcpy_u64_tiled helper (ported from upstream for TEMPORAL_TILES tiling), so the source-level check must expect it and assert the kernel calls it instead of the removed src_ptr/dst_ptr pointer hoisting. Signed-off-by: liaoqidan <1107297340@qq.com>
- test_extract_hidden_states_proposer: drop the _no_pin_memory fixture; upstream removed extract_hidden_states.PIN_MEMORY. Tests already set runner.pin_memory = False directly. - test_routed_experts: mock quant_method so the v2 ascend_expert_map path (upstream expert_map now probes quant_method.moe_kernel) works on a __new__ instance. - test_patch_structured_output: FakeBackend.compile_grammar accepts the new stop_token_ids arg and make_request provides all_stop_token_ids, matching upstream _create_grammar. Signed-off-by: liaoqidan <1107297340@qq.com>
Ascend reports pin_memory as available, so CpuGpuBuffer defaults pin_memory to True. On the CPU-only test device that trips torch_npu's RegisterPrivateUse1HooksInterface check. Patch CpuGpuBuffer.__init__ to force pin_memory=False for these tests (buffer contents are not asserted). Signed-off-by: liaoqidan <1107297340@qq.com>
…LM main - v2 model_runner.execute_model: upstream vLLM main (after #51256) passes context_len for dummy-run context setup; v0.26.0 has no such parameter. Forward context_len only on the main lane. - autoregressive speculator._ascend_update_seq_lens: skip the DSA architecture, whose AscendDSAMetadata has no seq_lens/seq_len_list (mirroring the existing DSA early-return in _update_decode_attn_metadata). Signed-off-by: liaoqidan <1107297340@qq.com>
Upstream vLLM main (after #51256) added max_query_len to
InputBatch.make_dummy; v0.26.0 has no such parameter. Forward it only on
the main lane, otherwise AscendInputBatch.make_dummy raises TypeError
("unexpected keyword argument 'max_query_len'").
Signed-off-by: liaoqidan <1107297340@qq.com>
Upstream vLLM main (after #51256) passes varlen_decode to the graph
manager factory and ModelCudaGraphManager; v0.26.0 has no such
parameter. Forward it only on the main lane in graph_manager_wrapper and
ModelAclGraphManager.__init__, otherwise the factory raises TypeError
("unexpected keyword argument 'varlen_decode'").
Signed-off-by: liaoqidan <1107297340@qq.com>
v0.27.1's execute_model, InputBatch.make_dummy, and ModelCudaGraphManager have no context_len/max_query_len/varlen_decode params, same as v0.26.0. The earlier v0.26.0-only check forwarded these on v0.27.1 and raised TypeError. Exclude both lanes so the new params are forwarded only on main. Signed-off-by: liaoqidan <1107297340@qq.com>
Upstream vLLM main (after #51256) passes an extra batch_req_state arg to
prepare_inputs; v0.26.0 / v0.27.1 pass only (scheduler_output,
batch_desc). Accept *args and parse batch_desc by lane, so the main lane
no longer raises TypeError ("prepare_inputs() takes 3 positional
arguments but 4 were given").
Signed-off-by: liaoqidan <1107297340@qq.com>
The PR no longer targets the v0.26.0 lane, so remove vllm_version_is("0.26.0")
from the main-lane-only forwarding checks in execute_model, prepare_inputs,
graph manager factory, ModelAclGraphManager, and AscendInputBatch.make_dummy;
keep only v0.27.1. Update the postprocess write-target comment to reference
v0.27.1 (which, like v0.26.0, passes None for the output buffer).
Signed-off-by: liaoqidan <1107297340@qq.com>
Sync .github/vllm-main-verified.commit to the latest vLLM main HEAD. Signed-off-by: liaoqidan <1107297340@qq.com>
Upstream vllm-project/vllm#50062 added num_prefill_lookahead to get_kv_cache_coordinator and the KV cache coordinator constructors. Mirror the upstream contract in the patched get_kv_cache_coordinator and AscendHybridKVCacheCoordinator: forward the value to the original coordinator on the main lane only (v0.27.1 has no such parameter) and set num_reprefillable_tokens so the inherited cache_blocks excludes the re-prefillable tail during multi-module MTP. Signed-off-by: liaoqidan <1107297340@qq.com>
ruff format collapses the multi-line condition in the multi-module MTP guard since it fits within the 120-char line length. Fixes the pre-commit ruff-format hook and the ci-gate it gates. Signed-off-by: liaoqidan <1107297340@qq.com>
AscendHybridKVCacheCoordinator accepts scheduler_block_size as int | None, so mypy rejects comparing it to num_prefill_lookahead in the multi-module MTP guard. Assert it is not None first; the scheduler always supplies a real block size, mirroring upstream's required scheduler_block_size. Signed-off-by: liaoqidan <1107297340@qq.com>
334fe90 to
521c4d4
Compare
What this PR does / why we need it?
Upgrade baseline
a311916ato827a2af. The full upstream range is available in this comparison.0.27.1compatibility lane while adapting the main lane to the new upstream contracts.Changes by file
1.
.github/vllm-main-verified.commit827a2af2.
vllm_ascend/patch/platform/patch_vision.py(deleted) /vllm_ascend/patch/platform/__init__.py/vllm_ascend/patch/__init__.pyFusedInputNormeps patchpatch_vision.py, its platform registration, and its patch-manifest documentation.FusedInputNorm.forwardeps=0.0 → eps=1e-5 workaround is no longer needed.3.
vllm_ascend/ops/triton/mamba/postprocess.pyTEMPORAL_TILEStilingTEMPORAL_TILESCTAs (3D grid) and passes the new constexpr fromrun_fused_postprocess/run_fused_postprocess_align._memcpy_u64_tiledand acceptTEMPORAL_TILES(default 1 keeps the 2D-grid v0.27.1 contract); temporal copies are tiled, conv copies run on tile 0 only, and thenum_acceptedstore is guarded withtile_idx == 0.4.
vllm_ascend/worker/v2/input_batch.pyAscendInputBatchdataclass field orderingmax_query_len) at the end ofInputBatch's field list.seq_lens_npaNonedefault.AscendInputBatch.seq_lens_np(no default) followed a default-valued base field, so dataclass raised "non-default argument follows default argument" at import time, failing every test.max_query_leninAscendInputBatch.make_dummymax_query_lentoInputBatch.make_dummy.max_query_lenand forward it only on the main lane.make_dummyhas no such parameter; forwarding unconditionally raisesTypeError.5.
vllm_ascend/worker/v2/model_runner.py/vllm_ascend/worker/v2/aclgraph_utils.pycontext_leninexecute_modelcontext_lentoexecute_modelfor dummy-run context setup.context_len: int = 0and forward it tosuper().execute_modelonly on the main lane.execute_modelhas nocontext_lenparameter, so forwarding it unconditionally raisesTypeErroron that lane.varlen_decodein the graph manager factoryvarlen_decodeto the graph manager factory andModelCudaGraphManager.varlen_decodetograph_manager_wrapper.factoryandModelAclGraphManager.__init__, forwarding only on the main lane.varlen_decode, so forwarding unconditionally raisesTypeError("unexpected keyword argument 'varlen_decode'").batch_req_stateinprepare_inputsbatch_req_statearg toprepare_inputs.*argsand parsebatch_descby lane.(scheduler_output, batch_desc); the main lane passes(scheduler_output, batch_req_state, batch_desc), otherwiseTypeError("takes 3 positional arguments but 4 were given").6.
vllm_ascend/worker/v2/spec_decode/autoregressive/speculator.py_ascend_update_seq_lensAscendDSAMetadata) owns per-step state in its builder._update_decode_attn_metadata.AscendDSAMetadatahas noseq_lens/seq_len_list, so the unconditional update raisedAttributeError(seen on v0.27.1 DeepSeek-V4 MTP).7.
tests/ut/patch/worker/test_patch_mamba_utils_source.py_memcpy_u64_tiledin the postprocess modulepostprocess.pynow also defines the_memcpy_u64_tiledhelper.8.
tests/ut/spec_decode/test_extract_hidden_states_proposer.py/tests/ut/ops/test_routed_experts.py/tests/ut/patch/platform/test_patch_structured_output.py2ac1f683API changesextract_hidden_states.PIN_MEMORY;RoutedExperts.expert_mapnow probesquant_method.moe_kernel;StructuredOutputManager.compile_grammargained astop_token_idsarg and_create_grammarreadssampling_params.all_stop_token_ids._no_pin_memoryfixture; mockquant_methodon the__new__instance; addstop_token_ids/all_stop_token_idsto the fakes.9.
tests/ut/spec_decode/test_extract_hidden_states_proposer.pypin_memory=Falsefor CPU-only testsCpuGpuBufferdefaults it to True.CpuGpuBuffer.__init__to forcepin_memory=False.pin_memory=Truetrips torch_npu'sRegisterPrivateUse1HooksInterfacecheck.10.
vllm_ascend/patch/platform/patch_kv_cache_coordinator.pynum_prefill_lookaheadin the KV cache coordinatornum_prefill_lookaheadtoget_kv_cache_coordinatorand the coordinator constructors; the scheduler now passes it toKVCacheManager.num_prefill_lookahead: int = 0to the patchedget_kv_cache_coordinatorandAscendHybridKVCacheCoordinator.__init__; forward it to the original coordinator on the main lane only; setnum_reprefillable_tokens = max(0, num_prefill_lookahead - 1).num_prefill_lookahead, so without the param the patched coordinator raisesTypeError(44 CPU UTs + 3 LoRA e2e failing with "Engine core initialization failed"). v0.27.1 has no such parameter, so it is forwarded only on the main lane.Does this PR introduce any user-facing change?
No.
How was this patch tested?
CI on the branch. See Buildkite workflow run for detailed results.