Repository navigation
fix(ci): regenerate consumer graph for kfdtest edges - #7297
Merged
BrianHarrisonAMD merged 1 commit intoAug 12, 2026
Merged
Conversation
kfdtest was added as a subproject in #6334 but the committed consumer graph was not regenerated, so main carries no kfdtest edges. The drift check compares the whole file, so every PR that touches a graph-affecting path now fails it or has to carry these lines. Regenerated with check_consumer_graph_drift.py --write. The diff is exactly the kfdtest registration plus its seven BUILD_DEPS/RUNTIME_DEPS reverse edges (amd-llvm, rocr-runtime, therock-libdrm, therock-numactl, therock-yaml-cpp, therock-zlib, therock-zstd). No behavior change today: selection can now emit "kfdtest", but there is no kfdtest key in fetch_test_configurations.py, so no job is scheduled. Refs: #6334
✅ All Checks Passed — Ready for Review
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
BrianHarrisonAMD
added a commit
that referenced
this pull request
Aug 12, 2026
Adds hipdnn_integration_tests as a consumer of rocrand, following the RUNTIME_DEPS edge added in the previous commit. The kfdtest edges this file also needed are split out into #7297, which this branch is stacked on.
7 of 9 tasks
ScottTodd
approved these changes
Aug 12, 2026
andmar-amd
approved these changes
Aug 12, 2026
andmar-amd
left a comment
Contributor
There was a problem hiding this comment.
LGTM, but I would wait for one of the others green thumb.
BrianHarrisonAMD
deleted the
users/bharriso/consumer-graph-kfdtest-drift
branch
August 12, 2026 16:09
BrianHarrisonAMD
added a commit
that referenced
this pull request
Aug 12, 2026
Adds hipdnn_integration_tests as a consumer of rocrand, following the RUNTIME_DEPS edge added in the previous commit. The kfdtest edges this file also needed are split out into #7297, which this branch is stacked on.
BrianHarrisonAMD
added a commit
that referenced
this pull request
Aug 14, 2026
…7166) ## Summary The hipDNN integration test suite is adding rocRAND-based GPU tensor data generation in [rocm-libraries#10305](ROCm/rocm-libraries#10305). That change calls `find_package(rocrand)` unconditionally, so TheRock must declare the dependency before it lands. This PR wires rocRAND into the `hipdnn_integration_tests` subproject, artifact topology, artifact fetch, and Linux packaging. Stacked on #7297, which regenerates the consumer graph for unrelated kfdtest edges missing from `main` (#7298). It must merge first. ISSUE ID : ROCm/rocm-libraries#8991 ## Risk Assessment Low risk. Build wiring only, scoped to the `hipdnn_integration_tests` subproject and its artifact. No product code, no public API, no change to any other subproject. The main consequence is that enabling `THEROCK_ENABLE_HIPDNN_INTEGRATION_TESTS` now force-enables `THEROCK_ENABLE_RAND`, which adds rocRAND to the build graph for configurations that previously excluded it. ## ASIC Coverage Passing PR CI is sufficient. The change is ASIC-independent: it adds a link dependency on rocRAND's host API only. The integration test suite compiles no device code at build time, since all of its kernels are HipRTC-compiled at runtime from embedded sources, so the `hipdnn-integration-tests` artifact remains `TARGET_NEUTRAL`. rocRAND's per-arch device code lives in `librocrand`'s fatbin and is delivered by the existing target-specific `rand` artifact, which is already resolved per-architecture by the artifact fetch. ## Testing Summary - Topology validation confirming the new artifact dependency resolves and stays acyclic. - Feature-resolution check confirming `THEROCK_ENABLE_RAND` is force-enabled and declared before its dependent. - Generator and schema checks on the modified topology and packaging manifest. - End-to-end CI validation on a dry-run branch that points the `rocm-libraries` submodule at the consuming PR. ## Testing Checklist - [x] Topology validation - `BuildTopology.validate_topology()` - Status: Passed - [x] Topology unit tests - `python3 -m unittest tests.build_topology_test` - Status: Passed - [x] Feature resolution - `therock_finalize_features()` with `-DTHEROCK_ENABLE_RAND=OFF -DTHEROCK_ENABLE_HIPDNN_INTEGRATION_TESTS=ON` resolves to `RAND=ON` - Status: Passed - [x] Feature ordering - `topology_to_cmake.py` emits `RAND` before `HIPDNN_INTEGRATION_TESTS` - Status: Passed - [x] Packaging manifest - `json.load` on `build_tools/packaging/linux/package.json` - Status: Passed - [x] Commit hooks - `pre-commit run --files` - Status: Passed - [x] Unit test - `pytest build_tools/tests/install_rocm_from_artifacts_test.py` - 18 passed; verified failing when the `rand_lib` line is reverted - Status: Passed - [ ] Dry-run CI with [rocm-libraries#10305](ROCm/rocm-libraries#10305) - `users/bharriso/hipdnn-integration-tests-rocrand-dryrun`, gfx94X - Status: Re-running after the restack - Link: [run](https://github.com/ROCm/TheRock/actions/runs/31607249037) (prior run on the old base passed: [31126893581](https://github.com/ROCm/TheRock/actions/runs/31126893581)) - [ ] PR CI - GitHub PR checks - Status: Pending ## Technical Changes - `ml-libs/CMakeLists.txt`: adds `rocRAND` to `hipdnn_integration_tests` `RUNTIME_DEPS`. This satisfies the super-project dependency provider, which raises a fatal error when a subproject calls `find_package` on a provided package without a declared edge, and places `librocrand` in the dist tree for link and RPATH. `RUNTIME_DEPS` rather than `BUILD_DEPS` because the library is linked, matching the existing `miopenprovider` to `MIOpen` and `hipblasltprovider` to `hipBLASLt` edges, which are likewise `TARGET_NEUTRAL` consumers of target-specific libraries. - `BUILD_TOPOLOGY.toml`: adds `rand` to the `hipdnn-integration-tests` artifact dependencies, which force-enables `THEROCK_ENABLE_RAND` and makes sharded CI fetch the `rand` artifact before building and testing `ml-libs`. - `build_tools/install_rocm_from_artifacts.py`: fetches `rand_lib` alongside `--hipdnn-integration-tests`. Artifact expansion is explicit rather than transitive, so without this the test runners have no `librocrand` to load. - `build_tools/packaging/linux/package.json`: `amdrocm-dnn-test` now depends on `amdrocm-rand`. - `test_tools/therock_consumer_graph.json`: adds `hipdnn_integration_tests` as a consumer of `rocrand`. One line. - `build_tools/tests/install_rocm_from_artifacts_test.py`: asserts `--hipdnn-integration-tests` pulls `rand_lib`, so the dependency cannot be dropped silently in a future merge conflict. ## Merge Order This PR must merge after #7297 and before [rocm-libraries#10305](ROCm/rocm-libraries#10305). That PR calls `find_package(rocrand)` unconditionally, and TheRock's dependency provider fails configuration for an undeclared provided package regardless of the `QUIET` argument.
lumachad
pushed a commit
that referenced
this pull request
Aug 17, 2026
…7166) ## Summary The hipDNN integration test suite is adding rocRAND-based GPU tensor data generation in [rocm-libraries#10305](ROCm/rocm-libraries#10305). That change calls `find_package(rocrand)` unconditionally, so TheRock must declare the dependency before it lands. This PR wires rocRAND into the `hipdnn_integration_tests` subproject, artifact topology, artifact fetch, and Linux packaging. Stacked on #7297, which regenerates the consumer graph for unrelated kfdtest edges missing from `main` (#7298). It must merge first. ISSUE ID : ROCm/rocm-libraries#8991 ## Risk Assessment Low risk. Build wiring only, scoped to the `hipdnn_integration_tests` subproject and its artifact. No product code, no public API, no change to any other subproject. The main consequence is that enabling `THEROCK_ENABLE_HIPDNN_INTEGRATION_TESTS` now force-enables `THEROCK_ENABLE_RAND`, which adds rocRAND to the build graph for configurations that previously excluded it. ## ASIC Coverage Passing PR CI is sufficient. The change is ASIC-independent: it adds a link dependency on rocRAND's host API only. The integration test suite compiles no device code at build time, since all of its kernels are HipRTC-compiled at runtime from embedded sources, so the `hipdnn-integration-tests` artifact remains `TARGET_NEUTRAL`. rocRAND's per-arch device code lives in `librocrand`'s fatbin and is delivered by the existing target-specific `rand` artifact, which is already resolved per-architecture by the artifact fetch. ## Testing Summary - Topology validation confirming the new artifact dependency resolves and stays acyclic. - Feature-resolution check confirming `THEROCK_ENABLE_RAND` is force-enabled and declared before its dependent. - Generator and schema checks on the modified topology and packaging manifest. - End-to-end CI validation on a dry-run branch that points the `rocm-libraries` submodule at the consuming PR. ## Testing Checklist - [x] Topology validation - `BuildTopology.validate_topology()` - Status: Passed - [x] Topology unit tests - `python3 -m unittest tests.build_topology_test` - Status: Passed - [x] Feature resolution - `therock_finalize_features()` with `-DTHEROCK_ENABLE_RAND=OFF -DTHEROCK_ENABLE_HIPDNN_INTEGRATION_TESTS=ON` resolves to `RAND=ON` - Status: Passed - [x] Feature ordering - `topology_to_cmake.py` emits `RAND` before `HIPDNN_INTEGRATION_TESTS` - Status: Passed - [x] Packaging manifest - `json.load` on `build_tools/packaging/linux/package.json` - Status: Passed - [x] Commit hooks - `pre-commit run --files` - Status: Passed - [x] Unit test - `pytest build_tools/tests/install_rocm_from_artifacts_test.py` - 18 passed; verified failing when the `rand_lib` line is reverted - Status: Passed - [ ] Dry-run CI with [rocm-libraries#10305](ROCm/rocm-libraries#10305) - `users/bharriso/hipdnn-integration-tests-rocrand-dryrun`, gfx94X - Status: Re-running after the restack - Link: [run](https://github.com/ROCm/TheRock/actions/runs/31607249037) (prior run on the old base passed: [31126893581](https://github.com/ROCm/TheRock/actions/runs/31126893581)) - [ ] PR CI - GitHub PR checks - Status: Pending ## Technical Changes - `ml-libs/CMakeLists.txt`: adds `rocRAND` to `hipdnn_integration_tests` `RUNTIME_DEPS`. This satisfies the super-project dependency provider, which raises a fatal error when a subproject calls `find_package` on a provided package without a declared edge, and places `librocrand` in the dist tree for link and RPATH. `RUNTIME_DEPS` rather than `BUILD_DEPS` because the library is linked, matching the existing `miopenprovider` to `MIOpen` and `hipblasltprovider` to `hipBLASLt` edges, which are likewise `TARGET_NEUTRAL` consumers of target-specific libraries. - `BUILD_TOPOLOGY.toml`: adds `rand` to the `hipdnn-integration-tests` artifact dependencies, which force-enables `THEROCK_ENABLE_RAND` and makes sharded CI fetch the `rand` artifact before building and testing `ml-libs`. - `build_tools/install_rocm_from_artifacts.py`: fetches `rand_lib` alongside `--hipdnn-integration-tests`. Artifact expansion is explicit rather than transitive, so without this the test runners have no `librocrand` to load. - `build_tools/packaging/linux/package.json`: `amdrocm-dnn-test` now depends on `amdrocm-rand`. - `test_tools/therock_consumer_graph.json`: adds `hipdnn_integration_tests` as a consumer of `rocrand`. One line. - `build_tools/tests/install_rocm_from_artifacts_test.py`: asserts `--hipdnn-integration-tests` pulls `rand_lib`, so the dependency cannot be dropped silently in a future merge conflict. ## Merge Order This PR must merge after #7297 and before [rocm-libraries#10305](ROCm/rocm-libraries#10305). That PR calls `find_package(rocrand)` unconditionally, and TheRock's dependency provider fails configuration for an undeclared provided package regardless of the `QUIET` argument.
lumachad
pushed a commit
that referenced
this pull request
Aug 18, 2026
…7166) ## Summary The hipDNN integration test suite is adding rocRAND-based GPU tensor data generation in [rocm-libraries#10305](ROCm/rocm-libraries#10305). That change calls `find_package(rocrand)` unconditionally, so TheRock must declare the dependency before it lands. This PR wires rocRAND into the `hipdnn_integration_tests` subproject, artifact topology, artifact fetch, and Linux packaging. Stacked on #7297, which regenerates the consumer graph for unrelated kfdtest edges missing from `main` (#7298). It must merge first. ISSUE ID : ROCm/rocm-libraries#8991 ## Risk Assessment Low risk. Build wiring only, scoped to the `hipdnn_integration_tests` subproject and its artifact. No product code, no public API, no change to any other subproject. The main consequence is that enabling `THEROCK_ENABLE_HIPDNN_INTEGRATION_TESTS` now force-enables `THEROCK_ENABLE_RAND`, which adds rocRAND to the build graph for configurations that previously excluded it. ## ASIC Coverage Passing PR CI is sufficient. The change is ASIC-independent: it adds a link dependency on rocRAND's host API only. The integration test suite compiles no device code at build time, since all of its kernels are HipRTC-compiled at runtime from embedded sources, so the `hipdnn-integration-tests` artifact remains `TARGET_NEUTRAL`. rocRAND's per-arch device code lives in `librocrand`'s fatbin and is delivered by the existing target-specific `rand` artifact, which is already resolved per-architecture by the artifact fetch. ## Testing Summary - Topology validation confirming the new artifact dependency resolves and stays acyclic. - Feature-resolution check confirming `THEROCK_ENABLE_RAND` is force-enabled and declared before its dependent. - Generator and schema checks on the modified topology and packaging manifest. - End-to-end CI validation on a dry-run branch that points the `rocm-libraries` submodule at the consuming PR. ## Testing Checklist - [x] Topology validation - `BuildTopology.validate_topology()` - Status: Passed - [x] Topology unit tests - `python3 -m unittest tests.build_topology_test` - Status: Passed - [x] Feature resolution - `therock_finalize_features()` with `-DTHEROCK_ENABLE_RAND=OFF -DTHEROCK_ENABLE_HIPDNN_INTEGRATION_TESTS=ON` resolves to `RAND=ON` - Status: Passed - [x] Feature ordering - `topology_to_cmake.py` emits `RAND` before `HIPDNN_INTEGRATION_TESTS` - Status: Passed - [x] Packaging manifest - `json.load` on `build_tools/packaging/linux/package.json` - Status: Passed - [x] Commit hooks - `pre-commit run --files` - Status: Passed - [x] Unit test - `pytest build_tools/tests/install_rocm_from_artifacts_test.py` - 18 passed; verified failing when the `rand_lib` line is reverted - Status: Passed - [ ] Dry-run CI with [rocm-libraries#10305](ROCm/rocm-libraries#10305) - `users/bharriso/hipdnn-integration-tests-rocrand-dryrun`, gfx94X - Status: Re-running after the restack - Link: [run](https://github.com/ROCm/TheRock/actions/runs/31607249037) (prior run on the old base passed: [31126893581](https://github.com/ROCm/TheRock/actions/runs/31126893581)) - [ ] PR CI - GitHub PR checks - Status: Pending ## Technical Changes - `ml-libs/CMakeLists.txt`: adds `rocRAND` to `hipdnn_integration_tests` `RUNTIME_DEPS`. This satisfies the super-project dependency provider, which raises a fatal error when a subproject calls `find_package` on a provided package without a declared edge, and places `librocrand` in the dist tree for link and RPATH. `RUNTIME_DEPS` rather than `BUILD_DEPS` because the library is linked, matching the existing `miopenprovider` to `MIOpen` and `hipblasltprovider` to `hipBLASLt` edges, which are likewise `TARGET_NEUTRAL` consumers of target-specific libraries. - `BUILD_TOPOLOGY.toml`: adds `rand` to the `hipdnn-integration-tests` artifact dependencies, which force-enables `THEROCK_ENABLE_RAND` and makes sharded CI fetch the `rand` artifact before building and testing `ml-libs`. - `build_tools/install_rocm_from_artifacts.py`: fetches `rand_lib` alongside `--hipdnn-integration-tests`. Artifact expansion is explicit rather than transitive, so without this the test runners have no `librocrand` to load. - `build_tools/packaging/linux/package.json`: `amdrocm-dnn-test` now depends on `amdrocm-rand`. - `test_tools/therock_consumer_graph.json`: adds `hipdnn_integration_tests` as a consumer of `rocrand`. One line. - `build_tools/tests/install_rocm_from_artifacts_test.py`: asserts `--hipdnn-integration-tests` pulls `rand_lib`, so the dependency cannot be dropped silently in a future merge conflict. ## Merge Order This PR must merge after #7297 and before [rocm-libraries#10305](ROCm/rocm-libraries#10305). That PR calls `find_package(rocrand)` unconditionally, and TheRock's dependency provider fails configuration for an undeclared provided package regardless of the `QUIET` argument.
1 task done
avansick-amd
added a commit
that referenced
this pull request
Aug 18, 2026
Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Adam Van Sickle <adam.vansickle@amd.com> ## Motivation `rocprofiler-compute` gained a `THEROCK_BUNDLED_ZLIB` runtime dep in #7421, but the committed consumer graph was never regenerated. The drift check compares the whole file, so any PR touching a graph-affecting path either fails it or has to carry this line in an unrelated diff. Same class as #7298 / #7297. ## Technical Details Regenerated `test_tools/therock_consumer_graph.json` with `check_consumer_graph_drift.py --write` from a full-tree `THEROCK_ENABLE_ALL=ON` `gfx94X-dcgpu` configure. No other files change. The diff is one line: `rocprofiler-compute` added to `therock-zlib`'s consumers. `rocprofiler-compute` has a key in `fetch_test_configurations.py`, so changes to `therock-zlib` can now schedule its tests. That follows from the dependency #7421 added. ## Test Plan - Regenerated locally, then confirmed the result matches what CI independently computed on #7376. ## Test Result - Consumer graph drift check: pass. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/TheRock/blob/main/CONTRIBUTING.md.
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.
Motivation
kfdtest was added as a subproject in #6334, but the committed consumer graph was never regenerated. The drift check compares the whole file, so any PR touching a graph-affecting path either fails it or has to carry these lines in an unrelated diff.
GitHub issue: #7298
Technical Details
Regenerated
test_tools/therock_consumer_graph.jsonwithcheck_consumer_graph_drift.py --write. No other files change.The diff is the kfdtest node plus its seven reverse edges from
core/CMakeLists.txt:amd-llvm,rocr-runtime,therock-libdrm,therock-numactl,therock-yaml-cpp,therock-zlib,therock-zstd.No behavior change. Selection can now emit
kfdtest, but there is nokfdtestkey infetch_test_configurations.py, so no job is scheduled.Test Plan
Drift check, policy validation, selection unit tests, pre-commit.
Test Result
--validate-policies: OK, 18 component keys against 116 graph nodesdetermine_rocm_test_dependencies_test.py: 49 passedSubmission Checklist