Repository navigation
[Misc] Main2Main: align vLLM main to 3b95523e (Nov 12) - #21469
zhao-stack wants to merge 60 commits into
Conversation
Advance the main pin across 359 upstream commits while retaining v0.33.0. Adapt AR dispatch and graph managers (#60989, #63406), post-load hooks (#57678), native KV device pointers (#56076), shard tracking (#63752), and graph config selection (#65091). Add source-executed regression coverage and update affected test contracts. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit c1ab53d) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 5e7be71) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit d8afa7d) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Follow upstream 6044ab06 cascade-field removal, 101269e8 stacked shard tracking, 860da3da allocator forwarding and 42379a4c DSpark normalization. Update CPU fixtures for the corresponding graph, reload, config and connector contracts without dropping assertions. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 8c38731) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 8d874bd) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Upstream 6044ab06 removed the redundant AsyncScheduler.pp_size alias. Read pipeline_parallel_size in both decode-cadence tests while preserving scheduling and placeholder assertions. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 02ce744) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Follow upstream 860da3da resolved utilization when the user leaves the memory budget unspecified, including 310P. Initialize the stacked shard metadata introduced by 101269e8 when Ascend custom allocation bypasses upstream constructors. Cover default budgets and missing/complete/invalid shard loading without weakening validation. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 528b8d7) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Upstream a512f0e7 unconditionally forwards skip_masked_vocab_blocks from the shared sampler. Accept the optimization hint while retaining the NPU full residual scan, and cover both values through the wrapper without changing masking or acceptance behavior. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 7f59f27) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Main abf98672 resolves separate prefill and decode capture grids on the first config pass. Restoring an off-stride Ascend default such as max_num_seqs=7 then combined a new shared grid with stale derived grids and rejected LoRA initialization. Regenerate only the automatic grids and preserve explicit split settings. Cover odd capture ceilings, repeated resolution, both graph modes and explicit inputs. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 1081583) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Upstream abf98672 replaces scalar decode shapes with request mappings; forward the mapping from copied 310P KV initialization. Its new request grids also introduce padded target graphs for Kimi-K3 MTP, whose eager MLA draft still uses real query rows. Normalize copied cumulative query lengths at the non-FULL main prefill boundary while retaining target, FULL graph, KV and release state. Cover mapping dispatch and padded versus real metadata forwarding. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 1f5e4c8) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Upstream f352490f now includes the correction token in the sequence-length bound before dispatching standalone AR attention. Restrict the old downstream prefill compensation to v0.33 so main does not attend with a target+2 bound. Preserve the native clamp, decode-step forwarding and acceptance assertions. Add regression coverage for step zero, later steps and model-length boundaries. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 71f5877) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 221fb09) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit 20603de) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit c6cf81c) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com> (cherry picked from commit fd288f1) Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Follow vLLM #55688 ReplaySSM cache binding, Mamba staging/postprocess and temporal-copy kernel contracts. Preserve release and 310P fallbacks, state-index uploads, scheduler storage and convolution snapshots. Accept the #63956 CUDA ShardQ hint without changing the Ascend attention layout. Add regressions for both API generations and cache/count preservation. Full local pre-commit setup was bounded during dependency installation; hardware, Torch and mypy validation remain required in CI. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Python 3.12 mypy requires FunctionDef.type_params in the regression fixture for upstream #55688. Parse the empty scaffold before installing the same kernel statements, preserving every behavior assertion. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
CPU and selection jobs replayed c96f2a8 while rebasing an already-contained base, dropping the resolved merge history. Keep the exact snapshot when its requested base is an ancestor; otherwise retain the existing rebase and conflict failure. Apply the same rule to selection, test and csrc cache workflows. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
The fixed main pin changes block hash storage (#65831), load-plan state and handshake defaults (#65235), parked reservations (#65285), token-buffer access (#62702), ReplaySSM state (#55688), and draft budgets (#60989). Initialize the constructor-bypassing CPU fixtures with the real upstream defaults and use the public block-hash accessor. Keep all test cases and assertions, including the versioned full handshake equality. Production code and timing thresholds are unchanged. Validation: 22 actual-source boundary cases, 7 source regressions, Ruff lint/format, Python syntax and git diff --check passed. Full format.sh ci was attempted but stopped before hooks at a stale relocated cache manifest; full Torch/NPU validation remains in CI. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
vLLM #55688 requires forward_context to size per-layer Mamba state buffers. Preserve the release constructor and lazy metadata initialization, and enforce the installed native signature in the context regression. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
vLLM #55688 passes ZERO_TEMPORAL_TOKEN_BIAS to the globally replaced kernel. Match its optional flag and temporal-only bias semantics while preserving convolution bias, legacy callers and the Ascend pointer-copy workaround. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Keep all source-executed kernel cases and assertions while making the exec-installed callable visible to mypy on Python 3.10, 3.11 and 3.12. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Mirror the native collector added by vLLM #55688 in the existing Ascend KV initializer. The inherited update_requests path reads this list on hybrid prefix-cache block copies. Preserve release/old-main initialization, lazy model-state binding, cache containers and connector registration. Extend profiling and tracker-copy regressions without relaxing assertions. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Match the config-derived encoder DP flag introduced by vLLM #60314 and the optional input normalization initialization from #65577. Retain release and prior-main APIs, ModelSlim tower quantization, and original assertions. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
|
👋 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. |
Collect real Score manager metadata at the CPU fixture boundary on main; native MRv2 transport is not exercised. Preserve existing test functions, decorators and assertions. Add the release note for PR 21469. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
There was a problem hiding this comment.
Code Review
Suggested PR Title:\n\nmarkdown\n[Test][Misc] Update compatibility adapters and tests for vLLM main and v0.33.0 release support\n\n\nSuggested PR Summary:\n\nmarkdown\n### What this PR does / why we need it?\nThis pull request updates various compatibility adapters, model runners, and tests to ensure seamless support for both the vLLM main branch and the v0.33.0 release. Key changes include updating the verified commit, adding release notes, and adapting schedulers, model runners, and speculators to handle version-specific API differences (such as `vllm_version_is` checks). Additionally, several critical issues were identified during the review: missing imports of `vllm_version_is` in multiple files (`hccl_engine.py`, `patch_pp_mtp.py`, `patch_model_runner.py`, `model_runner.py`, and `speculator.py`) which would cause runtime `NameError`s; a potential `AttributeError` in `worker.py` when accessing `resolved_gpu_memory_utilization` on older vLLM versions; and potential `AttributeError`s in `scheduler_output.py` due to missing defensive checks on `observability_config` and `profiler_config`.\n\n### Does this PR introduce _any_ user-facing change?\nNo user-facing changes are introduced; these are internal compatibility and testing updates.\n\n### How was this patch tested?\nTested via existing and newly added unit tests under `tests/ut/`.\n
|
|
||
| from concurrent.futures import ThreadPoolExecutor | ||
| from contextlib import suppress | ||
| from contextlib import nullcontext, suppress |
There was a problem hiding this comment.
The function vllm_version_is is used in receive_weights (line 158) but is not imported in this file, which will result in a NameError at runtime. We should import vllm_version_is from vllm_ascend.utils.
| from contextlib import nullcontext, suppress | |
| from contextlib import nullcontext, suppress | |
| from vllm_ascend.utils import vllm_version_is |
| if vllm_version_is("0.33.0"): | ||
| _patch_scheduler_make_cached_request_data() |
There was a problem hiding this comment.
The function vllm_version_is is used here but is not imported in this file, which will raise a NameError at runtime. We should import it locally.
| if vllm_version_is("0.33.0"): | |
| _patch_scheduler_make_cached_request_data() | |
| from vllm_ascend.utils import vllm_version_is | |
| if vllm_version_is("0.33.0"): | |
| _patch_scheduler_make_cached_request_data() |
| if vllm_version_is("0.33.0"): | ||
| breakable_cg = upstream.envs.VLLM_USE_BREAKABLE_CUDAGRAPH | ||
| graph_kwargs = {"decode_query_len": self.decode_query_len} |
There was a problem hiding this comment.
The function vllm_version_is is used here but is not imported in this file, which will raise a NameError at runtime. We should import it locally.
| if vllm_version_is("0.33.0"): | |
| breakable_cg = upstream.envs.VLLM_USE_BREAKABLE_CUDAGRAPH | |
| graph_kwargs = {"decode_query_len": self.decode_query_len} | |
| from vllm_ascend.utils import vllm_version_is | |
| if vllm_version_is("0.33.0"): | |
| breakable_cg = upstream.envs.VLLM_USE_BREAKABLE_CUDAGRAPH | |
| graph_kwargs = {"decode_query_len": self.decode_query_len} |
|
|
||
| import inspect | ||
| import logging | ||
| from collections.abc import Mapping |
There was a problem hiding this comment.
The function vllm_version_is is used in this file (lines 204 and 1613) but is not imported, which will result in a NameError at runtime. We should import vllm_version_is from vllm_ascend.utils.
| from collections.abc import Mapping | |
| from collections.abc import Mapping | |
| from vllm_ascend.utils import vllm_version_is |
| if step == 0 and vllm_version_is("0.33.0"): | ||
| # #60989 includes the correction token before calling this builder | ||
| # on main. Only release still needs the extra prefill token here. | ||
| # Keep the input batch's bounds unchanged. | ||
| draft_seq_lens_cpu_upper_bound = (seq_lens_cpu_upper_bound[:num_reqs] + 1).clamp(max=self.max_model_len) |
There was a problem hiding this comment.
The function vllm_version_is is used here but is not imported in this file, which will raise a NameError at runtime. We should import it locally.
| if step == 0 and vllm_version_is("0.33.0"): | |
| # #60989 includes the correction token before calling this builder | |
| # on main. Only release still needs the extra prefill token here. | |
| # Keep the input batch's bounds unchanged. | |
| draft_seq_lens_cpu_upper_bound = (seq_lens_cpu_upper_bound[:num_reqs] + 1).clamp(max=self.max_model_len) | |
| if step == 0: | |
| from vllm_ascend.utils import vllm_version_is | |
| if vllm_version_is("0.33.0"): | |
| # #60989 includes the correction token before calling this builder | |
| # on main. Only release still needs the extra prefill token here. | |
| # Keep the input batch's bounds unchanged. | |
| draft_seq_lens_cpu_upper_bound = (seq_lens_cpu_upper_bound[:num_reqs] + 1).clamp(max=self.max_model_len) |
| def _get_gpu_memory_utilization(self) -> float: | ||
| utilization = self.cache_config.gpu_memory_utilization | ||
| # vLLM #56492 defers the default until the KV allocation mode is known. | ||
| if utilization is None: | ||
| return self.cache_config.resolved_gpu_memory_utilization | ||
| return utilization |
There was a problem hiding this comment.
On older vLLM versions (like v0.33.0), CacheConfig does not have the resolved_gpu_memory_utilization attribute. If gpu_memory_utilization is explicitly set to None or not resolved, accessing self.cache_config.resolved_gpu_memory_utilization will raise an AttributeError. We should use getattr with a fallback to DEFAULT_GPU_MEMORY_UTILIZATION to ensure compatibility across versions.
| def _get_gpu_memory_utilization(self) -> float: | |
| utilization = self.cache_config.gpu_memory_utilization | |
| # vLLM #56492 defers the default until the KV allocation mode is known. | |
| if utilization is None: | |
| return self.cache_config.resolved_gpu_memory_utilization | |
| return utilization | |
| def _get_gpu_memory_utilization(self) -> float: | |
| utilization = self.cache_config.gpu_memory_utilization | |
| # vLLM #56492 defers the default until the KV allocation mode is known. | |
| if utilization is None: | |
| return getattr( | |
| self.cache_config, | |
| "resolved_gpu_memory_utilization", | |
| self.cache_config.DEFAULT_GPU_MEMORY_UTILIZATION, | |
| ) | |
| return utilization |
| if ( | ||
| scheduler.log_stats and scheduler.observability_config.enable_logging_iteration_details | ||
| ) or scheduler.vllm_config.profiler_config.profiler is not None: |
There was a problem hiding this comment.
To prevent potential AttributeError if observability_config or profiler_config are None (e.g., in certain test environments or custom configurations), we should use defensive checks before accessing their attributes.
| if ( | |
| scheduler.log_stats and scheduler.observability_config.enable_logging_iteration_details | |
| ) or scheduler.vllm_config.profiler_config.profiler is not None: | |
| logging_enabled = ( | |
| scheduler.log_stats | |
| and getattr(scheduler, "observability_config", None) is not None | |
| and getattr(scheduler.observability_config, "enable_logging_iteration_details", False) | |
| ) | |
| profiler_config = getattr(scheduler.vllm_config, "profiler_config", None) | |
| profiler_enabled = ( | |
| profiler_config is not None | |
| and getattr(profiler_config, "profiler", None) is not None | |
| ) | |
| if logging_enabled or profiler_enabled: |
Upstream #61725 now routes max_async_kv_loads_per_step requests into async_kv_waiting. Actual old/new enqueue and the four copied admission predicates reproduce a stranded request. Reject this newly unsupported opt-in before serving instead of silently ignoring it; preserve the default and native scheduler support. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Match the full pre-commit Ruff result. The existing top-level import remains and patch registration is unchanged. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Full three-version CI mypy checks the pinned main tree and diagnoses deleted modules even inside runtime version branches. Resolve the legacy MTP context and protocol module only on v0.33.0; retain static main protocol imports. Preserve original test assertions and cover both loader error paths and versioned wire constants. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Handle DSpark Markov bias before categorical sampling and retain make_buffer only for the release Mamba constructor. Adapt the CPU fixture protocols without deleting original tests, assertions, decorators or thresholds; retain release-only V1 patch coverage with a scoped release ABI fixture and add native-main checks. Add six PR NPU sampling/cache cases for real hardware validation. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Merge e4d533d without rewriting inherited PR history. Retain both required imports in the two Mamba conflicts and update the added native Kimi fixture for the official module move. Keep the fixed vLLM main SHA and v0.33.0 release pin unchanged. Add installed-version, package, tag and native-branch evidence tests for CPU and real NPU CI. Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
Signed-off-by: zhao-stack <80399320+zhao-stack@users.noreply.github.com>
What this PR does / why we need it?
Advance the verified vLLM main dependency from
ba15685ab7f4f5fbed8630bbb7441f8837e76fbe(Nov 6) to3b95523ed904cf02a26b872f4a900ef17e6be8ad(Nov 12, 2026; 435 upstream commits). The Nov 10 checkpointfeb4cb019is retained as an intermediate milestone; the newly added interval contains 149 commits. The release dependency remainsv0.33.0.Carry the unmerged #21005 commits and the already-reviewed official Ascend synchronization history without rewriting them. #21005 is unchanged. Official test-contract changes accepted in the earlier nine-commit and twelve-commit synchronization batches remain separately inventoried; this follow-up does not introduce another exception. The original active DSpark test, assertions, thresholds, and external-DP timeout remain preserved.
The inherited compatibility work covers compiler/config hashing (#65652); MRv1 removal, Mamba construction and MTP/310P interfaces (#63373); scheduler iteration details (#61424); Mooncake imports (#65877); PP auxiliary-state relay (#66177); DSpark sampler bias (#64476); Kimi configuration and weight-load accounting; shared-expert scaling; target-weight replacement callbacks (#66287); EPLB warmup (#66660); and the SFA constructor/cached DeepSeek decoder factory.
New Nov 12 compatibility fix: vLLM #66859,
c9c36486c3f7c767c25bb37f087e38d101edf1ef, replaces routed-scale booleans withRoutedScaleMode. The previous Ascend runner passed the removeddivide_shared_output_in_fp16keyword and the factory forwarded the removedapply_routed_scale_to_outputkeyword. Before-edit execution of the actual native constructors passes release/Nov10 and fails Nov12 for both Ascend runners. The existing factory patch now translates Ascend-owned legacy callers and preserves native enum callers before router creation, so the scale is applied exactly once. Both Ascend and 310P runners forward the native mode. Explicit release branching preserves the v0.33.0 factory and native FP16 shared-output behavior. Patch lifecycle/removal guidance is included.Does this PR introduce any user-facing change?
Yes: dependency alignment and the compatibility fixes above, documented in
release_notes/fragments/21469.yaml.The new
max_async_kv_loads_per_stepoption is explicitly rejected with copied recompute, DyntraLB, profiling-chunk and balance schedulers: actual native enqueue evidence shows an unconsumed queue. Default/unset configurations and inherited native scheduling remain supported. Explicitly requesting the retired drafter-padding option on main also fails before model loading; release retains its existing options.How was this patch tested?
Current published head:
c67e962e87cdc1282a2cc0f1ff196a6198049b45. Draft; full dual-version CPU/NPU validation is pending.Current E2E 43173866142 is terminal: pre-commit stopped before hooks/mypy at runner
add-matcher, which could not find/home/runner/_work/_temp/mypy.jsonafter the container copy step. CPU/NPU tests were skipped. Complete paginated audit: seven runs, 19 checks, two successful combined statuses, 18 all-attempt jobs. The synthetic checkout is5db69d7d6398d96f5e366de7476b7b838b4c996e(c67e into b27049d); the log resolves test/lint pin to 3b95523e, but package/runtime identity is unvalidated. Docs and both Read the Docs builds pass. Infrastructure retry is recorded and deferred until at least Nov 12 09:16:29 UTC, followed by a fresh head/full-terminal audit; none requested. This failure does not close the historical numerical/startup/sleep issues.The previous E2E 43169877136 is now terminal: pre-commit hooks and full mypy (Python 3.10/3.11/3.12) passed. Both CPU lanes and test selection failed before tests at the same historical
41d7f3f5crebase conflict in Mamba source/test; NPU jobs were skipped. The later container-wrapper message is secondary. The failed runtime log does not print its fetched main SHA.Local replay against official Ascend
b27049dc118ccc07b55cd048fdc70f4690b932c8reproduces the exact commit and both conflicting files. A normal signed merge incorporates six official commits aftera4971912c, preserving the existing history and enabling the existing source-snapshot ancestor guard. No workflow/policy changes; both Mamba files, verified vLLM pin and existing DSpark tests remain unchanged. The new vLLM target remains fixed at3b95523e.Synchronization validation: 14 Python files parse on 3.10/3.11/3.12; all existing test functions, decorators and assertions in seven affected test files are preserved. Whole-tree Ruff lint/format passes 2,154 files; diff checks pass (official documentation trailing whitespace was removed). The ViT setup test passes, including six subtests. Local RFork test collection is blocked by absent
regex/safetensors; the scoped three-version mypy check is blocked by absentsafetensors. No dependency, ignore or environment workaround was added. These are not passing RFork/full mypy results for this head. The official RFork DSpark ownership fix is included, but it does not close the Qwen DSpark numerical failures, MiniMax initialization or historical sleep failures.All previous-head runs were terminal before this necessary source synchronization push. No manual rerun or duplicate workflow trigger.
Local checks for the unchanged MoE follow-up introduced in
e90503024:git diff --checkpasses.reproduce_moe_1112.py: actual native release/Nov10 constructors pass; Nov12 rejects the removed keyword in both Ascend/310P runners before editing.verify_moe_1112.py: actual native release/Nov12 constructors and inherited FP16/BF16 scaling matrices pass for both runners, including shared/no-shared outputs and all native modes.run_runner_test_bodies.py: 40 original/new published test-body cases pass across both versions using actual inherited native scaling, with scoped imports and parent initialization fixtures.verify_factory_1112.py: 14 published factory test-body cases pass, and normalized kwargs bind to the actual release/Nov12 native factory signatures for all four legacy flag combinations in each lane. Explicit native modes are retained.bash format.sh ciwas attempted with a 45-second bound; hook-environment setup did not finish. The attempt/log is retained and is not a pass. Full CI remains required.The current
c67e962efull fixed-interval scan (Nov6→Nov12) completed: 1,217 relations / 9,411 direct-call dependencies / 227 findings / 190 unresolved analyses. Raw reports are retained. Its three raw actionable entries concern two Ascend model calls to the patched MoE factory and the inherited local Score extension. The MoE translation is checked against actual native signatures above; monkey-patch behavior is outside this scanner's analyzed capabilities. Optional/positional override warnings and unresolved analyses are not counted as validated. The local Score method does not prove native MRv2 worker metadata transport.Parent
7cdd7acbdresults are historical, not current-head results. Complete paginated/all-attempt audit: six workflows, 64 checks, two combined statuses and 63 jobs; all workflows terminal. Both CPU jobs succeeded. All 42 NPU partitions terminated: main 19 success / 2 failure, release 20 success / 1 failure. Per-file assertion/skip and runtime/image provenance audits remain incomplete.The three parent hardware failures have actual first-cause logs:
KeyError: model.language_model.model.layers.0.block_sparse_moe.shared_experts.gate_proj.weightin ModelSlim quantization lookup. This has not been attributed to the pinned native interval or repaired.Historical main sleep(level1) HTTP timeouts also remain open pending current-head per-file evidence and causal investigation. A previous lane becoming green does not by itself establish root-cause closure. No same-machine, same-configuration, version-only A/B conclusion is claimed for the numerical failures; none is dismissed as noise or infrastructure. Tests and tolerances remain active and unchanged.
Parent pre-commit checked a synthetic merge tree identical to
7cddand passed hooks/full mypy on all three Python versions. Its selector selected 153 files / 21 groups per version. Those static/selection results and earlier seven sampler/identity hardware passes are historical. Skips, unreached files, cache hits, or one device's identity do not establish full coverage, a fresh image build or all hardware-family validation.Completion requires current-head actual dual-version CPU/NPU execution, runtime/package/tag/import-branch and image provenance, per-file execution/skip review, and closure or causal exclusion of upgrade regressions. Keep Draft; do not merge automatically. The bot's moving-main line below is preserved and is not the verified pin.
Checklist
Boundary / edge-case regression coverage
Preserve existing assertions and thresholds
Current-head full dual-version CPU/NPU validation
Runtime/image provenance and executed/skip coverage audit
Numerical/startup/sleep failure causality and closure
vLLM main: vllm-project/vllm@24420b7