Merge origin/main into fix/windows-amd-rocm-install

main grew its own Windows AMD ROCm install path while this branch sat open,
and it is a strict superset of what this branch built. main routes Windows
AMD torch through the per-arch pip indexes at repo.amd.com/rocm/whl/<family>/
(install.ps1 $archFamilyMap, setup.ps1 $ROCmIndexUrl, install_python_stack.py
_windows_rocm_index_url), which serve cp310 through cp313 win_amd64 wheels up
to torch 2.11.0+rocm7.13.0 and resolve the ROCm runtime (rocm, rocm-sdk-core,
rocm-sdk-libraries-<gfx>) from the same index.

This branch's route pinned torch 2.9.x from repo.radeon.com/rocm/windows/,
cp312 only, and hand-installed four SDK artefacts because
rocm-sdk-libraries-custom is absent from PyPI. Against main that is a
regression on three counts: it locks AMD hosts to Python 3.12, it installs
exactly the torch <2.11 wheels main blocks on gfx115x/gfx120x for the
torch._C._grouped_mm null-pointer bug (TheRock #5284, #3284), and it skips
bitsandbytes on Windows, which main now installs via
_install_bnb_windows_rocm(). So every conflicting hunk in install.ps1,
studio/setup.ps1 and studio/install_python_stack.py resolves to main.

One hunk from this branch is not superseded and is kept: the Windows
nvidia-smi.exe fallback paths in _has_usable_nvidia_gpu(). main only probes
PATH there, while install.ps1 and setup.ps1 both probe
%ProgramFiles%\NVIDIA Corporation\NVSMI and %SystemRoot%\System32 as well.
That gap matters on an AMD iGPU plus NVIDIA dGPU laptop whose PATH misses
nvidia-smi: the host reads as NVIDIA-free and gets routed to the ROCm wheels.
Grafted onto main's function, below its CUDA_VISIBLE_DEVICES guard.
This commit is contained in:
Daniel Han 2026-07-27 13:39:28 +00:00
commit ed415f5b83
1991 changed files with 652988 additions and 42029 deletions

File diff suppressed because it is too large Load diff