Repository navigation
Share gfx1250 package ownership across bootstrap and kpack - #11801
Merged
Merged
Conversation
## Motivation Register gfx1250-strict as a distinct target sharing the gfx1250 package bundle. Preserve gfx1250 for numeric lookup. ## Technical Details Provide dependency-free ownership metadata for packaging consumers and require bootstrap 0.3.0 for wheel splitting. Group supplied payloads into owner wheels, preserve target-specific names, and reject conflicting paths before copying. Align variant metadata, dependency markers, and bootstrap provider output on the shared package owner. Selecting a shared package owner does not guarantee that a particular target's payload is present; the build and publication must supply appropriate contents. ## Issue Tracking Fixes #11758 ## Test Plan - python -m pytest -q -p no:cacheprovider shared/kpack/tests \ python/rocm-bootstrap/python/rocm_bootstrap/tests ## Test Result - 1302 passed, 4 existing skips when run from shared/kpack. - Repository-root execution encounters three existing fixture errors from working-directory-relative asset paths. - Cover gfx1250 and gfx1250-strict payloads individually and together using directory output, with separate checks for identical files, conflicting contents, and file/directory overlaps. - Cover feature-qualified inputs, shared-owner metadata, and bundle lookup. Numeric lookup expectations are independent of ownership. - Cover numeric detection, explicit overrides, and missing or disabled detection in bootstrap tests. Both metadata-generation paths have focused checks, with one provider/metadata agreement regression. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/rocm-systems/blob/develop/CONTRIBUTING.md. Generated with Codex
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
ScottTodd
approved these changes
Sep 17, 2026
marbre
added a commit
to ROCm/TheRock
that referenced
this pull request
Sep 17, 2026
SDK build and installed metadata need the same ownership rules as kpack and bootstrap. Load the shared ownership module from rocm-systems and embed its source into generated SDK metadata so installed packages remain self-contained without a bootstrap or build-tools dependency. The rocm-systems change in ROCm/rocm-systems#11801 must land first, followed by a rocm-systems submodule bump containing that change, before this commit lands. The submodule bump is not included here. Direct bootstrap imports remain a follow-up under #4865. Progress on #8278. Test plan: - python -m pytest -q -p no:cacheprovider \ build_tools/tests/sdk_targets_test.py \ build_tools/tests/py_packaging_test.py \ build_tools/github_actions/tests/expand_amdgpu_families_test.py Test results: - 100 passed with the companion rocm-systems checkout at ada5b1dc5ef. - Generated SDK metadata runs under python -I -S without importing bootstrap or TheRock build tools. - Ownership parity and invalid embedding-marker checks pass.
1 task done
Member
Author
|
Relevant tests pass, rocprofiler tests failing is unrelated to the changes. |
1 task done
Contributor
TheRock Submodule Bump ActivityNewest first
|
marbre
added a commit
to ROCm/TheRock
that referenced
this pull request
Oct 30, 2026
## Motivation Family selection must include both gfx1250 targets for builds, distributions, and artifact fetching. Default test compilation includes strict along with the other registered targets. Explicit individual target selections retain their own payload identity. Closes #8278 ## Technical Details Prerequisites before landing: - ~~#8325: shared SDK ownership.~~ (superseded) - #8377: centralized target ownership. - #8327: native package ownership. - #8328: tarball ownership. - ~~A rocm-systems submodule bump containing ROCm/rocm-systems#11801.~~ **(landed)** - Established broader component readiness for family enablement. ## Test Plan Fresh compiler/HIP/RAND builds and SDK, DEB/RPM, and tarball validation passed on the integration branch with temporary family membership. The exact family enablement was then integrated for a combined build with RAND tests and target-neutral hipthreads. Test target overrides were left empty to exercise the default registered-target list. These checks do not establish full component or GPU execution support. - python -m pytest -q -p no:cacheprovider build_tools/tests/cmake_amdgpu_targets_test.py build_tools/tests/artifact_manager_tool_test.py build_tools/github_actions/tests/configure_multi_arch_ci_test.py - cmake --build ../therock-build-rand-tests-gfx125X-dcgpu --target artifact-rand artifact-hipthreads - ../therock-build-rand-tests-gfx125X-dcgpu/compiler/amd-llvm/dist/lib/llvm/bin/llvm-objdump --offloading ../therock-build-rand-tests-gfx125X-dcgpu/math-libs/hipthreads/stage/lib/hipthreads/libhipthreads.a - python -m rocm_kpack.tools.verify_artifacts --artifacts-dir ../therock-build-rand-tests-gfx125X-dcgpu/artifacts --verbose --clang-offload-bundler ../therock-build-rand-tests-gfx125X-dcgpu/compiler/amd-llvm/dist/lib/llvm/bin/clang-offload-bundler ## Test Result - 171 passed and 1 existing test skipped with umask 022. - rocRAND and hipRAND tests compiled for both gfx1250 targets. Each target's test kpack contains 34 entries with only its target identity. - Target-neutral hipthreads compiled with the default test target list. Its library contains exactly 29 distinct device images, including separate gfx1250 and gfx1250-strict images. - All four artifact verifier checks passed. - No GPU tests were executed. ## Submission Checklist - [x] Look over the contributing guidelines at https://github.com/ROCm/TheRock/blob/main/CONTRIBUTING.md. Generated with Codex
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
Register gfx1250-strict as a distinct target sharing the gfx1250 package bundle. Preserve gfx1250 for numeric lookup.
Technical Details
Provide dependency-free ownership metadata for packaging consumers and require bootstrap 0.3.0 for wheel splitting. Group supplied payloads into owner wheels, preserve target-specific names, and reject conflicting paths before copying.
Align variant metadata, dependency markers, and bootstrap provider output on the shared package owner.
Selecting a shared package owner does not guarantee that a particular target's payload is present; the build and publication must supply appropriate contents.
Issue Tracking
Fixes #11758
Test Plan
Test Result
Submission Checklist
Generated with Codex