test / wiki /OpenVINO.md
bilegentile's picture
Upload folder using huggingface_hub
c19ca42 verified
# OpenVINO
OpenVINO is an open-source toolkit for optimizing and deploying deep learning models.
* Compiles models for your hardware.
* Supports **Linux and Windows**
* Supports *CPU* / *iGPU* / *GPU* / *NPU*
* Supports **AMD** GPUs on **Windows** with **FP16** support.
* Supports **INTEL** dGPUs and iGPUs.
* Supports **NVIDIA** GPUs.
* Supports **CPUs** with **BF16** and **INT8** support.
* Supports **Quantization** and **Model Compression**.
* Supports multiple devices at the same time using **Hetero Device**.
It is basically a TensorRT / Olive competitor that works with any hardware.
# Installation
## Preparations
- Install the drivers for your device.
- Install `git` and `python`.
- Open CMD in a folder you want to install SD.Next.
Note: Do not mix OpenVINO with your old install. Treat OpenVINO as a seperate backend.
## Using SD.Next with OpenVINO
Install SD.Next from Github:
```
git clone https://github.com/vladmandic/automatic
```
Then enter into the automatic folder:
```
cd automatic
```
Then start WebUI with this command:
Windows:
```
.\webui.bat --use-openvino
```
Linux:
```
./webui.sh --use-openvino
```
# More Info
## Limitations
Same limitations with TensorRT / Olive applies here too.
Compilation takes a few minutes and any change to Resolution / Batch Size / LoRa will trigger recompilation.
Attention Slicing and HyperTile will not work.
OpenVINO will lock you in the Diffusers backend.
## Quantization
Quantization enables 8 bit support without autocast.
Enable `OpenVINO Quantize Models with NNCF` option in Compute Settings to use it.
## Model Compression
Enable `Compress Model weights with NNCF` option in Compute Settings to use it.
Select a 4 bit mode from `OpenVINO compress mode for NNCF` to use 4 bit.
For GPUs; select both CPU and GPU from the device selection if you want to use GPU with Model Compression.
Note: VAE will be compressed to INT8 if you use a 4 bit mode.
## Custom Devices
Use the `OpenVINO devices to use` option in `Compute Settings` if you want to specify a device.
Selecting multiple devices will use multiple devices as a single `HETERO` device.
Using `--device-id` cli argument with the WebUI will use a **GPU** with the specified **Device ID**.
Using `--use-cpu openvino` cli argument with the WebUI will use the **CPU**.
## Model Caching
OpenVINO will save compiled models to cache folder so you won't have to compile them again.
`OpenVINO disable model caching` option in **Compute Settings** will disable caching.
`Directory for OpenVINO cache` option in **System Paths** will set a new location for saving OpenVINO caches.