Repository navigation
[CI/Build][ROCm] Add Qwen3-Omni and BAGEL full_model MI300 nightlies - #9435
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
This PR appears to belong to: docs/design/module/entrypoints.md. Module owners: @NickCao @alex-jw-brooks @linyueqian Routing: @NickCao via module named in the PR description, CODEOWNERS; @alex-jw-brooks via module named in the PR description; @linyueqian via module named in the PR description @haic0, please review your own changes and leave a short self-review comment describing what you checked. PRs without author self-review may not be assigned a reviewer. Please take a look when you have a chance. If you would like an automated review, mention @vllm-omni-review-bot in a comment. |
|
Self-review of Checked the CUDA nightly selector
|
5f010ea to
7b95c7d
Compare
hsliuustc0106
left a comment
There was a problem hiding this comment.
At reviewed head 7b95c7d:
- Update this branch against current
mainto resolve the reported merge conflict, then record the fix SHA. Acceptance: the updated head merges cleanly with the target and receives fresh applicable checks. - Supply the nightly selector's actual collection output and execution/JUnit result at the updated head with the matching vLLM/ROCm environment. The self-review says collection could not run because of an upstream import mismatch. Distinguish the 40 playback cases and three runnable BAGEL cases from the deliberately skipped coordinated case: acceptance is the intended node set collected, runnable cases exercised, and skips accounted for. If MI325 hardware is unavailable, state that limitation so maintainers can choose validation.
Owner: haic0 (PR author). Status: awaiting branch update and evidence. My inspection was source-only, not a hardware run.
7b95c7d to
8ac0463
Compare
Omni ReviewBot triage noteAutomated triage of commit
These are automated triage suggestions only — the final decision belongs to the maintainers. |
8ac0463 to
43f5d2f
Compare
Run Qwen3-Omni duplex playback and BAGEL sleep coverage as separate non-blocking MI300 jobs with exact collection and zero-skip JUnit contracts. Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: haic0 <149741444+haic0@users.noreply.github.com>
Signed-off-by: andyluo7 <43718156+andyluo7@users.noreply.github.com>
43f5d2f to
a477577
Compare
|
Updated the branch on current AMD #14879 at the superseded head
The current head raises only that BAGEL fixture budget to 1,200 seconds and adds a regression contract. Post-rebase validation is 122 passed for the full AMD pipeline-contract suite, 14 passed / 108 deselected for the focused contracts, with pre-commit, mypy-3.12, and |
|
Exact-head READY qualification is complete at
The head and base have not drifted, GitHub reports the PR mergeable, and there are no unresolved review threads. |
andyluo7
left a comment
There was a problem hiding this comment.
Approved at exact head a477577 after reviewing the focused timeout change and regression contract. AMD #14881 passed the exact Qwen3-Omni 40/40 and BAGEL 3/3 workloads with zero skips, retries, soft failures, or leaked workers; CUDA #18338 and NPU #10087 are also fully green. Intel #11048 is explicitly waived as non-blocking.
Summary
mainto resolve the prior merge conflict.mi300_2nightly jobs:full_modelcases.full_modelcases.TestBagelCoordinatedSleepMode::test_coordinated_cross_devicein the source tree but intentionally exclude it because it remains explicitly skipped.full_modelplayback method while preserving the existing CUDA H100/B200 coverage on the class.Contributor intent
1. What outcome do you want to achieve?
Run the CUDA nightly
full_modelentrypoint cases on MI300.2. What is the highest-leverage variable for that outcome?
Whether the duplex playback repeats and BAGEL sleep checks are collected on two MI300 GPUs.
3. How will this work move that variable?
Focused non-blocking
mi300_2jobs fail collection or execution unless their exact runnable node sets are present and complete.4. Whose customer or user needs does this address, and what are those needs?
ROCm users need the same nightly entrypoint gate CUDA already runs.
Purpose
Before this change, the PR combined Qwen3-Omni and BAGEL into one broad job and included the deliberately skipped coordinated BAGEL case in its collection expectation. The branch also conflicted with current
main.After this change, Qwen3-Omni and BAGEL run as independent nightly jobs with exact runnable counts, zero accepted skips, separate artifacts, and focused source routing. The Qwen marker is method-scoped, so advanced-model methods retain their existing CUDA-only selection while the 40 full-model playback variants gain ROCm MI325 selection.
This changes CI coverage and test selection only. It does not change runtime behavior, public configuration, supported APIs, or an active design contract, so no user or design documentation update is required.
Test Plan
vLLM Version: Hardware CI image version selected by the AMD pipeline; not installed in the local macOS environment.
vLLM-Omni Commit:
a477577570c732837dc3de97b5189459299fbe5eTest Result
python3 -m pytest tests/buildkite/test_amd_pipeline.py -q --override-ini=addopts= --confcutdir=tests/buildkite— 122 passed at the reported commit.-k 'entrypoints_full or qwen_duplex_rocm_mark or bagel_rocm_nightly') — 14 passed, 108 deselected.pre-commit run --files .buildkite/amd/test-amd-nightly.yml .buildkite/common/ci_source_file_dependencies.yml tests/buildkite/test_amd_pipeline.py tests/entrypoints/openai_api/test_qwen3_omni_realtime_websocket.py tests/entrypoints/test_omni_sleep_mode.py— all applicable hooks passed, including Buildkite schema, test marks, SPDX, forbidden imports,torch.cuda, Ruff, and mypy-3.10.pre-commit run --hook-stage manual mypy-3.12 --files tests/buildkite/test_amd_pipeline.py tests/entrypoints/openai_api/test_qwen3_omni_realtime_websocket.py tests/entrypoints/test_omni_sleep_mode.py— passed.git diff --check origin/main...HEAD— passed.AMD #14879 at the superseded head
43f5d2f5b459aaa6a7477bd8a2fb48e499d208c4supplied the first hardware evidence:The local Mac has no Torch/ROCm runtime or model weights, so it cannot provide the requested real collection/execution evidence. Exact-head AMD nightly CI remains the hardware qualification gate:
AI assistance disclosure
main, split and hardened the jobs, added focused routing and regression contracts, ran the reported local validation, and drafted this description.