Skip to content

Recognize Radeon 8065S (Gorgon Halo / Ryzen AI Max 400) as gfx1151 - #7290

Merged
danielhanchen merged 3 commits into
mainfrom
fix/gorgon-halo-radeon-8065s
Jul 22, 2026
Merged

Recognize Radeon 8065S (Gorgon Halo / Ryzen AI Max 400) as gfx1151#7290
danielhanchen merged 3 commits into
mainfrom
fix/gorgon-halo-radeon-8065s

Conversation

@danielhanchen

Copy link
Copy Markdown
Member

Summary

AMD's Ryzen AI Max 400 series (codename Gorgon Halo: Ryzen AI Max+ PRO 495 / PRO 490 / PRO 485) is a Strix Halo refresh. The iGPU is still RDNA 3.5 with 40 (or 32) compute units and ROCm reports it as gfx1151, same as Strix Halo. AMD rebrands it as Radeon 8065S (40 CU flagship) and Radeon 8050S (32 CU).

gfx1151 is already fully supported (torch from repo.amd.com/rocm/whl/gfx1151/, the gfx1151 llama.cpp prebuilt for Windows and Linux, the torch>=2.11 _grouped_mm floor). The gap is only in GPU-name inference: when no HIP SDK / amd-smi is present and the arch is inferred from the marketing name, the tables listed 8060S/8050S/8040S but not the new flagship name 8065S, so a driver-only Windows host with a Radeon 8065S fell back to CPU torch. The 32 CU parts reuse 8050S, which already matched.

Fix

Add 8065S to the five GPU-name -> gfx1151 tables and widen the two ROCm-on-WSL detection regexes from Radeon 80[0-9]0S to Radeon 80[0-9][05]S so both 8060S and 8065S match:

  • install.ps1 $nameArchTable
  • studio/setup.ps1 $nameArchTable
  • studio/install_python_stack.py _WIN_GPU_NAME_ARCH_TABLE
  • install.sh GPU-name case + the two _maybe_*_rocm_wsl detection greps
  • studio/setup.sh GPU-name case

Additive keys only. The arch (gfx1151) and every downstream path are unchanged; parts that report the arch directly (always on Linux via rocminfo, on Windows with the HIP SDK, or via UNSLOTH_ROCM_GFX_ARCH=gfx1151) already worked. This only fixes the name-inference fallback.

Verified

  • Name resolution for Radeon 8065S -> gfx1151 in all five files (Python _WIN_GPU_NAME_ARCH_TABLE, both PowerShell $nameArchTable maps, both bash case blocks), with no regressions: 8060S/8050S still gfx1151, RX 6800 still gfx1030, RX 9070 XT still gfx1201.
  • WSL regex Radeon 80[0-9][05]S matches 8065S and 8060S, and Ryzen AI Max+ PRO 495 still matches via the CPU-name branch.
  • Syntax: PowerShell AST parse clean (install.ps1, setup.ps1), python -m ast clean, bash -n clean.
  • tests/sh/test_strixhalo_wsl_reroute.sh: 53 passed, 0 failed.

Note

ROCm added Gorgon Halo runtime support in 7.14; our wheels are +rocm7.13.0. The compute target and kernels are unchanged (gfx1151), but the new part's PCI device ID may need a newer ROCm runtime or an HSA override at runtime. That is an AMD runtime detail, independent of wheel/prebuilt selection.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds support for the Radeon 8065S iGPU (Gorgon Halo) by mapping it to the gfx1151 architecture (RDNA 3.5) across various installation and setup scripts, including install.ps1, install.sh, install_python_stack.py, setup.ps1, and setup.sh. This includes updating GPU name tables and regular expressions to correctly identify the new hardware. I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@danielhanchen

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2c7673e1f6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +722 to +723
# RDNA 3.5 (Strix Halo + Gorgon Halo: Radeon 8065S/8060S/8050S/8040S iGPU, Ryzen AI Max / Max+)
(r"8065S|8060S|8050S|8040S|Strix Halo|Ryzen AI Max|AI Max", "gfx1151"),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Do not route 8065S hosts to a runtime that lacks its PCI support

On a driver-only host this new fallback selects the gfx1151 AMD index, whose installer paths constrain torch to the bundled ROCm 7.13 runtime. The commit notes that Gorgon Halo device support was only added in ROCm 7.14 and that an HSA override may be needed; without updating the runtime/index or setting that override, these newly recognized 8065S systems install ROCm torch that cannot enumerate the GPU, rather than the previous CPU fallback. Gate this mapping on a compatible runtime or add the required newer runtime/override handling.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

8065S and 8060S resolve to the identical gfx1151 arch and the identical wheel: the name table returns only an arch string with no per-name runtime floor, and both flow through the same repo.amd.com/rocm/whl/gfx1151/ path that already ships for Strix Halo 8060S. So gating this mapping on a compatible runtime cannot target 8065S without also gating 8060S, which is the currently working, already shipped config.

The wheel is not pinned to 7.13. gfx1151 uses the floor torch>=2.11.0,<2.12.0 against the per-arch index, which resolves to torch-2.11.0+rocm7.13.0 today only because that is the sole 2.11 build on the index. ROCm 7.14 is now a production release adding Gorgon Halo enablement for the Ryzen AI Max PRO 495/490/485; when AMD publishes a 2.11.x+rocm7.14 wheel on that same per-arch channel, as they did across 7.9 through 7.13, pip selects it with no change here.

On worse-than-before: a ROCm build on a device the runtime cannot enumerate still runs on CPU with torch.cuda.is_available() False, which is no worse than the prior CPU fallback. The only genuinely worse mode, is_available() True with a GPU memory access fault, is a pre-existing gfx1151 runtime maturity issue that already affects the shipped 8060S on these same wheels (ROCm/legacy-rocm-build#5824, pytorch/pytorch#173367); it is not introduced by recognizing an additional marketing name. The newer-runtime / HSA override caveat is already noted in the PR description and is an AMD runtime detail independent of installer name inference. Keeping the mapping.

Comment on lines +722 to +723
# RDNA 3.5 (Strix Halo + Gorgon Halo: Radeon 8065S/8060S/8050S/8040S iGPU, Ryzen AI Max / Max+)
(r"8065S|8060S|8050S|8040S|Strix Halo|Ryzen AI Max|AI Max", "gfx1151"),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Classify Radeon 8065S as unified memory in Studio's OOM guard

When a Radeon wheel omits both is_integrated and the GCN-arch fields—the exact name-fallback case supported by _rocm_classify_unified_memory—the new 8065S host is installed and used as gfx1151 but is classified as discrete because worker.py recognizes only 8060s and 8050s. The OOM guard then applies the discrete 0.90 cap instead of the APU policy (0.80 on Linux or 1.0 on Windows), risking unnecessary allocation failures on Windows and reduced OS headroom on Linux. Add 8065s to that fallback and its parameterized regression test.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in f3c9bab: added 8065s to the unified-memory name fallback in _rocm_classify_unified_memory (and its parameterized regression test). This path is the name-only last resort, so a Radeon 8065S reported without gcnArchName or is_integrated now gets the APU cap (0.80 on Linux, 1.0 on Windows) instead of the discrete 0.90, matching how 8060S/8050S are handled. When the arch is readable it already classified as gfx1151 unified via the gcnArchName branch.

@danielhanchen

Copy link
Copy Markdown
Member Author

@codex review

1 similar comment
@danielhanchen

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 397a8ec24c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

# RDNA 3.5 (Strix Halo: Radeon 8060S/8050S/8040S iGPU, Ryzen AI Max+)
(r"8060S|8050S|8040S|Strix Halo|Ryzen AI Max|AI Max", "gfx1151"),
# RDNA 3.5 (Strix Halo + Gorgon Halo: Radeon 8065S/8060S/8050S/8040S iGPU, Ryzen AI Max / Max+)
(r"8065S|8060S|8050S|8040S|Strix Halo|Ryzen AI Max|AI Max", "gfx1151"),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Route Radeon 8065S only to a supporting ROCm runtime

On Windows hosts that reach this marketing-name fallback (no directly reported HIP/amd-smi arch), this mapping selects AMD's gfx1151 wheel index, which the existing installer pins to torch 2.11.0+rocm7.13.0. The commit itself notes that Gorgon Halo's PCI device support was added only in ROCm 7.14, so this newly enabled path installs a runtime that cannot enumerate the 8065S unless the user separately supplies a newer runtime or HSA override. Gate this mapping until a 7.14-compatible wheel/runtime is selected, or update the selected runtime together with the detection.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same concern as the thread above, and the blocking objection still stands. 8065S and 8060S resolve to the identical gfx1151 arch and the identical wheel through the same code path, so gating 8065S to a 7.14 runtime also gates the already shipped Strix Halo 8060S, which works on 7.13 today. That trades a real regression of a shipped config for a theoretical concern on the same wheel.

The gfx1151 selection is a torch>=2.11.0,<2.12.0 floor, not a 7.13 pin. It resolves to 2.11.0+rocm7.13.0 only because that is the sole 2.11 build on the per-arch index right now, and pip will auto-select a 2.11.x+rocm7.14 wheel from that same channel once AMD publishes one (ROCm 7.14 is GA with Gorgon Halo enablement). A device the runtime cannot enumerate falls back to CPU with torch.cuda.is_available() False, no worse than the prior CPU fallback. Holding the mapping.

@danielhanchen

Copy link
Copy Markdown
Member Author

@codex review

1 similar comment
@danielhanchen

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

Reviewed commit: 397a8ec24c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@danielhanchen
danielhanchen merged commit 2c492c8 into main Jul 22, 2026
59 of 60 checks passed
@danielhanchen
danielhanchen deleted the fix/gorgon-halo-radeon-8065s branch July 22, 2026 01:07
danielhanchen pushed a commit that referenced this pull request Jul 24, 2026
Reconcile PR #7256 (Windows torch 2.11 + release preservation, installer
comment reduction, torch 2.11 default line) with 77 commits of main install
rewrites. Base is main's newer install semantics; this branch's still-novel
contributions are layered on top.

Key decisions:
- install.ps1: kept main's rollback lifecycle (try/finally Restore-StudioVenvRollback,
  #7342) and the installed-version report (#7265); layered this branch's torch-2.11
  allowance (torch<2.12.0 on the Windows CUDA fresh-install, CPU fallback and flavor
  repairs), the release-preservation port (Get-InstalledTorchVersionRaw / kept-release
  installs / UNSLOTH_KEPT_TORCH handoff / torch-overrides freeze) and the Exit-InstallFailure
  UNSLOTH_KEPT_TORCH clear.
- install.sh: took main's newer AMD/Strix routing (per-arch index reroute #7264/#7300,
  runtime-less gfx inference #7305, KFD detection fix #7314, Radeon 8065S regex #7290,
  signal-restore trap #7342) and the #7365 unsloth pin bump; kept this branch's
  _TORCH_CEILING/_TORCHVISION_CEILING/_TORCHAUDIO_CEILING refactor widening the default
  ceiling to torch<2.12.0.
- studio/install_python_stack.py: deferred all five code conflicts to main's Strix
  inference logic (result is AST-identical to main; only comment reductions remain).
- studio/setup.ps1: took main's comment covering the whisper.cpp dictation markers
  (#7095); the UNSLOTH_KEPT_TORCH consumption handoff auto-merged intact.

Dropped as superseded by main: this branch's stale unsloth>=2026.7.4 pins (main #7365),
the older rocm7.1->rocm7.2 Strix reroute (main #7264/#7300), the narrow Radeon 80[0-9]0S
regex (main #7290), and the pre-inference has_hip_torch gate (main's rocm_torch_ready gate,
Codex P1 #7305). The two review-item fixes (grep -E in test_torch_constraint.sh,
UNSLOTH_KEPT_TORCH clear in Exit-InstallFailure) survive.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant