Skip to content

[CI] Add M3 MSA tests to CI - #49143

Merged
vllm-bot merged 5 commits into
vllm-project:mainfrom
gau-nernst:update_sm100_ci
Jul 31, 2026
Merged

vllm-bot merged 5 commits into
vllm-project:mainfrom
gau-nernst:update_sm100_ci

Conversation

@gau-nernst

@gau-nernst gau-nernst commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Purpose

Follow up from #47442. Turns out some SM100 kernel tests did not run in CI because they were not included in the buildkite config.

cc @arpera

Edit: This PR also makes RNG inputs for test_gdn_prefill_cutedsl.py deterministic to make the test deterministic (different RNG inputs may shift the tolerance a bit. In the original test, I intentionally put the tolerance quite tight). Done separately in #49388

Edit 2: This PR also fixes the MSA kernel test. It has been broken since Minimax M3 model code merge but has never surfaced since the test has never run in CI.

Test Plan

Test Result


Essential Elements of an Effective PR Description Checklist
  • The purpose of the PR, such as "Fix some issue (link existing issues this PR will resolve)".
  • The test plan, such as providing test command.
  • The test results, such as pasting the results comparison before and after, or e2e results
  • (Optional) The necessary documentation update, such as updating supported_models.md and examples for a new model.

@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 the ci/build label Jul 20, 2026
@Isotr0py
Isotr0py enabled auto-merge (squash) July 20, 2026 04:18
@github-actions github-actions Bot added the ready ONLY add when PR is ready to merge/full CI is needed label Jul 20, 2026
auto-merge was automatically disabled July 20, 2026 07:28

Head branch was pushed to by a user without write access

num_v_heads,
device="cuda",
dtype=dtype,
1, total_tokens, num_v_heads, device="cuda", dtype=dtype, generator=rng
)
# Match upstream FLA GatedDeltaNet synthetic initialization:
# https://github.com/fla-org/flash-linear-attention/blob/main/fla/layers/gated_deltanet.py
A = torch.empty(num_v_heads, device="cuda", dtype=torch.float32).uniform_(0, 16)

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.

Probably here should be uniform_(0, 16, generator=rng)?

Also I am wondering why these changes in tests/kernels/mamba/test_gdn_prefill_cutedsl.py are needed for? Is it some bug fix? How this test is connected with updating CI tests list?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

thank you, i missed it

the test passes on my machine locally, but is failing in CI https://buildkite.com/vllm/ci/builds/78822/list?jid=019f7e6e-a40e-47c9-ae8f-2950ce8843d0&tab=output. We don't see this previously because the test has never run in CI before.

i thought it was due to non-deterministic inputs, so i added RNG seed. looks like even with seeded input, I need to relax the tolerance.

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.

This might be due to different model of GPU that you use locally and that is used in the CI for this test case.
When I recently did a bump of cutlass to 4.6.0 link, I had a similar tolerance problem with one of the CI tests. This test failed for me locally on main branch on GB200, but in the CI it passed on Nvidia L4.

Is you see such a problem it would be great if you can grab info about the environment you run locally (use python vllm/collect_env.py) as well what environment CI uses for this test case (from your CI logs I see it uses B200), and then report a CI issue as I did and link this issue to this PR. If you decide to adjust the tolerance for this test case at first I would ask about this and describe situation in #sig-si to let others know what the problem is. Probably they would help you to decide what to do next.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The GDN prefill test passes now after I fixed the missing rng in uniform_() as you have pointed out. https://buildkite.com/vllm/ci/builds/78845/list?jid=019f7edd-b964-481a-94dc-b8f15252c8ff&tab=output

So everything is good?

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.

Super! Then there is no need to relax tolerance. Please, mention in the PR description please that this PR not only enables some of the existing unit tests to CI but also fixed test_gdn_prefill_cutedsl.py that failed on different environments and this PR made inputs of this test to be deterministic as a fix.

@wzhao18

wzhao18 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Thanks! Is the plan to add the MSA unit tests to the CI? I suppose need to wait for landing of #49016?

@gau-nernst

Copy link
Copy Markdown
Contributor Author

@wzhao18 Yes, will need to wait for #49016. Now CI shows the failing MSA tests as expected https://buildkite.com/vllm/ci/builds/78845/list?jid=019f7edd-b964-481a-94dc-b8f15252c8ff&tab=output

@gau-nernst gau-nernst changed the title [CI] Add M3 MSA and Inkling FA4 tests to CI [CI] Add M3 MSA tests to CI Jul 22, 2026
@gau-nernst

Copy link
Copy Markdown
Contributor Author

Ugh, looks like the MSA test are broken. I will likely break this into 2 PRs:

  1. Fix GDN prefill deterministic inputs
  2. Fix MSA tests + add them to CI

Likely this PR will remain for MSA test, and another PR for GDN prefill

@arpera

arpera commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

@gau-nernst, could you please pull main to your PR?

gau-nernst and others added 4 commits July 30, 2026 14:43
Signed-off-by: Thien Tran <gau.nernst@yahoo.com.sg>
Signed-off-by: Thien Tran <gau.nernst@yahoo.com.sg>
Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Thien Tran <gau.nernst@yahoo.com.sg>
Signed-off-by: Thien Tran <gau.nernst@yahoo.com.sg>
@gau-nernst

Copy link
Copy Markdown
Contributor Author

@arpera I have rebased and fixed the failing test. PR description is updated.

@arpera

arpera commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

LGTM. Let's wait until all the CI tests would finish and if everything ok then merge this PR.

@arpera

arpera commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

@gau-nernst, could you please check what is wrong with failed CI jobs?

@gau-nernst

Copy link
Copy Markdown
Contributor Author

The errors look unrelated. Just merged main to re-run CI

@arpera

arpera commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

CI looks good now. There is only one failure buildkite/ci/pr/kernels-fusedmoe-layer-test-2-b200s that is also failing on main 81480. I think we can merge this item then. Thanks!

@vllm-bot
vllm-bot merged commit 34bb795 into vllm-project:main Jul 31, 2026
88 of 90 checks passed
@gau-nernst
gau-nernst deleted the update_sm100_ci branch July 31, 2026 08:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/build ready ONLY add when PR is ready to merge/full CI is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants