siliconflow/onediff
Jupyter Notebook
Captured source
source ↗siliconflow/onediff
Description: OneDiff: An out-of-the-box acceleration library for diffusion models.
Language: Jupyter Notebook
License: Apache-2.0
Stars: 1967
Forks: 129
Open issues: 128
Created: 2022-09-21T07:34:13Z
Pushed: 2025-12-04T01:30:48Z
Default branch: main
Fork: no
Archived: no
README:
| Documentation | Community | Contribution | Discord |
---
onediff is an out-of-the-box acceleration library for diffusion models, it provides:
- Out-of-the-box acceleration for popular UIs/libs(such as HF diffusers and ComfyUI)
- PyTorch code compilation tools and strong optimized GPU Kernels for diffusion models
News
- [2024/07/23] :rocket: Up to 1.7x Speedup for Kolors: Kolors Acceleration Report
- [2024/06/18] :rocket: Acceleration for DiT models: SD3 Acceleration Report, PixArt Acceleration Report, and Latte Acceleration Report
- [2024/04/13] :rocket: OneDiff 1.0 is released (Acceleration of SD & SVD with one line of code)
- [2024/01/12] :rocket: Accelerating Stable Video Diffusion 3x faster with OneDiff DeepCache + Int8
- [2023/12/19] :rocket: Accelerating SDXL 3x faster with DeepCache and OneDiff
Hiring
We're hiring! If you are interested in working on onediff at SiliconFlow, we have roles open for Interns and Engineers in Beijing (near Tsinghua University).
If you have contributed significantly to open-source software and are interested in remote work, you can contact us at talent@siliconflow.cn with onediff in the email title.
---
- [Documentation](#documentation)
- [Use with HF diffusers and ComfyUI](#use-with-hf-diffusers-and-comfyui)
- [Performance comparison](#performance-comparison)
+ [SDXL E2E time](#sdxl-e2e-time) + [SVD E2E time](#svd-e2e-time)
- [Quality Evaluation](#quality-evaluation)
- [Community and Support](#community-and-support)
- [Installation](#installation)
+ [0. OS and GPU Compatibility](#0-os-and-gpu-compatibility) + [1. Install torch and diffusers](#1-install-torch-and-diffusers) + [2. Install a compiler backend](#2-install-a-compiler-backend)
- [Nexfort](#nexfort)
- [OneFlow](#oneflow)
+ [3. Install onediff](#3-install-onediff)
- [More about onediff](#more-about-onediff)
- [Architecture](#architecture)
- [Features](#features)
- [Acceleration for State-of-the-art models](#acceleration-for-state-of-the-art-models)
- [Acceleration for production environment](#acceleration-for-production-environment)
+ [PyTorch Module compilation](#pytorch-module-compilation) + [Avoid compilation time for new input shape](#avoid-compilation-time-for-new-input-shape) + [Avoid compilation time for online serving](#avoid-compilation-time-for-online-serving) + [Distributed Run](#distributed-run)
- [OneDiff Enterprise Solution](#onediff-enterprise-solution)
Documentation
onediff is the abbreviation of "one line of code to accelerate diffusion models".
Use with HF diffusers and ComfyUI
Performance comparison
SDXL E2E time
- Model stabilityai/stable-diffusion-xl-base-1.0;
- Image size 1024*1024, batch size 1, steps 30;
- NVIDIA A100 80G SXM4;
SVD E2E time
- Model stabilityai/stable-video-diffusion-img2vid-xt;
- Image size 576*1024, batch size 1, steps 25, decoder chunk size 5;
- NVIDIA A100 80G SXM4;
Note that we haven't got a way to run SVD with TensorRT on Feb 29 2024.
Quality Evaluation
We also maintain a repository for benchmarking the quality of generation after acceleration: odeval
Community and Support
- Create an issue
- Chat in Discord: 
- Community and Feedback
Installation
0. OS and GPU Compatibility
- Linux
- If you want to use onediff on Windows, please use it under WSL.
- The guide to install onediff in WSL2.
- NVIDIA GPUs
- Compatibility with Nvidia GPUs.
1. Install torch and diffusers
Note: You can choose the latest versions you want for diffusers or transformers.
python3 -m pip install "torch" "transformers==4.27.1" "diffusers[torch]==0.19.3"
2. Install a compiler backend
When considering the choice between OneFlow and Nexfort, either one is optional, and only one is needed.
- For DiT structural models or H100 devices, it is recommended to use Nexfort.
- For all other cases, it is recommended to use OneFlow. Note that optimizations within OneFlow will gradually transition to Nexfort in the future.
##### Nexfort Install Nexfort is Optional. The detailed introduction of Nexfort is here.
python3 -m pip install -U torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 torchao==0.1 python3 -m pip install -U nexfort
##### OneFlow Install OneFlow is Optional. > _NOTE:_ We have updated OneFlow frequently for onediff, so please install OneFlow by the links below.
- CUDA 11.8
For NA/EU users
python3 -m pip install -U --pre oneflow -f...
Excerpt shown — open the source for the full document.