Repository navigation
feat(rocprofiler-compute): Run catalog skill evals on Strix Halo - #15077
Conversation
The AMD skills catalog grades evals.json only. Move the sample profile cases into extended_evals.json so that run stays a trigger check, and grade the long cases here with --extended. Co-authored-by: Cursor <cursoragent@cursor.com>
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the change, which keeps default evaluations short while preserving opt-in profiling coverage.
No open issues 🎉
What changed in this PR
This PR keeps rocprofiler-compute’s catalog evaluations short by separating sample-profiling cases from the default datasets while preserving opt-in local coverage.
Changes:
- Move long profile-and-read cases for all six skills into
extended_evals.json, retaining short routing and behavioral checks inevals.json. - Add
--extendedto the local runner, validate both datasets, and reject duplicate case IDs across files. - Document the dataset split and updated evaluation commands.
Paths below are relative to projects/rocprofiler-compute/skills/.
| File | Description |
|---|---|
run_evals.py |
Adds extended-case selection, validation, and listing details. |
rocprof-compute-torch-trace/evals/extended_evals.json |
Holds two moved PyTorch profiling cases. |
rocprof-compute-torch-trace/evals/evals.json |
Retains short torch-trace checks. |
rocprof-compute-speed-of-light/evals/extended_evals.json |
Holds two moved efficiency-report cases. |
rocprof-compute-speed-of-light/evals/evals.json |
Adds a short peak-performance routing check. |
rocprof-compute-roofline/evals/extended_evals.json |
Holds three moved roofline profiling cases. |
rocprof-compute-roofline/evals/evals.json |
Adds two short roofline routing checks. |
rocprof-compute-pc-sampling/evals/extended_evals.json |
Holds three moved PC-sampling cases. |
rocprof-compute-pc-sampling/evals/evals.json |
Adds a short stall-reason routing check. |
rocprof-compute-memory/evals/extended_evals.json |
Holds five moved memory profiling cases. |
rocprof-compute-memory/evals/evals.json |
Replaces profiling cases with short workflow and routing checks. |
rocprof-compute-kernel-bottleneck/evals/extended_evals.json |
Holds four moved kernel profiling cases. |
rocprof-compute-kernel-bottleneck/evals/evals.json |
Retains replay-safety coverage and adds short routing checks. |
README.md |
Explains minimum versus extended datasets and how to run them. |
Review effort: Balanced
- evals.json keeps every case that passes on Strix Halo, where amd/skills runs it; extended_evals.json holds the MI300X, gfx950, and PyTorch cases - Add gfx115x memory and kernel-name-filter cases; only pc-sampling still asks for MI300X in machine.yml - run_evals.py runs both datasets; the README separates this repo's workflow from the rules amd/skills sets Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
vedithal-amd
left a comment
There was a problem hiding this comment.
LGTM. I pushed a commit on top so these evals target Strix Halo:
evals.jsonis the set amd/skills runs on Strix Halo, so it keeps every case that passes there.extended_evals.jsononly holds what Strix Halo can't run (MI300X and gfx950 memory cases, the occupancy.hip filter, torch-trace profiling).- Added gfx115x memory and kernel-filter cases. Only pc-sampling keeps the MI300X label.
run_evals.pyalways runs both files; pick cases with--skillor--only.- Dropped
noteandcomment, and split the skills README into this repo vs. amd/skills.
We'll validate the Strix Halo cases through the amd/skills PR.
TheRock Submodule Bump ActivityNewest first
|
Summary
evals/evals.json, the only file amd/skills runs, on its Strix Halo runners. Move what those runners cannot run toevals/extended_evals.json: the MI300X and gfx950 memory cases, the occupancy.hip name filter, and the torch-trace profile cases, which need PyTorch.machine.yml.run_evals.pyruns both datasets. The minimum case count applies toevals.jsononly.noteandcommentfields, which no runner reads.AIPROFCOMP-965
Test plan
./skills/run_evals.py --listvalidates both datasets for every skillevals.jsonuses compile for gfx1151mem-access-inefficiencybehavioral case passes locally on MI350X (gfx950)Made with Cursor
🤖 Generated with Claude Code