A卡 安装 stable diffusion,stable-diffusion-webui,comfyui(ComfyUI-Zluda),flux
- 阅读说明:
- 本文章使用 markdown 语法书写
- 不支持 markdown 语法的网站阅读建议:
- 复制本文章代码到 https://www.toolhelper.cn/Code/Markdown
- 复制本文章代码到 本地 md 格式文件,然后使用 typora 打开该 md 文件
- typora 软件: https://download2.typoraio.cn/windows/typora-setup-x64-1.10.8.exe
前提条件:
- python 3.10.6 (使用conda 虚拟环境,本地不装python)
- 使用 directml 方式(不推荐)
- 安装 torch-directml,以使 PyTorch 在 Windows 环境下使用 DirectML 运行
- 使用 zluda 方式 (推荐)
- ZLUDA 是非 NVIDIA GPU 上 CUDA 的替代方案。ZLUDA 允许使用非 NVIDIA GPU 运行未修改的 CUDA 应用程序,具有接近原生性能
使用 zluda 方式(适用于 sd.next 及 comfyui-zlud 项目)
* 参考:https://www.cnblogs.com/LFeather/p/18514921
* 参考:https://github.com/vladmandic/sdnext/wiki/ZLUDA
1. 安装 Visual C++ Runtime,然后重启
- https://aka.ms/vs/17/release/vc_redist.x64.exe
2. 安装Rocm HIP SDK(并替换amd本地的library包),rx6800(含)以上的显卡可以跳过这个步骤
-
2.1 下载 Rocm 6.2 版本(当时最新)
- 查看GPU型号对 HIP SDK 的支持: https://rocm.docs.amd.com/projects/install-on-windows/en/develop/reference/system-requirements.html
- 安装 6.2 版本 https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html
-
2.2 下载非官方:ROCmLibs for AMD GPU
-
https://github.com/likelovewant/ROCmLibs-for-gfx1103-AMD780M-APU/releases/tag/v0.6.2.4
gfx1010: RX 5700, RX 5700 XT
gfx1012: RX 5500, RX 5500 XT
gfx1031: RX 6700, RX 6700 XT, RX 6750 XT
gfx1032: RX 6600, RX 6600 XT, RX 6650 XT
gfx1103: Radeon 780M
gfx803: RX 570, RX 580
-
-
2.3 非官方替换替换官方(hip sdk 安装的部分文件),记得保留官方副本;
-
默认路径一般在:C:\Program Files\AMD\ROCm\6.2\bin\rocblas
rocblas.dll 替换 bin\rocblas.dll library 替换 bin\rocblas\library
-
参考:https://github.com/vladmandic/sdnext/wiki/ZLUDA
-
参考:https://github.com/likelovewant/ROCmLibs-for-gfx1103-AMD780M-APU
-
-
2.4 设置系统环境变量(非用户变量),path 项中添加
- C:\Program Files\AMD\ROCm\6.2\bin
- 对于sd.next非必需,对于 comfyui-zluda 是必需的
3. 安装 zluda
-
3.1 下载 zluda 3.9 版本(当时最新)
- lshqqytiger 版本:https://github.com/lshqqytiger/ZLUDA
-
3.2 给项目启动命令添加 --use-zluda 参数
- 添加环境变量(可选)
- 现在大多数项目第一次安装时会自动下载zluda到当前项目,然后自动替换掉torch lib相关包中zluda文件,所以一般不需要这个步骤了
- ZLUDA is now auto-installed, and automatically added to PATH, when starting webui.bat with --use-zluda.
一. 安装 sd.next (代替 stable diffusion webui)
- git clone https://github.com/vladmandic/sdnext
- 参考:https://www.bilibili.com/opus/899310042374733828
二. 安装 ComfyUI-Zluda (原版的comfyui 尚不支持 windows平台下的amd)
-
下载
- git clone https://github.com/patientx/ComfyUI-Zluda
-
安装(python 虚拟环境下)
- 命令行执行 install.bat(需要科学-代理-上网)
- install 完成后,zluda 版本 修正(根据之前安装的AMD HIP SDK 版本)
- 5.x版本 对应 patchzluda.bat
install 默认安装的zluda版本是:Zluda 3.8.4 for HIP SDK 5.7.1 - 6.x版本 对应 patchzluda2.bat
如果之前的ROM(HIP SDK)是 6.xx 版本,
需要执行 patchzluda2.bat,
将 zluda 更新到:
Zluda 3.9 for HIP SDK 6.2.4- patchzluda2.bat 需要断开代理, 免拉包时间过久
- 手动强的可自行修改 install.bat 拉zluda包的相关模块,例如:
@REM echo :: %time:~0,8% :: - Patching ZLUDA (Zluda 3.8.4 for HIP SDK 5.7.1) @REM curl -sL --ssl-no-revoke https://github.com/lshqqytiger/ZLUDA/releases/download/rel.c0804ca624963aab420cb418412b1c7fbae3454b/ZLUDA-windows-rocm5-amd64.zip > zluda.zip @REM tar -xf zluda.zip echo :: %time:~0,8% :: - Patching ZLUDA (Zluda 3.9 for HIP SDK 6.2) if not exist zluda.zip ( echo Download : will download zluda from https://github.com/lshqqytiger/ZLUDA/releases/download/rel.d60bddbc870827566b3d2d417e00e1d2d8acc026/ZLUDA-windows-rocm6-amd64.zip curl -sL --ssl-no-revoke https://github.com/lshqqytiger/ZLUDA/releases/download/rel.d60bddbc870827566b3d2d417e00e1d2d8acc026/ZLUDA-windows-rocm6-amd64.zip > zluda.zip ) tar -xf zluda.zip @REM del zluda.zip copy zluda\cublas.dll venv\Lib\site-packages\torch\lib\cublas64_11.dll /y >NUL copy zluda\cusparse.dll venv\Lib\site-packages\torch\lib\cusparse64_11.dll /y >NUL copy zluda\nvrtc.dll venv\Lib\site-packages\torch\lib\nvrtc64_112_0.dll /y >NUL @echo :: %time:~0,8% :: - ZLUDA is patched. (Zluda 3.9 for HIP SDK 6.2)
- 然后将自行下载的ZLUDA-windows-rocm6-amd64.zip 文件,改成 zluda.zip 放在 comfyui-zluda 根目录下即可(不用再执行patchzluda2.bat)
- 5.x版本 对应 patchzluda.bat
三. 运行
- 前提条件
- 激活 python 虚拟环境(conda activate xxx),not base
- 运行 sd.next
-
- 命令行直接运行 webui.bat
-
- 推荐以下方式
项目根目录记事本新建 user.bat,内容如下:
@echo off set PYTHON= set GIT= set VENV_DIR= set TORCH_BACKEND=zluda @REM set TORCH_BACKEND=directml set COMMANDLINE_ARGS=--use-zluda --lowvram call webui.bat
- 推荐以下方式
-
- 然后运行 user.bat
-
- 运行 comfyui-zluda
- python 虚拟环境下 命令行 执行:comfyui.bat