fix(therock): resolve ROCm releases from the current multi-arch pip index - #272
Open
juhovainio wants to merge 2 commits into
Open
fix(therock): resolve ROCm releases from the current multi-arch pip index#272juhovainio wants to merge 2 commits into
juhovainio wants to merge 2 commits into
Conversation
…ndex
repo.amd.com/rocm/whl-multi-arch is AMD's current release index and is
where 7.14.0+ is published, but therock_index_urls() appended a
per-family path segment to it (a scheme only the older whl/{family}
index uses), so the request always 403'd and the CLI silently fell
back to the stale classic index topping out at 7.13.0.
Try the multi-arch index (flat, no per-family path) first, keeping the
classic per-family index as the second candidate so older families and
explicit version pins that only exist there keep resolving exactly as
before. The multi-arch rocm sdist also needs an explicit device-*
extra to pull in a GPU backend, so requests to it now add
device-gfxNNNN extras for the families with an exact enumerable chip
set, or device-all for the remaining prefix-bucket families.
Signed-off-by: Juho Vainio <juho.vainio@amd.com>
Adds a GPU-free e2e scenario that dry-runs `install sdk --family
gfx110X-all` and asserts the resolved index_url never has the
/whl-multi-arch/{family}/ shape that 403s and used to mask the fix by
silently falling through to the stale classic index every time.
Signed-off-by: Juho Vainio <juho.vainio@amd.com>
1 task
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.
Summary
Fixes #271.
therock_index_urls()appended a/{family}path segment torepo.amd.com/rocm/whl-multi-arch, but that index is flat (no per-familypath); the request 403'd, so the CLI silently fell through to the stale
classic
whl/{family}index (stuck at 7.13.0) every time.to the classic per-family index. Reuses the existing "try each index in
order, return on first full success" resolution loop as-is, so older
releases/families that only exist on the classic index keep resolving
exactly as before - the previous source stays a working fallback.
rocmsdist needs an explicitdevice-*pip extra to pullin any GPU backend at all. Added
known_therock_family_device_chipsinrocm-core(mirrors the existingnormalize_therock_familybucketing) torequest exact
device-gfxNNNNextras for the 10 families with anenumerable chip set, falling back to
device-allfor the remaining 6prefix-bucket families where exact membership isn't derivable. The classic
index path is unaffected (still gets plain
libraries,devel).Test plan
cargo build -p rocm-core -p rocmcargo clippy -p rocm-core -p rocm --all-targets(clean)cargo test -p rocm-core(296 passed)cargo test -p rocm(459 passed), including new coverage:therock_index_urls_prefers_multi_arch_then_classic_for_release,therock_index_urls_nightly_unchanged,therock_rocm_extras_classic_index_is_unchanged,therock_rocm_extras_multi_arch_adds_exact_device_chips,therock_rocm_extras_multi_arch_falls_back_to_device_all_for_ambiguous_bucket,and
known_therock_family_device_chips_round_trip_to_their_familyinrocm-core.rocm install sdk --channel release --dry-run) to confirm 7.14.0 and the rightdevice-*extraare resolved for a real host - not run in this environment, worth a
sanity check before merge.