Skip to content

fix(therock): resolve ROCm releases from the current multi-arch pip index - #272

Open
juhovainio wants to merge 2 commits into
mainfrom
fix/therock-multi-arch-pip-index
Open

fix(therock): resolve ROCm releases from the current multi-arch pip index#272
juhovainio wants to merge 2 commits into
mainfrom
fix/therock-multi-arch-pip-index

Conversation

@juhovainio

Copy link
Copy Markdown
Collaborator

Summary

Fixes #271.

  • therock_index_urls() appended a /{family} path segment to
    repo.amd.com/rocm/whl-multi-arch, but that index is flat (no per-family
    path); the request 403'd, so the CLI silently fell through to the stale
    classic whl/{family} index (stuck at 7.13.0) every time.
  • Now tries the multi-arch index (correct, flat URL) first, then falls back
    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.
  • The multi-arch rocm sdist needs an explicit device-* pip extra to pull
    in any GPU backend at all. Added known_therock_family_device_chips in
    rocm-core (mirrors the existing normalize_therock_family bucketing) to
    request exact device-gfxNNNN extras for the 10 families with an
    enumerable chip set, falling back to device-all for the remaining 6
    prefix-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 rocm
  • cargo 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_family in
    rocm-core.
  • Manual dry-run against the live index (rocm install sdk --channel release --dry-run) to confirm 7.14.0 and the right device-* extra
    are resolved for a real host - not run in this environment, worth a
    sanity check before merge.

…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>
@juhovainio
juhovainio requested a review from a team as a code owner August 17, 2026 14:38
@juhovainio juhovainio added installation Issues related to installation of drivers or ROCm libraries bug Something isn't working labels Aug 17, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working installation Issues related to installation of drivers or ROCm libraries

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rocm install sdk: release channel never resolves ROCm 7.14+ (stuck on 7.13.0)

1 participant