Stable Diffusion/教程

ZLUDA教程【搬运+翻译】来自Github

Mr.C · 11月8日 · 2024年 · · · 本文共2567个字 · 预计阅读9分钟66次已读

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 未列出,请按照以下说明操作;

  1. 打开 Windows 资源管理器并复制并粘贴到 C:\Program Files\AMD\ROCm\5.7\bin\rocblas 地址栏中。

  2. 复制 library 文件夹以用于备份。

  3. 下载以下文件之一,并将它们解压缩到原始库文件夹中,覆盖那里的所有文件。
    注意:多亏了 FremontDango,这些用于 gfx1031 和 gfx1032 GPU 的替代库的速度提高了约 50%;
    (注意:您可能需要安装7-Zip才能解压缩 .7z 文件。)

  4. 打开 zip 文件
  5. 将库文件夹从 zip 文件拖放到 %HIP_PATH%bin\rocblas(您在步骤 1 中打开的文件夹)中
  6. 重启电脑

如果您的 GPU 型号不在 HIP SDK 列中或在上面的列表中不可用,请按照 Rocm 支持指南中的说明构建您自己的 RocblasLibs

安装 StableDiffusion

使用 Windows 资源管理器,导航到要安装 SD 的位置。下一个。这应该是您的用户帐户对其具有读/写/执行访问权限的文件夹。安装 SD.Next 在需要管理员权限的目录中可能会导致它无法正常启动。

注意:请勿安装 SD。接下来进入 Program Files、Users 或 Windows 文件夹,这包括 OneDrive 文件夹或桌面上的文件夹,或者进入以句点开头的文件夹;(例如:.sdnext)。

最好的位置是 SSD 上用于模型加载

在位置栏中,键入 cmd,然后按Enter。这将在该位置打开一个命令提示符窗口

ZLUDA教程【搬运+翻译】来自Github

将以下命令复制并粘贴到命令提示符窗口中,一次一个

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,然后勾选ModelVAEText Encoder框。

选择 deep-cache 作为您的模型编译后端。

ApplyShutdown,以及重新启动 SD。

0 条回应