Skip to content

Commit 3b07583

Browse files
mohnjilesclaude
andcommitted
docs: add hardware-support and troubleshooting pages
- advanced/hardware-support.md: per-backend GPU support breakdown (CUDA incl. legacy/driver caveats, Windows AMD trichotomy of ROCm preview/ZLUDA/DirectML with gfx-arch gating, Linux ROCm, IPEX, MPS, CPU), all claims verified against BasePackage/WindowsRocmSupport/ GpuInfo/package classes; anchors #amd-rocm and #apple-silicon-mps preserved for existing references - troubleshooting/common-issues.md: symptom-first fixes for the recurring issue classes from the GitHub tracker (install failures, launch/update breakage, GPU/backend mismatches, Linux/macOS quirks, CivitAI browser, Inference connection/extension errors), plus log locations and bug-reporting guidance; app-behavior claims verified in code, known bugs flagged honestly instead of given fake fixes - README + advanced overview link the new pages Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 84b0603 commit 3b07583

4 files changed

Lines changed: 277 additions & 2 deletions

File tree

docs/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Current Status: In-progress - Structure is in-place and planned docs are current
6262
- [Overview](advanced/overview.md) — Advanced configuration and technical reference
6363
- Building from Source and Contributing *(planned)* — Local builds, runtime targets, and where to start for code or docs contributions
6464
- Shared Folders *(planned)* — Folder structure, symlinks, and cross-package model sharing
65-
- Hardware Support *(planned)* — CUDA, ROCm, DirectML, MPS, ZLUDA, IPEX, and CPU backends
65+
- [Hardware Support](advanced/hardware-support.md) — CUDA, ROCm, DirectML, MPS, ZLUDA, IPEX, and CPU backends
6666
- Python Environment *(planned)* — Virtual environments, uv, pip, and Python version management
6767
- [ComfyUI Integration](advanced/comfyui-integration.md) — ComfyUI node API, WebSocket protocol, and custom nodes
6868
- [Environment Variables](advanced/environment-variables.md) — Per-package environment variable configuration
@@ -75,3 +75,6 @@ Current Status: In-progress - Structure is in-place and planned docs are current
7575
- AMD GPU Workflow *(planned)* — Getting image and video generation working on AMD hardware
7676
- Model Dependencies *(planned)* — Required secondary files for modern models (text encoders, VAEs, etc.)
7777
- VRAM Optimization *(planned)* — Reducing VRAM usage without sacrificing too much quality or speed
78+
79+
### Troubleshooting
80+
- [Common Issues](troubleshooting/common-issues.md) — Symptom-first fixes for install, launch, GPU, and Inference problems

docs/advanced/hardware-support.md

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# Hardware Support
2+
3+
Stability Matrix runs image and video generation packages on top of PyTorch, and PyTorch needs a compute backend that matches your GPU. This page breaks down which GPUs and platforms each backend targets, what Stability Matrix does automatically when it detects your hardware, the known caveats, and which packages expose each backend.
4+
5+
[`Section Overview`](overview.md) | [`Home`](../README.md)
6+
7+
## Table of Contents
8+
9+
- [How Backends Are Chosen](#how-backends-are-chosen)
10+
- [NVIDIA (CUDA)](#nvidia-cuda)
11+
- [AMD on Windows](#amd-on-windows)
12+
- [AMD on Linux — AMD (ROCm)](#amd-rocm)
13+
- [Intel (IPEX)](#intel-ipex)
14+
- [Apple Silicon (MPS)](#apple-silicon-mps)
15+
- [CPU Fallback](#cpu-fallback)
16+
- [What's Next](#whats-next)
17+
18+
---
19+
20+
## How Backends Are Chosen
21+
22+
Each package declares the set of PyTorch backends it supports, and Stability Matrix pre-selects a recommended one from your detected hardware. The general order of preference is CUDA for NVIDIA, then ZLUDA (Windows AMD), then IPEX (Intel), then native ROCm (Linux AMD, or supported Windows AMD), then DirectML (Windows AMD), and finally CPU as a last resort. If a package does not support your detected GPU, the recommended default falls back to CPU.
23+
24+
The backend is chosen at install time from the **PyTorch Index** dropdown, and can be changed afterward from the package's **Python Packages** dialog. See [Selecting a Hardware Backend](../package-manager/installing-packages.md#selecting-a-hardware-backend) for where these options live in the UI.
25+
26+
The lists below describe what the code checks for. Because hardware detection works off GPU names and compute capability, treat any GPU model boundaries as guidance rather than a hard guarantee: some GPUs work with manual configuration even when a badge is not shown, and some edge-case cards may need extra setup.
27+
28+
## NVIDIA (CUDA)
29+
30+
- **Platforms:** Windows and Linux.
31+
- **GPUs:** NVIDIA GPUs are detected by name (including Tesla-branded cards). Compute-capability thresholds the code reasons about include legacy GPUs (compute capability below 7.5, roughly pre-Turing), Ampere-or-newer (8.6 and up), and Blackwell (12.0 and up).
32+
- **What Stability Matrix does automatically:**
33+
- Installs PyTorch from the CUDA index. The current default is the CUDA 13.0 wheel index (`cu130`); GPUs flagged as legacy NVIDIA fall back to an older CUDA 12.6 index (`cu126`) for ComfyUI installs.
34+
- For Windows systems with an Ampere-or-newer GPU, ComfyUI exposes an optional **Install Triton and SageAttention** command for faster attention.
35+
- `xformers` is added on CUDA (and ZLUDA) installs when a package requests it.
36+
- **Caveats:**
37+
- The `cu130` wheels require an NVIDIA driver of version 580 or newer. ComfyUI checks the installed driver on launch and warns if it is older than 580.x while `cu130` torch is installed, suggesting either a driver update or manually downgrading to an older torch index such as `cu128`.
38+
- Turing (RTX 2000-series) or newer is the practical recommendation; older cards may still work but are treated as legacy.
39+
- **Packages:** CUDA is the most broadly supported backend. Every inference package that lists a GPU backend supports CUDA, and CUDA-only packages include Fooocus, SimpleSDXL, ForgeClassic, FramePack, and the training tools (Kohya's GUI, OneTrainer, FluxGym, AI Toolkit).
40+
41+
## AMD on Windows
42+
43+
AMD support on Windows is the most involved case, because there are three different paths depending on your GPU and package: native ROCm (technical preview), ZLUDA, and DirectML.
44+
45+
### Native ROCm (TheRock technical preview)
46+
47+
Stability Matrix can install AMD's native ROCm PyTorch on Windows using AMD's TheRock multi-architecture wheels. This path is gated to a specific set of GPU architectures. The code recognizes the following `gfx` architectures as supported on Windows:
48+
49+
- **RDNA4**`gfx120x` (e.g. RX 9070, RX 9060 families).
50+
- **RDNA3 / RDNA3.5**`gfx110x` (RDNA3 desktop and mobile) and `gfx115x` (RDNA3.5 APUs such as the 890M / 8060S / Z2 Extreme families).
51+
- **Older architectures**`gfx101x` (RDNA1) and `gfx103x` (RDNA2), plus Vega/GCN5 (`gfx900`, `gfx906`).
52+
53+
Architectures in the `gfx110x`, `gfx115x`, and `gfx120x` ranges are treated as "modern"; the rest are treated as "legacy" and use a more conservative attention path.
54+
55+
**What Stability Matrix does automatically:**
56+
57+
- When a supported AMD GPU is present on Windows, ROCm becomes the recommended backend for ROCm-capable packages (currently ComfyUI and Comfy-based flows via SwarmUI).
58+
- Torch is installed from AMD's ROCm multi-arch index (`repo.amd.com/rocm/whl-multi-arch/`) as device-specific wheels (`torch[device-gfxNNNN]`). Vega parts (`gfx900` / `gfx906`) pull from the nightly multi-arch feed instead, since TheRock currently only publishes their device packages there.
59+
- On modern architectures it applies a set of ROCm performance and attention environment variables at launch (MIOpen find-mode tuning, AOTriton experimental flash attention, `COMFYUI_ENABLE_MIOPEN`, and an allocator tuning string). AOTriton is excluded on the `gfx1152` / `gfx1153` APU architectures, which it does not yet support. Legacy architectures instead force a math SDP fallback. The full variable list and exactly which ones are auto-applied are documented in [Environment Variables](environment-variables.md#amd-and-rocm-variables).
60+
- ComfyUI offers optional extra commands for supported AMD GPUs, including **Install Triton and SageAttention (ROCm)**, **Install Flash Attention (ROCm)** (legacy architectures), an **Install ROCm Development SDK** step, and an **Install bitsandbytes (ROCm)** step for Python 3.12 environments.
61+
62+
**Caveats:**
63+
64+
- Windows AMD ROCm is explicitly experimental. Stability Matrix prints a notice asking you to report issues to Stability Matrix first, since the setup may not be officially supported by the upstream package developers.
65+
- Only the architectures listed above are eligible. If your AMD GPU is not on the list, the recommended default becomes ZLUDA or DirectML instead.
66+
67+
### ZLUDA
68+
69+
ZLUDA is a CUDA-to-AMD translation layer used by dedicated AMD-on-Windows packages. It is recommended on Windows AMD systems that are not covered by native ROCm.
70+
71+
- **Packages:** ComfyUI-Zluda, Stable Diffusion WebUI AMDGPU Forge, and SD.Next (which lists ZLUDA among its backends).
72+
- **What Stability Matrix does automatically:**
73+
- Installs the ZLUDA runtime along with the required HIP SDK prerequisite (HIP SDK 6.4) and, for ComfyUI-Zluda, Visual Studio Build Tools for C++. Torch itself is installed from the CUDA index, since ZLUDA translates CUDA calls.
74+
- ComfyUI-Zluda sets its own launch-time environment variables (`FLASH_ATTENTION_TRITON_AMD_ENABLE`, `MIOPEN_FIND_MODE`, `MIOPEN_LOG_LEVEL`, `ZLUDA_COMGR_LOG_LEVEL`, and a `TRITON_OVERRIDE_ARCH` derived from your GPU's `gfx` arch). See [Environment Variables](environment-variables.md#amd-and-rocm-variables) for details.
75+
- **Caveats:**
76+
- Installing the HIP SDK and Build Tools may require administrator privileges and a reboot.
77+
- AMD GPUs below the RX 6800 may require additional manual setup (both ComfyUI-Zluda and AMDGPU Forge carry this disclaimer).
78+
- ZLUDA is generally faster than DirectML for supported operations but remains an experimental translation layer.
79+
80+
### DirectML
81+
82+
DirectML is Microsoft's cross-vendor GPU acceleration API and acts as the broadest-compatibility fallback on Windows.
83+
84+
- **GPUs:** AMD, Intel, and some NVIDIA GPUs on Windows.
85+
- **What Stability Matrix does automatically:** Installs the `torch-directml` package instead of a CUDA/ROCm torch build. On a Windows AMD system with no ROCm-supported GPU, DirectML/ZLUDA is the fallback recommendation.
86+
- **Caveats:** Broad compatibility, but generally slower than CUDA or native ROCm, and upstream DirectML development has largely stagnated. Where possible, native ROCm or ZLUDA is preferable for AMD GPUs.
87+
- **Packages:** ComfyUI, SD.Next, SwarmUI, SDFX, Stable Diffusion WebUI DirectML, and Fooocus-MRE list DirectML support.
88+
89+
## AMD (ROCm)
90+
91+
On Linux, AMD GPUs use native ROCm directly, which is the mature AMD path.
92+
93+
- **Platform:** Linux only.
94+
- **GPUs:** Native ROCm-capable AMD GPUs. Stability Matrix recommends ROCm when the system has an AMD GPU, no NVIDIA GPU, and is running Linux.
95+
- **What Stability Matrix does automatically:**
96+
- Installs PyTorch from a ROCm wheel index. The default torch index is ROCm 6.4 (`rocm6.4`), and ComfyUI installs use a ROCm 7.2 index (`rocm7.2`).
97+
- Selects ROCm as the recommended backend automatically for ROCm-capable packages.
98+
- **Caveats:**
99+
- Native ROCm on Linux depends on a system-level ROCm installation and a compatible kernel/driver stack, which Stability Matrix does not install for you.
100+
- The Windows-only ROCm performance environment overrides described above are not auto-applied on Linux, so if you want them you can set them yourself via the [Environment Variables](environment-variables.md) editor.
101+
- **Packages:** ComfyUI, Stable Diffusion WebUI, SD.Next, Stable Diffusion WebUI Forge, InvokeAI, SwarmUI, SDFX, OneTrainer, and Wan2GP list ROCm support.
102+
103+
## Intel (IPEX)
104+
105+
IPEX is the Intel Extension for PyTorch, targeting Intel's discrete and integrated Arc graphics via the XPU backend.
106+
107+
- **Platforms:** Windows and Linux.
108+
- **GPUs:** Intel Arc graphics. Note that detection is name-based and matches GPUs whose name contains "Arc", so Arc A-series and B-series discrete cards and Core Ultra parts with integrated Arc graphics are the intended targets.
109+
- **What Stability Matrix does automatically:**
110+
- Installs PyTorch from Intel's XPU index (`xpu`).
111+
- Recommends IPEX when an Intel Arc GPU is detected and the package supports it.
112+
- For SD.Next, the Intel path runs the package's own `--use-ipex` install/launch flow.
113+
- **Caveats:** Because detection keys off the "Arc" name, older non-Arc Intel integrated graphics are not recognized as IPEX-capable.
114+
- **Packages:** ComfyUI and SD.Next list IPEX support.
115+
116+
## Apple Silicon (MPS)
117+
118+
MPS is Apple's Metal Performance Shaders backend, used for GPU acceleration on Apple Silicon Macs.
119+
120+
- **Platform:** macOS on Apple Silicon (arm64). M1 and newer.
121+
- **What Stability Matrix does automatically:**
122+
- On macOS ARM, hardware compatibility always passes during first-launch setup, so the MPS path is offered without a discrete GPU check.
123+
- MPS is included with PyTorch on macOS and needs no separate compute-library download; the torch install uses the CPU wheel index, and PyTorch provides the Metal-backed device at runtime.
124+
- **Caveats:** Support is specific to Apple Silicon; Intel Macs are not covered by this path. As with any backend, individual model or node compatibility can still vary.
125+
- **Packages:** ComfyUI, Stable Diffusion WebUI, SD.Next, Stable Diffusion WebUI Forge, InvokeAI, SwarmUI, and SDFX list MPS support.
126+
127+
## CPU Fallback
128+
129+
CPU is the universal fallback that runs entirely on the processor with no GPU acceleration.
130+
131+
- **Platforms:** All.
132+
- **What Stability Matrix does automatically:** Installs PyTorch from the CPU wheel index (`cpu`). When a package supports no backend that matches your detected hardware, the recommended default falls back to CPU.
133+
- **Caveats:** CPU execution is dramatically slower than any GPU backend and is generally only suitable for testing, or for systems without a compatible GPU.
134+
- **Packages:** Most inference WebUIs that support multiple backends include CPU (for example ComfyUI, Stable Diffusion WebUI, SD.Next, Stable Diffusion WebUI Forge, InvokeAI, SwarmUI, SDFX, and Fooocus-MRE).
135+
136+
## What's Next
137+
138+
- [Installing Packages](../package-manager/installing-packages.md) — Where the PyTorch backend is chosen during install
139+
- [Environment Variables](environment-variables.md) — The full list of ROCm/HIP and PyTorch variables, and which ones Stability Matrix auto-applies
140+
- [Supported Packages](../package-manager/supported-packages.md) — The full package list and their hardware badges

docs/advanced/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ Most users never need to touch these topics, since Stability Matrix handles envi
1414
- [ComfyUI Integration](comfyui-integration.md) — ComfyUI node API, WebSocket protocol, and custom nodes
1515
- Building from Source and Contributing *(planned)* — Local builds, runtime targets, and where to start for code or docs contributions
1616
- Shared Folders *(planned)* — Folder structure, symlinks, and cross-package model sharing
17-
- Hardware Support *(planned)* — CUDA, ROCm, DirectML, MPS, ZLUDA, IPEX, and CPU backends
17+
- [Hardware Support](hardware-support.md) — CUDA, ROCm, DirectML, MPS, ZLUDA, IPEX, and CPU backends
1818
- Python Environment *(planned)* — Virtual environments, uv, pip, and Python version management

0 commit comments

Comments
 (0)