patientx / ComfyUI-Zluda

The most powerful and modular stable diffusion GUI, api and backend with a graph/nodes interface. Now ZLUDA enhanced for better AMD GPU performance.
GNU General Public License v3.0
169 stars 11 forks source link
amd comfyui cuda rocm stable-diffusion windows zluda
# ComfyUI-ZLUDA Windows-only version of ComfyUI which uses ZLUDA to get better performance with AMD GPUs. ![ComfyUI Screenshot](comfyui.png)

Table of Contents

What's New?

[!IMPORTANT]

📢 REGARDING KEEPING THE APP UP TO DATE

Avoid using the update function from the manager, instead use git pull, which we are doing on every start if start.bat is used. (App Already Does It Every Time You Open It, If You Are Using comfyui.bat, So This Way It Is Always Up To Date With Whatever Is On My GitHub Page)

Only use comfy manager to update the extensions (Manager -> Custom Nodes Manager -> Set Filter To Installed -> Click Check Update On The Bottom Of The Window) otherwise it breaks the basic installation, and in that case run install.bat once again.

📢 REGARDING RX 480-580 AND SIMILAR GPUS

After a while we need to keep updating certain packages to keep up with the original app and certain requirements of some models etc. So, torch is changed over time , but this gave gpu's prior to rdna some negative performance. So for these gpu's please use fixforrx580.bat if you are having memory problems too much slowdown etc. This is not mandatory and it won't just make your gpu faster then before but it would be less problematic then using latest torch that we use with other gpu's.

📢 RANDOM TIPS & TRICKS REGARDING USING AMD GPU'S

  • The generation speed is slower than nvidia counterparts we all know and accept it, but most of the time the out of memory situation at the end with VAE decoding is worse. To overcome this use "--cpu-vae". Add it to commandline_args on comfyui.bat. You can now decode using your system memory (the more the memory the better) and your cpu power. This might be slower but at least it works.

Dependencies

If coming from the very start, you need :

  1. Git: Download from https://git-scm.com/download/win. During installation don't forget to check the box for "Use Git from the Windows Command line and also from 3rd-party-software" to add Git to your system's PATH.
  2. Python (3.10.11 or 3.11 from the official website): Install the latest release from python.org. Don't Use Windows Store Version. If you have that installed, uninstall and please install from python.org. During installation remember to check the box for "Add Python to PATH when you are at the "Customize Python" screen.
  3. Visual C++ Runtime: Download vc_redist.x64.exe and install it.
  4. Install HIP SDK 5.7.1 from HERE
    • Update: HIP 6.1.2 released now, but there are problems so no need to use that one, please be careful about selecting the correct version, "Windows 10 & 11 5.7.1 HIP SDK"
  5. Add the system variable HIP_PATH, value: C:\\Program Files\\AMD\\ROCm\\5.7\\ (This is the default folder, if you have installed it on another drive, change if necessary)
    1. Check the variables on the lower part (System Variables), there should be a variable called: HIP_PATH.
    2. Also check the variables on the lower part (System Variables), there should be a variable called: "Path". Double-click it and click "New" add this: C:\Program Files\AMD\ROCm\5.7\bin
  6. If you have an AMD GPU below 6800 (6700,6600 etc.), download the recommended library files for your gpu from Brknsoul Repository
    1. Go to folder "C:\Program Files\AMD\ROCm\5.7\bin\rocblas", there would be a "library" folder, backup the files inside to somewhere else.
    2. Open your downloaded optimized library archive and put them inside the library folder (overwriting if necessary): "C:\Program Files\AMD\ROCm\5.7\bin\rocblas\library"
  7. Reboot your system.

Setup (Windows-Only)

Open a cmd prompt.

git clone https://github.com/patientx/ComfyUI-Zluda
cd ComfyUI-Zluda
install.bat

to start for later use (or create a shortcut to) :

comfyui.bat

also for later when you need to repatch zluda (maybe a torch update etc.) you can use:

patchzluda.bat

[!NOTE] This might happen with torch changes , zluda version changes and / or gpu driver changes.

Troubleshooting


Credits