Skip to content

[CI][ROCm] Fix DSpark ROCm test stub after AITER MegaMoEV2 - #60475

Closed
khluu wants to merge 1 commit into
vllm-project:mainfrom
khluu:claude/fix-dspark-rocm-test-stub
Closed

khluu wants to merge 1 commit into
vllm-project:mainfrom
khluu:claude/fix-dspark-rocm-test-stub

Conversation

@khluu

@khluu khluu commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Overview

Fixes :amd: (MI355) Basic Models (Other) on main. It is non-optional and has been red since #59685 ([ROCm][DSv4] AITER MegaMoEV2) merged. Example: https://buildkite.com/vllm/ci/builds/93397#01a11807-77e4-4894-94e2-b18903ce011c

Claims

  • tests/models/test_deepseek_v4_dspark_rocm.py passes again: 6/6, up from 4/6 on main.
  • This is a test-only change; no model code changes.

Validation

I ran the file in the CI image for main commit 08567505b0 (vllm-ci-postmerge-repo:08567505b0…) on one H200. The file has a module-level import that needs a visible GPU; the tests themselves are cpu_test stubs.

Result
main 2 failed, 4 passed: AttributeError: 'types.SimpleNamespace' object has no attribute 'layers'. This is the same error as the MI355 job.
this PR 6 passed

Command: pytest -q models/test_deepseek_v4_dspark_rocm.py. I did not run it on MI355; the PR's MI355 job will confirm.

Details

#59685 changed DSparkDeepseekV4ForCausalLM.load_weights (vllm/models/deepseek_v4/amd/dspark.py:395) to choose the routed-experts prefix from self.model.layers[0].ffn.use_mega_moe. The two load_weights tests build a SimpleNamespace stub for model.model that has only confidence_head, so the new attribute access fails. The stub now also has one layer with use_mega_moe=False, which matches the non-MegaMoE default. The tests monkeypatch fused_moe_make_expert_params_mapping, so the prefix value doesn't affect what they assert.

#59685's own CI didn't catch this because its changes didn't trigger the MI355 Basic Models (Other) job. #59050 added this test file to that job.

Not a duplicate: I searched open PRs for dspark_rocm / test_deepseek_v4_dspark_rocm and found none.


Pull Request Checklist
  • I used vLLM's /pr-checklist skill. (Mandatory for agents, optional for humans).

  • AI assistance was used during the creation of this PR. Claude Code wrote it; @khluu has not reviewed it yet.

  • Design Fit: Minimizes impact on core components, reuses existing functionality, and justifies added complexity.

  • Testing and Validation: Validates the change and ensures any added tests are meaningful and reliable, with CI coverage or documented CI resource constraints and validation performed outside CI.

  • Code Quality and Style: Keeps code and comments clear and concise, and updates relevant documentation and examples.

  • Pull Request Contents: Includes a brief summary and relevant links, supports claims with evidence, explains root causes and implementation trade-offs, and follows the contributing guide.

🤖 Generated with Claude Code

vllm-project#59685 made DSparkDeepseekV4ForCausalLM.load_weights read
self.model.layers[0].ffn.use_mega_moe, which the test's stub model lacks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: khluu <khluu000@gmail.com>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mergify mergify Bot added deepseek Related to DeepSeek models rocm Related to AMD ROCm dflash labels Oct 7, 2026
@khluu khluu closed this Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deepseek Related to DeepSeek models dflash rocm Related to AMD ROCm

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant