IPEX and Intel GPUs
GPU Support with IPEX and SD.Next
- Intel ARC Series
- Intel Flex Series
- Intel Max Series
iGPUs are not supported with IPEX, use OpenVINO with iGPUs.
Benchmarks for Intel ARC A770: https://github.com/vladmandic/automatic/wiki/Benchmark#intel-arc
Data Types
BF16 is faster than FP16 in general.
Backend
Diffusers backend is 10%-25% faster than the original backend.
Errors with iGPU
Disable your iGPU (if any, e.g. UHD or Iris Xe) in the device manager.
Windows Installation
Preparations
- Install
Intel GPU Driver
. - Install
Intel OneAPI PyTorch GPU Dev
- Install
Git
. - Install
Python
3.10 or 3.11. - Open CMD in a folder you want to install SD.Next.
Using SD.Next
Open a CMD Windows and install SD.Next from Github:
git clone https://github.com/vladmandic/automatic
cd automatic
Then run SD.Next:
"C:\Program Files (x86)\Intel\oneAPI\pytorch-gpu-dev-0.5\oneapi-vars.bat"
"C:\Program Files (x86)\Intel\oneAPI\ocloc\2024.2\env\vars.bat"
.\webui.bat --use-ipex
Note: It will install the necessary libraries at the first run so it will take a while depending on your internet.
Linux and WSL Installation
Install Intel Compute Runtime
Ubuntu
Use Ubuntu 23.04 or newer.
Don't use Linux Kernel 6.8 or 6.9!
https://github.com/intel/compute-runtime/issues/726
Note: Updating kernel is not neccesary for WSL.
Then add the package lists for Intel Level Zero Drivers:
sudo apt update && sudo apt install -y ca-certificates wget gpg
wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list
sudo apt update && sudo apt upgrade -y
Then install the necessary packages:
sudo apt-get install intel-opencl-icd intel-level-zero-gpu level-zero git python3-pip python3-venv libgl1 libglib2.0-0 libgomp1
Arch Linux
Install the necessary packages for Arch Linux:
pacman -S intel-compute-runtime level-zero-headers level-zero-loader git python-pip python-virtualenv
Using SD.Next
Install SD.Next from Github:
git clone https://github.com/vladmandic/automatic
cd automatic
./webui.sh --use-ipex
Note: It will install the necessary libraries at the first run so it will take a while depending on your internet.