Skip to content

[CI][ROCm] Add and stabilize HunyuanImage3 nightly coverage - #7934

Merged
andyluo7 merged 3 commits into
vllm-project:mainfrom
haic0:ci/rocm-hunyuanimage3-nightly
Oct 6, 2026
Merged

andyluo7 merged 3 commits into
vllm-project:mainfrom
haic0:ci/rocm-hunyuanimage3-nightly

Conversation

@haic0

@haic0 haic0 commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Purpose

Add non-blocking ROCm nightly coverage for HunyuanImage3 and make that coverage reliable on AMD hardware.

The nightly job runs tests/e2e/accuracy/test_hunyuan_image3_pixel_accuracy.py::test_hunyuan_image3_pixel_accuracy_offline with tencent/HunyuanImage-3.0-Instruct on four MI300 GPUs. It uses the full_model and rocm and MI325 and cards_4 selector, --run-level full_model, a fail-closed collect-only preflight, TORCH_SDPA, the platform-native automatic ROCm MoE backend, and uploads PNG/JUnit artifacts under artifacts/rocm-hunyuanimage3/.

ROCm stabilization

  • Keep HunyuanImage3 GroupNorm on the PyTorch implementation on ROCm. AITER GroupNorm does not safely handle this model's FP16 activations with BF16 parameters under autocast and caused memory-access faults during VAE decode. Other ROCm VAE models continue to use AITER GroupNorm.
  • Add focused coverage for both the Hunyuan exclusion and the unchanged non-Hunyuan path.
  • Use a HunyuanImage3-only ROCm PSNR floor of 29.0. CUDA keeps its existing default/B200 thresholds and NPU keeps 26.0.

Validation

Qualified PR head: e52c180504c98126784d6b4f092cf17960c4ec20

  • AMD/nightly build 13399: all 38 jobs passed with no hard or soft failures.
    • mi300_4: HunyuanImage3 Offline Pixel Accuracy passed without retry.
    • mean absolute difference: 0.005328
    • p99 absolute difference: 0.047059
    • SSIM: 0.992198
    • PSNR: 37.103355 dB (ROCm threshold: 29.0 dB)
    • Uploaded hunyuanimage3-pytest.xml and vllm_omni_offline.png.
  • CUDA build 16799: all 20 jobs passed with no hard or soft failures.
    • HunyuanImage3-DIT · Accuracy Test passed 3 tests without retry.
  • GitHub Python 3.11/3.12 wheel builds, pre-commit, docs, and DCO passed.
  • Changed-file pre-commit passed locally, including Ruff, formatting, mypy, CI marks, SPDX, forbidden imports, and Buildkite pipeline validation.
  • Rebase range-diff preserved all three commits exactly.

The PR was squash-merged as a0d915254b4815b085d6d713de73e3ea6c76a0be. Its stable patch ID matches the qualified PR diff exactly.

@vllm-omni-review-bot

Copy link
Copy Markdown

This PR appears to be related to model: HunyuanImage.

Model owners: @Bounty-hunter @yenuo26 @congw729

Routing: @Bounty-hunter via model owner; @yenuo26 via CI owner, CODEOWNERS; @congw729 via CODEOWNERS

@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.

@haic0

haic0 commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor Author

Self-review

Updated after the true rebase. I reviewed every final changed line on exact head 9fc31c15fa78361b35eca67d429991de86f5883f against frozen upstream main target aad30908772a8188c17997341d62768dc0bab3b7.

  • History is linear: one commit, no merge commits, and the commit parent is the exact target base.
  • The old and final net diffs have identical stable patch IDs. The only upstream overlap was current main's removal of the default flashinfer_cutlass MoE backend; that removal is preserved, while the PR's ROCm-only auto override remains.
  • The job remains four-GPU MI300, non-blocking, 180 minutes, exact-node/fail-closed collection, TORCH_SDPA, and checkout-relative PNG/JUnit staging.
  • Validation: isolated AMD pipeline/suite tests 27 passed; changed-file pre-commit passed, including Buildkite schema; diff check, Unicode format-control scan, and exact DCO/AI trailers passed.
  • No new model-specific example, code-quality fragility pattern, or evidence-backed simplification issue was found in the diff.

Residual validation is an exact-head MI300 model run. The local environment lacks vLLM, so exact model collection and GPU execution were not rerun.

@vllm-omni-review-bot

vllm-omni-review-bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Omni ReviewBot triage note

Resolved as of 63cf3e2c64bd: the high-priority or low-quality signal noted on an earlier commit no longer applies.

@hsliuustc0106 hsliuustc0106 added CI/CD codes related to changes to CI/CD ROCm PR related to AMD hardware labels Sep 22, 2026
Comment thread tests/buildkite/test_amd_pipeline.py Outdated
Comment thread .buildkite/amd/test-amd-nightly.yml Outdated
@vllm-omni-review-bot

Copy link
Copy Markdown

Omni ReviewBot: no human activity for 7 days

@haic0 this pull request has had no human commit, comment or review since 2026-09-22. Please confirm the current plan and next step. The author or a maintainer decides whether to change the PR state.

To keep it moving, any one of these is enough: push an update, reply to the open blocker, or post the current plan and timeline.

@haic0

haic0 commented Sep 29, 2026

Copy link
Copy Markdown
Contributor Author

Addressed both yenuo26 review threads in 63cf3e2c:

  • removed the HunyuanImage3-specific pipeline UT and all job-specific assertions; tests/buildkite/test_amd_pipeline.py now matches current main;
  • removed the redundant source depends_on; native MiniJinja rendering still emits depends_on: amd-build;
  • aligned with [CI][ROCm] Add Cosmos3 nightly coverage #7933 command conventions by staging both the PNG and JUnit XML;
  • merged current main to clear the branch conflict while preserving the exact node, fail-closed collection, marker/run-level, MI300 four-GPU request, and non-blocking behavior.

Validation: native MiniJinja 2.3.1 render plus YAML semantic checks passed; generic AMD pipeline suite passed (7 tests); changed-file pre-commit and git diff --check upstream/main...HEAD passed. Exact model collection was attempted but this lightweight .venv lacks PyTorch. Both review threads were replied to and resolved.

@yenuo26 yenuo26 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@yenuo26 yenuo26 added nightly-test label to trigger buildkite nightly test CI amd-test Used to trigger AMD CI separately. labels Sep 30, 2026
@hsliuustc0106 hsliuustc0106 added the ready label to trigger buildkite CI label Oct 3, 2026
@haic0
haic0 force-pushed the ci/rocm-hunyuanimage3-nightly branch from 63cf3e2 to 9fc31c1 Compare October 5, 2026 23:39
@andyluo7
andyluo7 force-pushed the ci/rocm-hunyuanimage3-nightly branch from 9fc31c1 to 7fe818a Compare October 6, 2026 14:37
@andyluo7 andyluo7 added amd-test Used to trigger AMD CI separately. cuda-test Used to trigger vllm-omni cuda CI separately. and removed amd-test Used to trigger AMD CI separately. labels Oct 6, 2026
@andyluo7
andyluo7 force-pushed the ci/rocm-hunyuanimage3-nightly branch from 7fe818a to 8a3060c Compare October 6, 2026 14:59
@andyluo7 andyluo7 added amd-test Used to trigger AMD CI separately. cuda-test Used to trigger vllm-omni cuda CI separately. and removed amd-test Used to trigger AMD CI separately. cuda-test Used to trigger vllm-omni cuda CI separately. labels Oct 6, 2026
@andyluo7 andyluo7 added cuda-test Used to trigger vllm-omni cuda CI separately. ready label to trigger buildkite CI amd-test Used to trigger AMD CI separately. nightly-test label to trigger buildkite nightly test CI and removed cuda-test Used to trigger vllm-omni cuda CI separately. ready label to trigger buildkite CI amd-test Used to trigger AMD CI separately. nightly-test label to trigger buildkite nightly test CI labels Oct 6, 2026
haic0 and others added 3 commits October 6, 2026 08:49
Assisted-by: Cursor
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: haic0 <149741444+haic0@users.noreply.github.com>
Signed-off-by: akshatvishu <akshatnayak197@gmail.com>
Signed-off-by: andyluo7 <andy.luo@amd.com>
@andyluo7
andyluo7 force-pushed the ci/rocm-hunyuanimage3-nightly branch from daa897b to e52c180 Compare October 6, 2026 15:51
@andyluo7 andyluo7 added nightly-test label to trigger buildkite nightly test CI amd-test Used to trigger AMD CI separately. cuda-test Used to trigger vllm-omni cuda CI separately. and removed nightly-test label to trigger buildkite nightly test CI cuda-test Used to trigger vllm-omni cuda CI separately. amd-test Used to trigger AMD CI separately. labels Oct 6, 2026
@andyluo7 andyluo7 changed the title [CI][ROCm] Add HunyuanImage3 nightly coverage [CI][ROCm] Add and stabilize HunyuanImage3 nightly coverage Oct 6, 2026
@andyluo7
andyluo7 merged commit a0d9152 into vllm-project:main Oct 6, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD codes related to changes to CI/CD cuda-test Used to trigger vllm-omni cuda CI separately. nightly-test label to trigger buildkite nightly test CI ready label to trigger buildkite CI ROCm PR related to AMD hardware

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants