Repository navigation
Conversation
jussielo-amd
left a comment
There was a problem hiding this comment.
Review — request changes
Ran a full independent review (review-code method: 4-way fan-out plus follow-up tracing). One finding is attached as an inline comment on the lines it concerns; everything else is here.
Blocking
-
Same-ROCm-suffix torchaudio builds are picked by recency alone, and this repo already has direct, same-package evidence that recency isn't a safe discriminator. See the inline comment on
apps/rocm/src/therock.rs. -
Three required E2E hardware lanes are still
QUEUED, not green, as of this review's snapshot —E2E tests (MI300X),E2E tests (Strix Halo, Windows),E2E tests (Strix Halo, WSL2). Everything else (clippy, coverage, commit-signatures, docs-links, CodeQL, Linux/Windows build-and-test, Strix Halo Ubuntu E2E) is green. This isn't a code defect, just not yet a resolved precondition — please confirm these land green before merging.
Positive signals
- The doc comment explaining why the existing
major.minor.patchparser (parse_version) can't be reused for torchaudio is specific and checks out: tracedparse_version'ssplitn(3, '.')behavior against a 4-segment version and confirmed it would indeed drop every rebuild. therock-next-11/therock-next-12are genuine regression tests, not cosmetic ones: the mock index is shaped to reproduce the real ambiguity (unconstrained torchaudio, a four-segment rebuild, a same-series wheel for another platform), traced to confirm it would fail on reverted code; and the refusal scenario asserts actual resulting state (nopackage_specs:line printed), not just the message text.
Deployment notes
- Adds one extra index fetch (to list torchaudio versions) per
whl-nextSDK install, with its own single-fetch timeout — worth knowing for environments with restricted access to the TheRock index.
What this covered
Full diff (README.md, apps/rocm/src/therock.rs, tests/e2e-cucumber/features/therock_next_generation.feature, tests/e2e-cucumber/tests/e2e/therock_steps.rs) read completely via independent passes (implementation+README, e2e tests, git history/prior-PR search, AGENTS.md adherence), plus direct reading of engines/vllm/src/install.rs for the cross-cutting finding above. Did not re-run the e2e cucumber suite myself (relied on CI's green status); did not have AMD GPU hardware to verify the author's live-install claim for --version 10.0.0 --family gfx1200 (same limitation the PR description discloses).
| /// The newest of `versions` built for exactly `rocm_version`, chosen the way | ||
| /// `uv` would choose among them: in PEP 440 order, with final releases ahead of | ||
| /// any pre-release. | ||
| /// | ||
| /// Nothing on the index pairs a torchaudio build with a torch build, so this | ||
| /// assumes the newest torchaudio of a ROCm build is the one built against that | ||
| /// build's torch — the same choice `uv` made unaided when the pinned build was | ||
| /// also the newest one on the index. | ||
| /// | ||
| /// Not [`select_latest_stack_package`]: [`parse_version`] reads only | ||
| /// `major.minor.patch` and rejects the rest, and torchaudio publishes rebuilds | ||
| /// as extra release segments (`2.11.0.2`, `2.11.0.3`), so that would drop every | ||
| /// rebuild and settle on the original `2.11.0` build. | ||
| fn latest_build_for_rocm(versions: &[String], rocm_version: &str) -> Option<String> { |
There was a problem hiding this comment.
This "pick the newest build sharing the ROCm suffix" heuristic has already failed, for this exact package, on this exact index, elsewhere in this repo.
engines/vllm/src/install.rs (lines ~149-159) documents that whl-next has published three torchaudio builds all tagged +rocm10.1.0 — 2.11.0, 2.11.0.2, 2.11.0.3 — where 2.11.0 is a CPU-only rebuild with no HIP kernels at all, indistinguishable from the other two by ROCm-suffix matching alone. vLLM's own discover table deliberately pins an exact, hardware-verified release (DiscoverVersion::Exact("2.11.0.2")) instead of trusting recency, specifically because "a series match would resolve the newest… so pin the lower of the two confirmed-working builds instead" (and for the 10.0 row, it explicitly flags trusting a series/newest match as an unverified risk it's accepting for lack of hardware to check it).
latest_build_for_rocm here has no safeguard against the same failure mode: package_versions_matching_rocm filters only by the +rocm<version> suffix, and among the survivors this always picks the PEP 440-newest. Today that happens to land on a working build (2.11.0.3), but nothing stops a future rebuild from publishing a broken build as the newest under an identical suffix — at which point rocm install sdk would pick it automatically, for every ROCm version, with no human verification and no code change required.
This doesn't look wrong for the versions actually exercised here (10.0.0 was manually ABI-verified per the PR description), but the default path for the primary SDK install command has no defense against a failure this same codebase has already hit once for this exact artifact. Worth at least cross-referencing this precedent in the doc comment above, and ideally hardening with a curated-pin fallback or an automated symbol/ABI check (mirroring what was already done by hand for 10.0.0) before trusting "newest" unconditionally.
There was a problem hiding this comment.
Agreed, and fixed in 0adef257. The pin now prefers the build verified on hardware:
- The source:
install sdkreads the vLLM ROCm 10.x discover table's exact torchaudio through a newrocm_engine_vllm::verified_torchaudio_release. That's the same data, not a copy, sincerocmalready depends on the engine crate. - Verified build published for this Python and platform: it is pinned. For 10.1 that's
2.11.0.2. - Verified build not published, or none for the line (10.0 today): the newest build is pinned as before, and the plan's
torchaudio_selection:line says it isn't hardware-verified. That line and the install-log note are rendered from the selection value itself. - The doc comment now cites the CPU-only
2.11.0+rocm10.1.0case and the vLLM table. - Tests: four unit tests, one per branch plus exact matching, each checked against a mutation that drops it. The new
therock-next-13runs against a fixture that publishes2.11.0/2.11.0.2/2.11.0.3, all as+rocm10.1.0, and asserts the plan takes2.11.0.2and says so.
|
Pushed On the second point, I'll make sure the MI300X and Strix Halo Windows/WSL2 lanes are green on the new head before asking to merge. |
siloteemu
left a comment
There was a problem hiding this comment.
🔴 Automated review · pr-review-watcher · 0adef25
This automation never files a GitHub approval, so no approving review will
appear here whatever the outcome — the merge decision stays with a human
reviewer.
Review — needs work
Full review of the whole change.
The description says what the change does: it pins torchaudio for ROCm 10 wheel installs, preferring the vLLM table's hardware-verified release over the newest build. It names no ticket. Its checklist claim that every new user-facing message has a test asserting it does not hold for the install-log note (see the first Blocking item).
Blocking
-
new · The new install-log
Note:for an unverified torchaudio has no test, and inverting its condition keeps every test green —apps/rocm/src/therock.rs:1978-1986
This is new user-visible output. The code says it exists so the unverified choice shows "in the install log, not only in the summary block", and the description's checklist says every new user-facing message is asserted. Nothing reaches it:- All three new scenarios (
therock-next-11/12/13) run with--dry-run.install_wheel_runtimereturns the plan atif dry_run { … return Ok(SdkInstallResult::plan(output)); }before this block. - The live real-install scenarios (
-07,-09) install the newest ROCm 10, which takes the verified path, so they never print the note.
Changing
.filter(|pin| !pin.is_verified())to.filter(|pin| pin.is_verified())and runningcargo test -p rocm --bin rocm therockgave 177 passed, 0 failed. The e2e side was traced, not run.
Confidence 85 · logic · Fix: move the note text and its condition into a helper and unit-test that it appears for both unverified bases and not forVerified. Or add a non-dry-run fixture scenario that reaches this point. It only has to get past the note, not complete an install. - All three new scenarios (
-
new · The
VerifiedNotPublishedmessage blames "this Python and platform" when the real cause can be the ROCm build label, and a test locks that wording in —apps/rocm/src/therock.rs:3793-3795,apps/rocm/src/therock.rs:8527(torchaudio_pin_falls_back_to_newest_when_the_verified_release_is_unpublished)published_build_ofsearchesbuilt_for_rocm, whichpackage_versions_matching_rocmhas already narrowed to the exact+rocm<rocm_version>label.verified_torchaudio_releasematches bymajor.minorline, so a10.1.1or a nightly10.1.0a…request still getsSome("2.11.0.2").- When
2.11.0.2exists only under another label of the same line, the printed reason is "the verified release, 2.11.0.2, is not published for this Python and platform". That is false: it is published for this Python and platform, just for a different ROCm build. - The unit test's own doc names that case ("A verified release published only for another ROCm build"). Its fixture publishes
2.11.0.2+rocm10.1.0's only build as+rocm10.0.0, and it asserts the inaccurate sentence. torchaudio_pin's own doc rejects this kind of misdirection: "reporting it as 'none published' would send the user to the wrong place".
The code governs here, because the reason string has to describe what
published_build_ofactually searched.
Confidence 85 · logic · Fix: say "is not published for ROCm {rocm_version} for this Python and platform", or tell the two cases apart. Then update the test to assert the corrected reason.
Non-blocking
-
new · Two scenario Givens don't describe the situation their fixtures set up —
tests/e2e-cucumber/features/therock_next_generation.feature:223,:237- In
therock-next-12, "publishes torchaudio only for a newer ROCm 10 build" hides the case that matters. The pinned build does publish torchaudio, but only as a wheel this host cannot install. Only the comment above the scenario says so. therock-next-13reuses "also publishes a newer ROCm 10 build" while installing that newer build. The situation it actually tests is "several torchaudio rebuilds share one ROCm label", and that too is only in a comment.
Under the bdd-scenarios rules (situations, not fixture names), the Given should state the situation.
Confidence 70 · mechanical · Fix: give 13 its own Given, and reword 12's Given to name the uninstallable-wheel situation. - In
-
new · README overstates when the install refuses, and hard-codes table facts that will go stale —
README.md:447,README.md:441,docs/manual-testing.md:166,docs/vllm.md:87- "It stops with an error when the requested version publishes no torchaudio" leaves out "for this Python and platform".
therock-next-12refuses a version that does publish torchaudio, for another platform. - "today only ROCm 10.1 has one" and "(10.1:
2.11.0.2)" repeat the vLLM table's current contents in three docs. They go stale the moment a row changes, and nothing ties them to the table.
Confidence 70 · mechanical · Fix: add the platform qualifier, and describe the rule rather than the table's current contents.
- "It stops with an error when the requested version publishes no torchaudio" leaves out "for this Python and platform".
Decisions for the author
-
"Verified on hardware" is keyed on the ROCm line, not on the torch it was verified with, nor on the exact build — answered-by-intent
PR description: "The verified pin is keyed on the ROCm line, not on the torch version it was checked against (2.13). If the SDK ever resolves a different torch for 10.1, that pin needs re-verifying."- The SDK leaves torch to
uv. docs/vllm.mdalready says the SDK's torch "may be a different torch version than this row pins".describe()prints "verified on hardware for ROCm {rocm_version}" for any 10.1.x or nightly label that publishes2.11.0.2.
Without that passage this would be a non-blocking accuracy finding. Please confirm that keying on the line is still what you intend. Cheaper alternatives would be wording the line as "verified for the ROCm 10.1 line", or downgrading the basis when the resolved torch doesn't match the row's torch prefix.
- The SDK leaves torch to
-
The SDK's torchaudio choice now comes from the vLLM engine's discover table — tradeoff
- For: one source of truth, no second copy, and no new crate edge (
apps/rocmalready depends onrocm-engine-vllm). - Against: this is the first time
apps/rocmreads engine data. Switching a row's torchaudio betweenSeriesandExactfor a vLLM-only reason now silently changesrocm install sdk. The guards are a field doc, adocs/vllm.mdparagraph, and the pinning test intherock.rs. The table rows themselves don't mention the SDK.
Please confirm the coupling is deliberate, or consider a one-line pointer on the rows.
- For: one source of truth, no second copy, and no new crate edge (
Positive signals
- The
torchaudio_selection:line and the install note are both rendered from theTorchaudioPinthat made the choice, so the printed claim can't drift from the pinned build. package_release_keyskips versions it can't parse instead of guessing. The two refusals (none published, none readable) carry different messages, and a test checks they stay distinct.- The e2e fixture reproduces the live index's dependency shape: torch requires
rocm, torchvision requires torch, torchaudio requires neither. That is what letstherock-next-11fail on the base and pass with the fix.
Deployment notes
- For ROCm 10.1, the composed
package_specschange from the torchaudiouvused to choose (the newest,2.11.0.3+rocm10.1.0per the description) to2.11.0.2+rocm10.1.0.wheel_runtime_key(apps/rocm/src/therock.rs:6605) hashespackage_specs, so a 10.1.0 runtime installed before this change gets a different runtime key on the next install or update.
What this covered
Every changed file was read completely: apps/rocm/src/therock.rs (changed regions plus the resolution, index-listing, wheel-filter, plan-printing and runtime-key code they reach), engines/vllm/src/install.rs, engines/vllm/src/lib.rs, the feature file, therock_steps.rs, README.md, docs/manual-testing.md and docs/vllm.md. Diff: prw-base...0adef257. Four independent workers ran in parallel: code, e2e/docs, instruction/history/comments, and design questions.
- Run by the driver:
cargo test -p rocm --bin rocm torchaudio(11 passed) and thetherockunit tests with one mutation (still green, as above). - Not run locally: the e2e cucumber suite, which needs release builds. The e2e conclusions come from reading the code, plus CI: every check that reported on this head passed, and "Skill checks" did not report. No skill files are touched.
- Did not run: the prior-changes pass, because earlier PR reviews and comments are deliberately not read here. The discussion was not reconciled in this review.
|
Thanks for the review. Addressed in Blocking 1: the unverified-torchaudio
Blocking 2:
Each case has its own test, and each test was mutation-checked. Non-blocking: the scenario Givens. Non-blocking: the docs. The refusal sentence now says "for this Python and platform". README, Decision: keyed on the ROCm line. Intended. The SDK leaves torch to Decision: the SDK reads vLLM's discover table. Deliberate: one source of truth and no new crate edge. As a cheap guard, both table rows now carry a one-line comment saying Verified locally:
The one local test failure was the known spinner timing flake, which passed on re-run. |
0adef25 to
64dde91
Compare
`rocm install sdk --version 10.0.0` failed for every arch with "selected torchaudio 2.11.0.3+rocm10.1.0, which does not share ROCm build 10.0.0". On the ROCm 10 layout, `uv pip compile` picks torch and torchvision from the `rocm==<version>` pin, because their metadata depends on the exact ROCm build. torchaudio's metadata names no ROCm build, so left unversioned it resolved to the newest build on the index. That works for the newest ROCm 10 release only; every older pin got a mismatched torchaudio and was refused by the consistency check. Pin torchaudio before resolving: list torchaudio from the index (one extra fetch, with its own single-fetch timeout) and take the newest build published for the requested ROCm version and this Python and platform, in PEP 440 order with final releases ahead of pre-releases, as uv would choose. The existing major.minor.patch parser cannot be reused, because torchaudio publishes rebuilds as a fourth release segment (2.11.0.2). The newest ROCm build resolves the same versions as before. When the requested build publishes no installable torchaudio, or none with a readable version, the install stops and says which. The e2e scenarios publish two ROCm 10 builds whose dependency metadata matches the live index's, with a four-segment torchaudio rebuild and a rebuild wheel for another platform, and cover both the pin and the refusal. Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
Picking the newest torchaudio carrying the requested `+rocm<version>` label is not safe on its own: `whl-next` publishes `2.11.0`, `2.11.0.2` and `2.11.0.3` all as `+rocm10.1.0`, and `2.11.0` is a CPU-only rebuild that nothing in its version or label distinguishes. The vLLM ROCm 10.x discover-build table already pins `2.11.0.2` exactly for that reason. `install sdk` now reads that same pin rather than keeping a second copy: the vLLM engine exposes `verified_torchaudio_release`, the row's exact torchaudio for a ROCm line (`rocm` already depends on the engine crate, so no new crate edge). When the verified release is published for this Python and platform, it is pinned. Otherwise, or when the line has no verified release (ROCm 10.0 today), the newest build is pinned as before. The plan's `torchaudio_selection:` line, and an install-log note for the fallback, are both rendered from the selection itself and say whether the build is hardware-verified. ROCm 10.1 on the live index now pins `2.11.0.2+rocm10.1.0` instead of `2.11.0.3+rocm10.1.0`, matching what the vLLM install pins. therock-next-11 asserts the not-hardware-verified line beside the plan it describes. The new therock-next-13 pins ROCm 10.1 against a fixture that also publishes the original and a newer rebuild under the same label, and asserts the plan takes the verified build and says so. Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
…e ROCm build in its reason The install-log note for a torchaudio pin that is not hardware-verified had no test: its condition lived inline at the call site, after the dry-run return every scenario takes. Move the text and the condition into unverified_torchaudio_note and test it for both unverified bases and for a verified pin. The VerifiedNotPublished reason blamed "this Python and platform", but the verified release is looked up only among builds labelled for the requested ROCm build, while it is matched by ROCm line. When it is published here only under another label of the same line, the reason now says so and names that build; it says "not published for this Python and platform" only when no ROCm build of it is published here at all. Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
therock-next-14 runs a real (not dry-run) ROCm 10.0.0 wheel install with an active default runtime and no consent flag, so it is refused right after the install-log note and before uv runs or anything changes on disk. It asserts the note together with the refusal and an unchanged runtime registry. Also name the situations therock-next-12 and -13 set up in their Givens: a pinned build whose only torchaudio is a wheel this host cannot install, and several torchaudio rebuilds sharing one ROCm label. Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
Describe the verified torchaudio as the vLLM ROCm 10.x row's exact pin instead of repeating today's values, add "for this Python and platform" to the refusal, mention the install-log note, and point the discover-table rows at rocm install sdk, which reads their torchaudio pin. Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
Addressed: reviewed d4bd401. The blocking finding is fixed in 0adef25: torchaudio prefers the hardware-verified release and prints a "not hardware-verified" note otherwise. That note was then tested in 7a31560, 1095c7d and 64dde91. The head is 64dde91 (replies of 2026-10-12 and 2026-10-13). The GPU-lane point is tracked on the rebased head.
64dde91 to
f3ff03d
Compare
|
Rebased onto main Verified locally:
|
pmoutsias-amd
left a comment
There was a problem hiding this comment.
Agent-assisted review of #630 at f3ff03db — approve
Reviewed by Claude Code on behalf of @pmoutsias-amd (ROCm Documentation Team), whose docs PR #616 depends on this one. This is an agent-assisted review based on reading the code and the CI logs. It was not run locally and not run on hardware (see "Not covered"). I'm not on @ROCm/rocm-cli-maintainers, so a maintainer approval is still needed to satisfy the merge rule.
Every finding from review 5504479846 is fixed in the code. I found nothing blocking.
Blocking
None.
Non-blocking (docs formatting only)
To be handled in the dependent docs PR #616 after it rebases onto this one. No change needed here:
docs/manual-testing.md: one over-long unwrapped line ("On a host with no detectable AMD GPU the preview reportsdevice_target: undetermined…").docs/vllm.md: ragged wrapping in the new paragraph.README.md: the new torchaudio paragraph is dense. Consider splitting the rule from the fallback behavior.
Decisions for the maintainers
- ROCm 10.0 still trusts "newest build" unconditionally. The open thread from @jussielo-amd (the CPU-only
2.11.0+rocm10.1.0precedent) is fixed for 10.1: the vLLM-verified2.11.0.2is pinned over the newer2.11.0.3. The vLLM table records no verified torchaudio for 10.0, so there the SDK still takes the newest build, with a printed "not hardware-verified" note in the plan and the install log. A future bad rebuild under the same label would be picked up with no code change. The reviewer's suggested automated ABI/symbol check was not added. I read this as an accepted, visible risk (the 10.0 build was verified by hand per the description), not a blocker. The thread is still unresolved and needs its author or a maintainer to close it. - Keying the verified pin on the ROCm line, and the SDK reading the vLLM discover table, were both answered by the author. The pointer comments on the vLLM table rows are in.
Prior findings (review 5504479846)
- B1, install-log note untested: fixed.
unverified_torchaudio_notehas a unit test, and scenariotherock-next-14does a real install, asserts the note and the refusal, and checks the runtime registry is unchanged. It ran and passed in CI. - B2, wrong reason wording: fixed. The message separates "published only for another ROCm build" from "not published for this Python and platform", with a test for each.
- Scenario Givens and docs: fixed.
Positive signals
- The verified release is matched as a whole PEP 440 version, not a prefix.
- Version ordering is tested on 12 pairs.
- Unreadable versions are skipped, not guessed, and the two refusal messages are distinct.
- The e2e fixture constants carry a comment tying them to the vLLM pin.
Deployment notes
- Existing ROCm 10.1.0 runtimes get a new runtime key and rebuild on their next install or update.
- Each
whl-nextSDK install makes one extra torchaudio index fetch.
What this covered
- The full diff (
287e08a8..HEAD, 8 files) and the unit-test bodies, with each prior finding checked against the code. - CI logs on
f3ff03db: scenariostherock-next-11to-14ran and passed, and the MI300X and Strix Halo lanes are green. The only failures in the E2E run areserve-01andserve-02, which are marked as expected failures.
Not covered
- No local test run (no Rust toolchain in the review environment).
- No hardware check that
--version 10.1.0resolves to2.11.0.2. The scenarios use a mock index, so that rests on the author's testing and the hardware CI lanes. - The author's mutation checks were not re-run.
|
Thanks to both of you.
|
Problem
rocm install sdk --version 10.0.0fails for every arch:--version 10.1.0works only while 10.1.0 is the newest ROCm 10 build on the index; it fails the same way once a newer build publishes torchaudio. Found while reviewing #616, whose README documents installing 10.0.Root cause
On the ROCm 10 (
whl-next) layout, version resolution handsuv pip compilean exactrocm==<version>pin plus unversionedtorch,torchvisionandtorchaudio. torch and torchvision follow therocmpin, because their metadata depends on the exact ROCm build. torchaudio's metadata names no ROCm build, so uv took the newest torchaudio on the index, from whatever ROCm build that is. The existing consistency check then correctly refused the mixed stack.Fix
Before resolving, list torchaudio from the index and pin it with
torchaudio==<version>:rocm_engine_vllm::verified_torchaudio_release. That is one source of truth, and no new crate edge:rocmalready depends on the engine crate.torchaudio_selection:line says the build is not hardware-verified. That line and the install-log note are rendered from the selection value itself.whl-nexthas published a CPU-only2.11.0under the same+rocm10.1.0label as the working2.11.0.2and2.11.0.3. That is why the vLLM table pins2.11.0.2exactly.major.minor.patchparser can't be reused, because torchaudio publishes rebuilds as a fourth release segment (2.11.0.2,2.11.0.3). That parser would drop every rebuild.uv still resolves and validates the whole set together. If the requested build publishes no installable torchaudio, or none with a readable version, the install stops and says which.
This costs one extra index fetch, with its own single-fetch timeout.
Tests
therock_next_generation.feature:therock-next-11publishes two ROCm 10 builds whose dependency metadata matches the live index's (torch requires itsrocmbuild, torchvision its torch, torchaudio neither). It includes a four-segment torchaudio rebuild and a rebuild wheel for another platform, and asserts the plan uses only the pinned build. It fails onmainwith the reported error.therock-next-12covers the refusal when the pinned build has no installable torchaudio. It asserts the message and that resolution stopped before any plan. It fails onmain.therock-next-13pins ROCm 10.1.0 against a fixture that publishes2.11.0,2.11.0.2and2.11.0.3, all+rocm10.1.0. It asserts the plan takes the verified2.11.0.2, says so, and never mentions2.11.0.3or "not hardware-verified".therock-next-11also asserts the not-hardware-verified line, and that it names the same torchaudio the plan installs..devNnumbers fails the ordering test;therock-next-13;torchaudio_pin_matches_the_verified_release_exactly;Verification
Local:
cargo test --workspace --all-targets: 3599 passed, 0 failed.cargo clippy --workspace --all-targets -- -D warningsandcargo clippy -p e2e-cucumber --test e2e -- -D warnings.cargo fmt --check.cargo check.python scripts/smoke_local.py.therock_next_generationfeature, 9/9 applicable.Live index,
--dry-run:torch 2.13.0,torchvision 0.28.0,torchaudio 2.11.0.2, all+rocm10.0.0torchaudio 2.11.0.2+rocm10.1.0, the verified build the vLLM install also pins (derived from the code, not re-run live)A real
rocm install sdk --version 10.0.0 --family gfx1200install succeeds. torchaudio's native libraries load with all symbols resolved (RTLD_NOW) againsttorch 2.13.0+rocm10.0.0, and a native torchaudio op runs.At
0adef257:rocm --bin rocm(1045 passed) androcm-engine-vllm(102)xtask(247),e2e-cucumberlib (142) andfeature_namingcheck --test e2eandcheck-crate-edgesmaintherock-next-11,-12and-13, which pass locally;-07and-09need a GPUNot verified: GPU execution. The host has no AMD GPU. The pin assumes the newest torchaudio of a ROCm build is the one built against that build's torch. Nothing on the index states that pairing; the ABI load above is the evidence for 10.0.0.
Related, not changed here
select_matching_pip_package_versions) also uses themajor.minor.patchparser and would skip four-segment rebuilds. It is only reachable if a canonical feed ever carries such builds.Series("2.11")). Its own comment documents the same flat-index risk, which needs a live 10.0 box to settle.tests/e2e-cucumber/expectations.tomlfor the fixed ticket ID and removed/narrowed any now-stale xfail rows. (No ticket; no rows mention torchaudio or ROCm 10.)docs/architecture.md(the clap declaration and dispatch wiring staying inmain.rs/lib.rsis expected, not a violation). (Not applicable.)therock-next-12together with the stop before planning.)Since the review of
0adef257Note:in a real install's log. When the verified release is published here only under another ROCm build label, the reason names that build instead of blaming the Python and platform.unverified_torchaudio_note_is_logged_only_for_an_unverified_pintorchaudio_pin_falls_back_to_newest_when_the_verified_release_is_published_for_another_rocm_builduvruns, so it needs no GPU and no download. It asserts the note together with the refusal and an unchanged registry.progress_linecall) turn a test red.package_specschange from2.11.0.3to2.11.0.2+rocm10.1.0. That changeswheel_runtime_key, so a 10.1.0 runtime installed before this change gets a new runtime key on its next install or update.