v0.1.0
skypilot-org/skypilotv0.1.0Jan 7, 2025by EricLBuehler
AI Summary
This is the initial release of diffusion-rs, a library for running diffusion models, providing both Python and Rust crates with optimized kernels, CLI tools, and support for device offloading.
Key Highlights
- Initial release available on PyPI and crates.io with Python and Rust support.
- Optimized kernels (SDPA, LayerNorm) and significantly faster DDUF file loading.
- Introduction of a CLI tool named diffusers_cli.
- Support for device offloading and 8-bit quantization (bnb).
- Metal autorelease support to optimize memory usage.
New Features
- Python and Rust API packages available on PyPI and crates.io.
- Support for loading models from dduf files.
- Optimized kernels including sdpa, layernorm, and f32 flux sdpa.
- CLI tool (diffusers_cli) for command-line interaction.
- Metal autorelease for improved memory management.
- Device offloading capabilities.
- Support for bnb 8-bit quantization.
- Refactored scheduler and sampling logic.
Full Release Notes
🎉 Initial release of diffusion-rs! Check out the installation guide and examples for getting started! - [Python pacakges](https://pypi.org/search/?q=diffusion-rs) are available as wheels on PyPi for easy download. - [Rust crates](https://crates.io/crates/diffusion_rs_core) are also available on crates.io! ## MSRV The [MSRV](https://github.com/rust-lang/api-guidelines/discussions/231) is 1.79.0. ## What's Changed * Support loading from dduf files by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/1 * Use more optimized kernels (sdpa, layernorm) by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/2 * Run flux sdpa in f32 by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/3 * Nicer examples and api, integrate logging by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/4 * Add some CI by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/6 * Add a cli: diffusers_cli by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/5 * Refine cli by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/7 * Use metal autorelease to optimize memory usage by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/8 * Better docs and readme by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/9 * Add python api, restructure by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/10 * Add an installation guide by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/11 * Integrate nn core to diffuse_rs_common by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/12 * Add python api type hint file by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/14 * flux: fix padding of prompts to support batching by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/15 * pipeline: respect silent option by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/16 * Support bnb 8bit by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/17 * Refactor scheduler & sampling by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/18 * Remove deprecated by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/19 * Support device offloading by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/21 * Update docs by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/20 * Much faster loading of DDUF files by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/23 * Final changes before release by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/24 * Prep docs for python release by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/25 * Rename diffuse-rs to diffusion-rs by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/26 ## New Contributors * @EricLBuehler made their first contribution in https://github.com/EricLBuehler/diffusion-rs/pull/1 **Full Changelog**: https://github.com/EricLBuehler/diffusion-rs/commits/v0.1.0