Repository navigation
[CI][ROCm] Add a monokernels test area with a group per AMD monokernel - #63486
Draft
AndreasKaratzas wants to merge 1 commit into
Draft
AndreasKaratzas wants to merge 1 commit into
AndreasKaratzas wants to merge 1 commit into
Conversation
Move the DeepSeek-V4.1 (gfx950 and gfx942), Kimi-K3 specialized decode and MiniMax-M3 MonoKernel steps into .buildkite/test_areas/monokernels.yaml, each with curated source_file_dependencies, and extend their tests: DSpark draft layers, FULL CUDA graphs, step-width and short-context sweeps, KV-record writes, index-source and engagement checks for DSv4.1; e2e replay, multi-width and multi-step K1, hostile routing and per-layer checks against vLLM for Kimi-K3; launch/epoch engagement, EAGLE3 aux states, width sweeps and stock/mono transitions for MiniMax-M3. Add nightly real-checkpoint gsm8k configs whose post-eval check proves the monokernel ran, and an AGENTS.md rule requiring a group here for new AMD monokernels. Co-authored-by: Claude <noreply@anthropic.com> Signed-off-by: Andreas Karatzas <akaratza@amd.com>
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
This was referenced Oct 25, 2026
Open
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
monokernels.yaml: new test area with one group per AMD monokernel (DeepSeek-V4.1 gfx950 and gfx942, Kimi-K3 specialized decode, MiniMax-M3 MonoKernel), curatedsource_file_dependenciesper step, and the existing steps moved out ofmodels_basic.yamlandkernels.yamlfinal_rpc_checkshook andmonokernel_checks.py, so the eval fails if the monokernel never ranAGENTS.md: a PR that adds an AMD monokernel must add a group tomonokernels.yaml, or extend the model's existing groupMonokernels landed on AMD in the last few weeks for DeepSeek-V4.1 (#60397, #61082, #62131, #60731), Kimi-K3 (#60683) and MiniMax-M3 (#62712, #62994). Each came with some CI, but it was spread over three test areas, missed files the kernels depend on, and never checked accuracy on real weights. The engine tests also could not tell whether the monokernel ran at all. This puts every monokernel's coverage in one place with the same shape: blocking kernel/layer numerics against vLLM's stock path, an engine test that asserts the monokernel's own counters moved, and a nightly gsm8k run on the real checkpoint with a post-eval engagement check.
The new tests found a few problems, kept visible rather than hidden:
klen:stage_combineinmono/attention/back.pyloads it without waiting onkrdy, unlikestage_split.test_mono_index_source_matches_vllmisxfail(strict=True)until it is fixed. An intermittent hang in the same launches was seen earlier but not reproduced, so the DSv4.1 steps run under--timeout.Hardware. Blocking steps use synthetic or dummy weights and add about 1.3-1.6 MI355 GPU-h per fully triggered run (≈2.4 → 3.6-4.0), plus an unmeasured MI300 delta. The Kimi engine-fault step needs a whole mi355_8 (≈259 GiB per GPU), and none of these steps can run on
mi355_dpx. The nightly gsm8k steps are all new: ≈11-14 MI355 GPU-h per night, and about 2.11 TiB of additional checkpoint storage per HF cache.moonshotai/Kimi-K3deepseek-ai/DeepSeek-V4.1-Flashamd/MiniMax-M3-MXFP4Inferact/MiniMax-M3-EAGLE3The native (
dind: false) path ofrun-amd-test.shdoes not disable core dumps, and a crashed rank writes about 40 GB, so the steps that inject faults run underulimit -c 0.Not yet validated (why this is a draft). Every new or changed test passed 3 times in a row on 8x MI350X with the CI pins (AITER v0.1.26, FlyDSL 0.4.0), but an external job held about 215 GB of every GPU throughout, so:
test_dsv41_mono_layers.pyhas not run at its committedgpu_memory_utilization=0.5;gpu_memory_utilization=0.27.AI assistance (Claude Code) was used to draft this change. Every line was reviewed by the submitter.