醉观尘世

使用AMD显卡运行Stable Diffusion

我的电脑使用的是AMD CPU和GPU (RX 6700 XT, 12GB),安装和使用Stable Diffusion都很顺利,但很快就发现了问题,Stable Diffusion生成图片时只使用CPU,CPU的占用率在98%左右,却并不使用GPU,而且生成一张非常简单的512×512图片居然需要将近十分钟的时间。我花钱卖GPU是让它来生成图片的,不是来看图片的,所以这个问题要解决。

经过一番尝试,CPU的占用率降到了75%-78%,按上面同样的提示词生成简单图片需要将近5分钟,GPU仍然在休息。这样我就不能休息了,还要继续想办法让GPU躁动起来。

经过反复尝试,下面的方法解决了我的问题。

1. 在磁盘根目录下建立目录 c:\SD,把Stable Diffusion Web UI安装在新建目录下面

2. 安装Git Bash

3. 运行下面的命令

git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update

4. 修改webui-user.bat文件,添加

COMMANDLINE_ARGS=–skip-torch-cuda-test –opt-sub-quad-attention –disable-nan-check –opt-sdp-attention –precision full –no-half –use-zluda –skip-ort

5. 运行webui-user.bat,此时出现错误,这是正常情况,不需要理会。暂时退出,进行下一步

6. 下载和安装AMD HIP SDK 6.2.4

7. 下载ZLUDA for ROCm 6

8. 在根目录下建立文件夹c:\zluda,把下载的zluda-windows-rocm6-amd64.zip文件解压缩并复制到c:\zluda文件夹内

9. 下载ROCBLAS package (AMD RX 6700 XT = GFX 1031), 把解压缩后文件夹中的rocblas.dll 文件复制到C:\Program Files\AMD\rocm\6.2\bin\rocblas文件夹下,把其他的文件复制到C:\Program Files\AMD\rocm\6.2\bin\rocblas\library文件夹下

10. 在Windows的System Variables中添加两个路径,分别是 c:\zluda 和 %HIP_PATH%bin

11. 重新启动电脑,运行webui-user.bat

现在,按上面同样的提示词生成简单图片时CPU的占用率一直在25%一下,GPU的占用率则达到了99%,只需要几秒钟就完成了。

Leave a Reply