Aloereed / stable-diffusion-webui-ipex-arc

A guide to Intel Arc-enabled (maybe) version of @AUTOMATIC1111/stable-diffusion-webui
GNU Affero General Public License v3.0
54 stars 8 forks source link

Stable Diffusion web UI for Intel Arc with Intel Extension for Pytorch

This version is a little buggy, if you are a Windows user you can try the DirectML version here or here. 中文自述文件戳这里

Requirements

A simple guide to install Intel Packages

0. Upgrade WSLg

If you are using WSL2, then you first need to run in powershell

wsl --update

1. Install Intel® oneAPI Base Toolkit

You only need to install Intel® oneAPI DPC++ Compiler (DPCPP_ROOT as its installation path) And Intel® oneAPI Math Kernel Library (oneMKL) (MKL_ROOT as its installation path)

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/19079/l_BaseKit_p_2023.0.0.25537.sh
sudo sh ./l_BaseKit_p_2023.0.0.25537.sh

Default installation location {ONEAPI_ROOT} is /opt/intel/oneapi for root account, ${HOME}/intel/oneapi for other accounts. Generally, DPCPP_ROOT is {ONEAPI_ROOT}/compiler/latest, MKL_ROOT is {ONEAPI_ROOT}/mkl/latest. (Required below before each start-up.)

source /opt/intel/oneapi/setvars.sh

2. Install run-time packages

(Some users have reported that these packages are too old in the apt repository, so please use the manual installation.)
sudo apt install intel-opencl-icd intel-level-zero-gpu level-zero intel-media-va-driver-non-free libmfx1
Or you can do this:

mkdir neo
cd neo
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.12504.5/intel-igc-core_1.0.12504.5_amd64.deb
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.12504.5/intel-igc-opencl_1.0.12504.5_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/22.43.24595.30/intel-level-zero-gpu-dbgsym_1.3.24595.30_amd64.ddeb
wget https://github.com/intel/compute-runtime/releases/download/22.43.24595.30/intel-level-zero-gpu_1.3.24595.30_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/22.43.24595.30/intel-opencl-icd-dbgsym_22.43.24595.30_amd64.ddeb
wget https://github.com/intel/compute-runtime/releases/download/22.43.24595.30/intel-opencl-icd_22.43.24595.30_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/22.43.24595.30/libigdgmm12_22.3.0_amd64.deb
sudo dpkg -i *.deb
cd ..

3. verify GPU visibility with sycl-ls

sycl-ls

[opencl:acc:0] Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device 1.2 [2022.15.12.0.01_081451]
[opencl:cpu:1] Intel(R) OpenCL, Intel(R) Core(TM) i5-9600KF CPU @ 3.70GHz 3.0 [2022.15.12.0.01_081451]
[opencl:gpu:2] Intel(R) OpenCL HD Graphics, Intel(R) Graphics [0x56a0] 3.0 [22.43.24595.30]
[ext_oneapi_level_zero:gpu:0] Intel(R) Level-Zero, Intel(R) Graphics [0x56a0] 1.3 [1.3.24595]     <----- Check if this exists.

Setup

Test

25 seconds on Intel Arc A770 16GB with anything-v4.0 for 150 steps.

Known Issues

Readme of the Original Version

A browser interface based on Gradio library for Stable Diffusion.

Features

Detailed feature showcase with images:

Installation and Running

Make sure the required dependencies are met and follow the instructions available for both NVidia (recommended) and AMD GPUs.

Alternatively, use online services (like Google Colab):

Automatic Installation on Windows

  1. Install Python 3.10.6, checking "Add Python to PATH"
  2. Install git.
  3. Download the stable-diffusion-webui repository, for example by running git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git.
  4. Place stable diffusion checkpoint (model.ckpt) in the models/Stable-diffusion directory (see dependencies for where to get it).
  5. Run webui-user.bat from Windows Explorer as normal, non-administrator, user.

Automatic Installation on Linux

  1. Install the dependencies:
    # Debian-based:
    sudo apt install wget git python3 python3-venv
    # Red Hat-based:
    sudo dnf install wget git python3
    # Arch-based:
    sudo pacman -S wget git python3
  2. To install in /home/$(whoami)/stable-diffusion-webui/, run:
    bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)

Installation on Apple Silicon

Find the instructions here.

Contributing

Here's how to add code to this repo: Contributing

Documentation

The documentation was moved from this README over to the project's wiki.

Credits

Licenses for borrowed code can be found in Settings -> Licenses screen, and also in html/licenses.html file.