# 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](https://github.com/vladmandic/automatic/wiki/OpenVINO) with iGPUs. Benchmarks for Intel ARC A770: ## 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: ```shell 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! Note: Updating kernel is not neccesary for WSL. Then add the package lists for Intel Level Zero Drivers: ```shell 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: ```shell 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: ```shell pacman -S intel-compute-runtime level-zero-headers level-zero-loader git python-pip python-virtualenv ``` ### Using SD.Next Install SD.Next from Github: ```shell 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.