Installer: enable ROCm torch on RDNA2 (gfx1030-1036) on Windows (#7277)
* Installer: enable ROCm torch on RDNA2 (gfx1030-1036) on Windows repo.amd.com publishes a gfx103X-all wheel family with win_amd64 torch 2.9.1/2.10.0/2.11.0+rocm7.13.0 (cp310-313), but both Windows allowlists omitted RDNA2, so RX 6000 cards (gfx1030/1032, etc.) fell back to CPU-only torch. Map gfx1030-1036 to gfx103X-all in install.ps1 ($archFamilyMap) and install_python_stack.py (_GFX_TO_AMD_INDEX_ARCH). No torch floor (mirrors gfx110X-all: newest wheel, no _grouped_mm bug on RDNA2). NVIDIA/Mac/CPU and Linux paths untouched; gfx906 stays CPU (no wheels published). * Sync studio/setup.ps1 RDNA2 (gfx1030-1036) allowlists for PR #7277
This commit is contained in:
parent
77da6e8fcb
commit
35f887d795
3 changed files with 17 additions and 1 deletions
|
|
@ -2128,6 +2128,10 @@ exit 0
|
|||
"gfx1151" = "gfx1151"; "gfx1150" = "gfx1150" # RDNA 3.5 (Strix Halo/Point)
|
||||
"gfx1103" = "gfx110X-all"; "gfx1102" = "gfx110X-all" # RDNA 3
|
||||
"gfx1101" = "gfx110X-all"; "gfx1100" = "gfx110X-all"
|
||||
"gfx1036" = "gfx103X-all"; "gfx1035" = "gfx103X-all" # RDNA 2 (RX 6000)
|
||||
"gfx1034" = "gfx103X-all"; "gfx1033" = "gfx103X-all"
|
||||
"gfx1032" = "gfx103X-all"; "gfx1031" = "gfx103X-all"
|
||||
"gfx1030" = "gfx103X-all"
|
||||
"gfx90a" = "gfx90a"; "gfx908" = "gfx908" # MI200/MI100
|
||||
}
|
||||
# gfx120X (RDNA 4) and gfx1151/gfx1150 (Strix) have a null-pointer bug in
|
||||
|
|
|
|||
|
|
@ -352,6 +352,13 @@ _GFX_TO_AMD_INDEX_ARCH: dict[str, str] = {
|
|||
"gfx1102": "gfx110X-all", # RDNA 3
|
||||
"gfx1101": "gfx110X-all",
|
||||
"gfx1100": "gfx110X-all",
|
||||
"gfx1036": "gfx103X-all",
|
||||
"gfx1035": "gfx103X-all", # RDNA 2 (RX 6000)
|
||||
"gfx1034": "gfx103X-all",
|
||||
"gfx1033": "gfx103X-all",
|
||||
"gfx1032": "gfx103X-all",
|
||||
"gfx1031": "gfx103X-all",
|
||||
"gfx1030": "gfx103X-all",
|
||||
"gfx90a": "gfx90a",
|
||||
"gfx908": "gfx908", # MI200/MI100
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2774,6 +2774,7 @@ if ((Test-Path -LiteralPath $VenvDir -PathType Container) -and -not $NoTorchMode
|
|||
"gfx1201", "gfx1200", # RDNA 4
|
||||
"gfx1151", "gfx1150", # RDNA 3.5 (Strix Halo/Point)
|
||||
"gfx1103", "gfx1102", "gfx1101", "gfx1100", # RDNA 3
|
||||
"gfx1036", "gfx1035", "gfx1034", "gfx1033", "gfx1032", "gfx1031", "gfx1030", # RDNA 2 (RX 6000)
|
||||
"gfx90a", "gfx908" # MI200 / MI100
|
||||
)
|
||||
if ($script:ROCmGfxArch -and ($_rocmWheelArches -contains $script:ROCmGfxArch)) {
|
||||
|
|
@ -3064,6 +3065,10 @@ if (-not $TorchIndexPinned -and ($HasROCm -or $ROCmGfxArch) -and $CuTag -eq "cpu
|
|||
"gfx1151" = "gfx1151"; "gfx1150" = "gfx1150" # RDNA 3.5 (Strix Halo/Point)
|
||||
"gfx1103" = "gfx110X-all"; "gfx1102" = "gfx110X-all" # RDNA 3
|
||||
"gfx1101" = "gfx110X-all"; "gfx1100" = "gfx110X-all"
|
||||
"gfx1036" = "gfx103X-all"; "gfx1035" = "gfx103X-all" # RDNA 2 (RX 6000)
|
||||
"gfx1034" = "gfx103X-all"; "gfx1033" = "gfx103X-all"
|
||||
"gfx1032" = "gfx103X-all"; "gfx1031" = "gfx103X-all"
|
||||
"gfx1030" = "gfx103X-all"
|
||||
"gfx90a" = "gfx90a"; "gfx908" = "gfx908" # MI200/MI100
|
||||
}
|
||||
# gfx120X and Strix have a null _grouped_mm kernel on torch <2.11.0.
|
||||
|
|
@ -3098,7 +3103,7 @@ if (-not $TorchIndexPinned -and ($HasROCm -or $ROCmGfxArch) -and $CuTag -eq "cpu
|
|||
# GPU arch detected but not in the supported wheel map — warn explicitly
|
||||
# so the user knows why they are getting CPU PyTorch instead of ROCm.
|
||||
substep "[WARN] AMD GPU ($ROCmGfxArch) not in supported arch list -- falling back to CPU-only PyTorch" "Yellow"
|
||||
substep " Supported: gfx1200/1201 (RDNA 4), gfx1150/1151 (RDNA 3.5), gfx1100-1103 (RDNA 3), gfx90a, gfx908" "Yellow"
|
||||
substep " Supported: gfx1200/1201 (RDNA 4), gfx1150/1151 (RDNA 3.5), gfx1100-1103 (RDNA 3), gfx1030-1036 (RDNA 2), gfx90a, gfx908" "Yellow"
|
||||
} else {
|
||||
# HIP SDK present ($HasROCm=true via amd-smi) but gcnArchName was not
|
||||
# readable — warn rather than silently falling back to CPU PyTorch.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue