Skip to content
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,29 @@ by rocm-cli. `install driver` installs the AMD kernel driver on Linux (DKMS or
native package). `update` checks for a newer ROCm package; pass `--apply` to
install it.

ROCm 10 and newer ship from a different source layout. It is opt-in, and asking
for it takes two things together: pin the version with `--version`, and name the
exact GPU arch — the raw `gfx` code, not a family label:

```
rocm install sdk --version 10.0.0 --family gfx1200 --dry-run
```

A family label such as `--family gfx120X-all` is rejected for those versions
rather than resolved to a guess, because the ROCm 10 packages publish one
payload per exact arch and there is no bucket payload to fall back to. Run
`rocm examine` to see the arch this machine reports.

For ROCm 10, `install sdk` asks `uv` to resolve Torch, torchvision, and
torchaudio from their published dependency metadata, then validates that every
selected framework package carries the same ROCm build identifier before it
creates or changes a managed runtime.

Nothing about this happens on its own. Without a `--version` of 10 or newer,
`install sdk` resolves the same release and nightly sources it always has, and
it never quietly retries against the ROCm 10 sources when a lookup comes up
empty — it tells you what it could not find instead.

### Runtime management

Manage multiple side-by-side ROCm installs:
Expand Down
3 changes: 3 additions & 0 deletions apps/rocm/src/comfyui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2105,6 +2105,7 @@ mod tests {
version: "7.13.0a20260511".to_owned(),
install_root: runtime_root,
selected_artifact_url: "https://example.invalid/simple".to_owned(),
source_layout_generation: None,
index_url: None,
tarball_file_name: None,
python_launcher: None,
Expand Down Expand Up @@ -2179,6 +2180,7 @@ mod tests {
version: "7.13.0a20260511".to_owned(),
install_root: runtime_root.clone(),
selected_artifact_url: "https://example.invalid/simple".to_owned(),
source_layout_generation: None,
index_url: None,
tarball_file_name: None,
python_launcher: None,
Expand Down Expand Up @@ -2270,6 +2272,7 @@ mod tests {
version: "7.13.0a20260511".to_owned(),
install_root: runtime_root,
selected_artifact_url: "https://example.invalid/simple".to_owned(),
source_layout_generation: None,
index_url: None,
tarball_file_name: None,
python_launcher: None,
Expand Down
5 changes: 5 additions & 0 deletions apps/rocm/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9288,6 +9288,7 @@ fn adopt_runtime_from_probe(
version,
install_root: install_root.clone(),
selected_artifact_url: "adopted-read-only".to_owned(),
source_layout_generation: None,
index_url: None,
tarball_file_name: None,
python_launcher: None,
Expand Down Expand Up @@ -16013,6 +16014,7 @@ fn apply_runtime_update(
&source.format,
&source.family,
plan.device_target.as_deref(),
plan.source_layout_generation.as_deref(),
true,
)?;
let _ = writeln!(output, " install_plan:");
Expand All @@ -16028,6 +16030,7 @@ fn apply_runtime_update(
&source.format,
&source.family,
plan.device_target.as_deref(),
plan.source_layout_generation.as_deref(),
false,
)?;
let manifests_after = therock::load_runtime_manifests(paths)?;
Expand Down Expand Up @@ -30639,6 +30642,7 @@ ID_LIKE="suse opensuse"
version: version.to_owned(),
install_root: install_root.clone(),
selected_artifact_url: "https://example.invalid/therock".to_owned(),
source_layout_generation: None,
index_url: Some("https://example.invalid/therock".to_owned()),
tarball_file_name: None,
python_launcher: Some("python".to_owned()),
Expand Down Expand Up @@ -30697,6 +30701,7 @@ ID_LIKE="suse opensuse"
version: version.to_owned(),
install_root: PathBuf::from("runtime-root"),
selected_artifact_url: "https://example.invalid/therock".to_owned(),
source_layout_generation: None,
index_url: Some("https://example.invalid/therock".to_owned()),
tarball_file_name: None,
python_launcher: Some("python".to_owned()),
Expand Down
1 change: 1 addition & 0 deletions apps/rocm/src/storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -962,6 +962,7 @@ mod tests {
version: version.to_owned(),
install_root: PathBuf::from("rocm-storage-test").join(runtime_key),
selected_artifact_url: "https://example.invalid/therock".to_owned(),
source_layout_generation: None,
index_url: None,
tarball_file_name: None,
python_launcher: None,
Expand Down
Loading
Loading