AMD 显卡在 Windows WSL 下部署 Stable Diffusion
在 Windows 上使用 AMD 显卡运行 Stable Diffusion,最稳妥的方案是通过 WSL2 配合 ROCm 驱动。这不仅能避开 DirectML 的性能损耗,还能获得接近原生 Linux 的体验。开始前请确保你的 AMD 显卡驱动版本不低于 24.12.1,具体可在设备管理器中查看。
搭建 WSL2 环境
首先需要安装 WSL2 并指定发行版。推荐使用 Ubuntu 24.04 或 22.04,两者在 ROCm 支持上略有差异。
执行以下命令一键安装 WSL2:
wsl --install
若需指定 Ubuntu 版本,例如 24.04:
wsl.exe --install ubuntu-24.04
安装完成后,可以通过 wsl -l -v 检查实例状态。如果需要调整安装位置,可以使用 --manage 参数迁移数据。进入实例后按 Ctrl+D 退出,使用 wsl --shutdown 可彻底关闭所有实例。
配置 ROCm 加速库
这是最关键的一步。AMD 官方仓库提供了针对不同 Ubuntu 版本的包,Ubuntu 24.04 对应 noble,22.04 对应 jammy。请务必根据实际系统版本选择下载链接。
以 Ubuntu 24.04 为例,先更新源并安装驱动管理工具:
sudo apt update
wget https://repo.radeon.com/amdgpu-install/6.3.4/ubuntu/noble/amdgpu-install_6.3.60304-1_all.deb
sudo apt install ./amdgpu-install_6.3.60304-1_all.deb
安装前建议列出可用用例,避免安装多余组件:
sudo amdgpu-install --list-usecase
随后执行安装脚本,最后通过 rocminfo 验证显卡是否被识别。如果输出了详细的硬件信息,说明 ROCm 环境已就绪。
构建 Python 开发环境
虽然可以直接用系统 Python,但为了隔离依赖,强烈建议使用 Conda 管理虚拟环境。
下载并安装 Miniconda,重启终端后创建名为 sd 的环境,指定 Python 3.10 版本:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash ./Miniconda3-latest-Linux-x86_64.sh
conda create -n sd python=3.10 -y
conda activate sd
安装 PyTorch (ROCm 版)
AMD 用户无法直接使用 NVIDIA 的 CUDA 版 PyTorch,必须从 AMD 官方仓库获取编译好的 wheel 包。注意文件名中的 cp310 代表 Python 3.10,请根据实际版本调整。
依次下载 Torch、Torchvision、Triton 和 Torchaudio 的 wheel 文件:
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/torch-2.4.0%2Brocm6.3.4.git7cecbf6d-cp310-cp310-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/torchvision-0.19.0%2Brocm6.3.4.gitfab84886-cp310-cp310-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/pytorch_triton_rocm-3.0.0%2Brocm6.3.4.git75cc27c2-cp310-cp310-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.4/torchaudio-2.4.0%2Brocm6.3.4.git69d40773-cp310-cp310-linux_x86_64.whl

