ADI-Stable-Diffusion  by Windsander

CLI tool for Stable Diffusion inference acceleration

created 1 year ago
447 stars

Top 68.2% on sourcepulse

GitHubView on GitHub
Project Summary

Agile Diffusers Inference (ADI) is a C++ library and CLI tool designed to accelerate Stable Diffusion inference by leveraging ONNXRuntime. It targets engineers and researchers needing efficient, cross-platform deployment of diffusion models, offering a smaller package size and high performance compared to Python-based solutions.

How It Works

ADI utilizes ONNXRuntime as its core inference engine, benefiting from its open-source nature, scalability, high performance, and broad cross-platform support (CPU, GPU, TPU). Models are converted to the .onnx format, enabling efficient execution across various hardware. The library provides a C++ framework for direct integration and a CLI for straightforward usage.

Quick Start & Requirements

  • CLI Installation:
    • macOS: brew tap windsander/adi-stable-diffusion && brew install adi
    • Windows: Download .nupkg from releases and install via choco install adi.1.0.1.nupkg -y.
  • Build Locally: Use ./auto_build.sh with platform-specific parameters. Advanced options allow enabling CUDA, TensorRT, and custom compiler configurations.
  • Prerequisites: Building locally may require CMake and Ninja. GPU acceleration requires appropriate drivers and CUDA/TensorRT installations.
  • Documentation: ADI-Stable-Diffusion Releases

Highlighted Details

  • Supports Stable Diffusion v1.0-v1.5 and Turbo models, with ongoing development for v2.x, v3.x, SDXL, and SVD.
  • Implements multiple schedulers (Euler, Euler Ancestral, DDIM, DDPM, etc.) and tokenizer types (BPE, Word Piece).
  • Offers build-time options for ONNXRuntime providers including CUDA, TensorRT, CoreML, and NNAPI.
  • Provides a comprehensive CLI for various inference tasks like img2img.

Maintenance & Community

The project is maintained by Windsander. Community channels are not explicitly mentioned in the README.

Licensing & Compatibility

The project is licensed under the MIT License, permitting commercial use and integration with closed-source applications.

Limitations & Caveats

Support for SD v2.x, v3.x, SDXL, and SVD is listed as under development or experimental. Some scheduler implementations are marked as tested, implying others may not be fully validated. The README suggests manual preparation of ONNX models and converters.

Health Check
Last commit

11 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
2 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), and
7 more.

ThunderKittens by HazyResearch

0.6%
3k
CUDA kernel framework for fast deep learning primitives
created 1 year ago
updated 4 days ago
Starred by Patrick von Platen Patrick von Platen(Core Contributor to Hugging Face Transformers and Diffusers), Michael Han Michael Han(Cofounder of Unsloth), and
1 more.

ktransformers by kvcache-ai

0.4%
15k
Framework for LLM inference optimization experimentation
created 1 year ago
updated 3 days ago
Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 19 hours ago
Feedback? Help us improve.