Skip to content

Xformers

ClashSAN edited this page Oct 9, 2022 · 14 revisions

Xformers library is an optional way to speedup your image generation.

There are no binaries for Windows except for one specific configuration, but you can build it yourself.

A guide from an anonymous user, although I think it is for building on Linux:

GUIDES ON HOW TO BUILD XFORMERS also includes how to uncuck yourself from sm86 restriction on voldy's new commit

  1. go to the webui directory
  2. source ./venv/bin/activate
  3. cd repositories
  4. git clone /~https://github.com/facebookresearch/xformers.git
  5. cd xformers
  6. git submodule update --init --recursive
  7. pip install -r requirements.txt
  8. pip install -e .

Building xFormers on Windows by @duckness

  1. Install VS Build Tools 2022, you only need Desktop development with C++

setup_COFbK0AJAZ

  1. Install CUDA 11.3 (later versions are not tested), select custom, you only need the following (VS integration is probably unecessary):

setup_QwCdsQ28FM

  1. Clone the xFormers repo, create a venv and activate it
git clone /~https://github.com/facebookresearch/xformers.git
cd xformers
python -m venv venv
./venv/scripts/activate
  1. To avoid issues with getting the CPU version, install pyTorch seperately:
pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu113
  1. Then install the rest of the dependencies:
pip install -r requirements.txt
pip install wheel
  1. As CUDA 11.3 is rather old, you need to force enable it to be built on MS Build Tools 2022. Do $env:NVCC_FLAGS = "-allow-unsupported-compiler" if on powershell, or set NVCC_FLAGS=-allow-unsupported-compiler if on cmd

  2. You can finally build xFormers, note that the build will take a long time (probably 10-20minutes), it may initially complain of some errors but it should still compile correctly.

python setup.py build
python setup.py bdist_wheel
  1. In xformers directory, navigate to the dist folder and copy the .whl file to the base directory of stable-diffusion-webui

  2. In stable-diffusion-webui directory, install the .whl, change the name of the file in the command below if the name is different:

./venv/scripts/activate
pip install xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl
  1. Ensure that xformers is activated by launching stable-diffusion-webui with --force-enable-xformers

    If you encounter some error about torch not being built with your cuda version blah blah, then try: pip install setuptools==49.6.0

  2. wait like 30 minutes for everything to build

  3. launch with --force-enable-xformers commandline argument

Clone this wiki locally