Github:https://github.com/vladmandic/automatic/wiki/ZLUDA
适用于 Windows 中 AMD GPU 的 ZLUDA (CUDA 包装器)
警告
ZLUDA 在其官方版本中并不完全支持 PyTorch。所以 ZLUDA 支持是如此棘手和不稳定。目前支持有限。请不要在 GitHub 上创建有关 ZLUDA 的问题。请随时通过 discord 帮助频道中的 ZLUDA 线程与我们联系。
在 Windows 中为 AMD GPU 安装 ZLUDA
本指南假定您已安装 Git 和 Python,并且能够熟练使用命令提示符、导航 Windows 资源管理器、重命名文件和文件夹以及使用 zip 文件。
如果您有集成的 AMD GPU (iGPU),则可能需要禁用它,或使用 HIP_VISIBLE_DEVICES
环境变量。在此处了解更多信息。
安装 Visual C++Runtime
请注意: 无论如何,大多数人都会拥有它,因为它附带了很多游戏,但尝试安装它并没有什么坏处。
从 https://aka.ms/vs/17/release/vc_redist.x64.exe 获取最新版本的 Visual C++ Runtime(这是一个直接下载链接),然后运行它。
如果您获得 Repair (修复) 或 Uninstall(卸载)选项,则表示您已经安装了它,并且可以单击 Close(关闭)。否则,请安装。
安装 ZLUDA
ZLUDA 现在是自动安装的,并且在使用--use-zluda
启动 webui.bat 时自动添加到 PATH。
安装 HIP SDK
从 https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html 安装 HIP SDK 5.7.1
只要您的常规 AMD GPU 驱动程序是最新的,您就不需要安装 HIP SDK 建议的 PRO 驱动程序。
注:SD.Next 支持 HIP SDK 6.1.x,但稳定性和功能尚未得到验证。
替换不受支持的 GPU 架构的 HIP SDK 库文件
转到 https://rocm.docs.amd.com/proje...quirements.html 并找到您的 GPU 型号。
如果您的 GPU 型号在两列中都有 ,✅请跳至安装 SD。下一步。
如果您的 GPU 型号在 HIP SDK 列中,❌或者您的 GPU 未列出,请按照以下说明操作;
- 打开 Windows 资源管理器并复制并粘贴到
C:\Program Files\AMD\ROCm\5.7\bin\rocblas
地址栏中。 -
复制
library
文件夹以用于备份。 -
下载以下文件之一,并将它们解压缩到原始库文件夹中,覆盖那里的所有文件。
注意:多亏了 FremontDango,这些用于 gfx1031 和 gfx1032 GPU 的替代库的速度提高了约 50%;
(注意:您可能需要安装7-Zip才能解压缩 .7z 文件。)- 如果您有 6700、6700xt 或 6750xt (gfx1031) GPU,请下载Optimised_ROCmLibs_gfx1031.7z
- 如果您有 6600、6600xt 或 6650xt (gfx1032) GPU,请下载Optimised_ROCmLibs_gfx1032.7z
- 对于所有其他不支持的 GPU,请下载 ROCmLibs.7z
- 打开 zip 文件
- 将库文件夹从 zip 文件拖放到
%HIP_PATH%bin\rocblas
(您在步骤 1 中打开的文件夹)中 - 重启电脑
如果您的 GPU 型号不在 HIP SDK 列中或在上面的列表中不可用,请按照 Rocm 支持指南中的说明构建您自己的 RocblasLibs
安装 StableDiffusion
使用 Windows 资源管理器,导航到要安装 SD 的位置。下一个。这应该是您的用户帐户对其具有读/写/执行访问权限的文件夹。安装 SD.Next 在需要管理员权限的目录中可能会导致它无法正常启动。
注意:请勿安装 SD。接下来进入 Program Files、Users 或 Windows 文件夹,这包括 OneDrive 文件夹或桌面上的文件夹,或者进入以句点开头的文件夹;(例如:.sdnext
)。
最好的位置是 SSD 上用于模型加载
在位置栏中,键入 cmd
,然后按Enter。这将在该位置打开一个命令提示符窗口
将以下命令复制并粘贴到命令提示符窗口中,一次一个
git clone https://github.com/vladmandic/automatic
Markup
Copy
then 然后
cd automatic
Markup
Copy
then 然后
webui.bat --use-zluda --debug --autolaunch
注意:ZLUDA 在 Diffusers Backend 中运行最佳,其中某些仅 Diffusers 选项可用。
编译、设置和 First Generation
UI 启动后,转到系统选项卡 > 计算设置
将 Attention optimization method
设置为 Dynamic Attention BMM
,然后点击 Apply settings
。
现在,尝试生成一些东西
编译应该需要相当长的时间(10-15 分钟,甚至更长时间;一些报告指出 1 小时前),但此编译应该只需要执行一次
注意:不会有进度条,因为这是由 ZLUDA 而不是 SD 完成的。下一个。最终,您的图像将开始生成
比较 (DirectML)
项目 | DirectML | ZLUDA |
---|---|---|
Speed 速度 | Slower 慢 | Faster 更快 |
VRAM Usage | More 更多 | Less 少 |
VRAM GC | ❌ | ✅ |
Traning | * | ✅ |
Flash Attention | ❌ | ❌ |
FFT | ❓ | ✅ |
FFTW | ❓ | ❌ |
DNN | ❓ | 🚧 |
RTC | ❓ | ❌ |
Source Code | 已关闭 | Opened |
Python | <=3.12 | 与 CUDA 相同 |
Compatibility 兼容性
DTYPE | |
---|---|
FP64 | ✅ |
FP32 | ✅ |
FP16 | ✅ |
BF16 | ✅ |
LONG | ✅ |
INT8 | ✅* |
UINT8 | ✅* |
INT4 | ❓ |
FP8 | ❌ |
BF8 | ❌ |
*: Not tested. *: 未测试。
实验设置
以下部分是可选的,并且是高度实验性的,并且不是开始生成图像所必需的。确保在尝试这些操作之前可以先生成图像。
使用 deepcache 的实验性速度提升(可选)
启动 SD。接下来,前往系统选项卡 > 计算设置。
向下滚动到Model Compile
,然后勾选Model
、VAE
和Text Encoder
框。
选择 deep-cache
作为您的模型编译后端。
Apply
和 Shutdown
,以及重新启动 SD。