Skip to content

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.