Repository navigation
[Bugfix] Select the AR-Diffusion engine in the DreamZero CFG-parallel deploy config - #5439
Conversation
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
|
||
| pytestmark = [pytest.mark.core_model, pytest.mark.cpu] | ||
|
|
||
| DEPLOY_DIR = Path(vllm_omni.__file__).parent / "deploy" |
There was a problem hiding this comment.
please use get_deploy_config_path
There was a problem hiding this comment.
Done in 6673f83 — now resolves through tests.helpers.stage_config.get_deploy_config_path, matching tests/test_config_factory.py, so the CI-overlay resolution applies too.
The directory is still derived from the helper (Path(get_deploy_config_path("dreamzero.yaml")).parent) rather than hardcoding a filename list, so a future dreamzero*.yaml is covered without editing the test. Each discovered name is then resolved back through the helper.
Re-verified: 3 passed; and with the engine_backend line removed again, only the dreamzero_tp1_cfg2.yaml case fails.
… deploy config DreamZeroPipeline requires the AR-Diffusion engine and raises at construction when engine_backend resolves to anything else. vllm-project#4534 added engine_backend to vllm_omni/deploy/dreamzero.yaml but not to dreamzero_tp1_cfg2.yaml, so every launch through the CFG-parallel config died during worker startup with: ValueError: DreamZeroPipeline requires the AR-Diffusion engine; set engine_backend: ...ARDiffusionEngine in the deploy config (got engine_backend='default'). This broke the weekly DreamZero e2e serving test, which passes that config explicitly, and examples/online_serving/dreamzero/run_server.sh, which defaults to it. Add the missing engine_backend, plus a CPU test asserting that every shipped dreamzero*.yaml stage selects an AR-Diffusion engine. The test resolves the import path through DiffusionEngine.resolve_engine_class rather than matching a string, so a stale or typo'd path fails too. Previously only an H100x2 slow-marked e2e test covered this. Fixes vllm-project#5046 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Use the shared tests/helpers/stage_config helper instead of deriving the deploy directory from vllm_omni.__file__, matching tests/test_config_factory.py and picking up the helper's CI-overlay resolution. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
6673f83 to
44be9e8
Compare
… deploy config (vllm-project#5439) Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
… deploy config (vllm-project#5439) Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Purpose
Fixes #5046.
DreamZeroPipelinerequires the AR-Diffusion engine and raises at construction whenengine_backendresolves to anything else. #4534 addedengine_backendtovllm_omni/deploy/dreamzero.yamlbut not tovllm_omni/deploy/dreamzero_tp1_cfg2.yaml, and nothing else injects it (OmniDiffusionConfig.engine_backenddefaults to"default"). Every launch through the CFG-parallel config therefore died during worker startup:Both workers died, the executor got
EOFErroronreader.recv(), and stage init tore the server down — the rest of the traceback in the issue is that cascade.This is not CI-only:
examples/online_serving/dreamzero/run_server.shdefaults to the same config, so the documented multi-GPU serving path was broken too.Two changes:
engine_backendtodreamzero_tp1_cfg2.yaml, matchingdreamzero.yaml. No other change is needed — CFG parallelism is already handled by the capability, which collapses the negative branch ontolocal_index=0whencfg_world >= 2.tests/dreamzero/test_deploy_configs.py, a CPU test asserting every shippeddreamzero*.yamlstage selects an AR-Diffusion engine. It resolves the import path throughDiffusionEngine.resolve_engine_classrather than string-matching, so a stale or typo'd path fails too. Previously only an H100x2slow-marked e2e test covered this, which is why it surfaced weekly rather than in PR CI.Test Plan
pytest tests/dreamzero/test_deploy_configs.pyengine_backendline and confirm only thedreamzero_tp1_cfg2.yamlcase fails.pre-commit run --files vllm_omni/deploy/dreamzero_tp1_cfg2.yaml tests/dreamzero/test_deploy_configs.pyvLLM Version: 0.25.0
vLLM-Omni Commit: 84bbd57
Test Result
Negative control, with the fix reverted:
pre-commit: all hooks passed.
Not run: the weekly
test_dreamzero_openpi_onlinee2e test, which needs 2x H100. The new test covers the config-level regression, not the full serving path — worth confirming the weekly job goes green after this merges.🤖 Generated with Claude Code