Metadata-Version: 2.4
Name: diffusers-dynamic-offloader
Version: 0.1.0rc2
Summary: Model-agnostic dynamic offload helpers for Diffusers-style low-VRAM inference.
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch
Requires-Dist: diffusers
Requires-Dist: safetensors
Requires-Dist: accelerate
Requires-Dist: psutil
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff>=0.14.3; extra == "dev"
Provides-Extra: vmm
Requires-Dist: ddo-vmm-allocator==0.1.0rc2; extra == "vmm"
Requires-Dist: cuda-core>=1.2.0; extra == "vmm"
Requires-Dist: cuda-bindings>=13.4.0; extra == "vmm"
Provides-Extra: vmm-dev
Requires-Dist: pytest; extra == "vmm-dev"
Requires-Dist: ruff>=0.14.3; extra == "vmm-dev"
Requires-Dist: cuda-core>=1.2.0; extra == "vmm-dev"
Requires-Dist: cuda-bindings>=13.4.0; extra == "vmm-dev"
Requires-Dist: torch==2.12.1+cu132; (sys_platform == "win32" and python_version == "3.12") and extra == "vmm-dev"
Requires-Dist: torchvision==0.27.1+cu132; (sys_platform == "win32" and python_version == "3.12") and extra == "vmm-dev"
Requires-Dist: accelerate==1.14.0; extra == "vmm-dev"
Requires-Dist: transformers==5.15.1; extra == "vmm-dev"
Requires-Dist: einops==0.8.2; extra == "vmm-dev"
Requires-Dist: peft==0.20.0; extra == "vmm-dev"
Requires-Dist: diffusers==0.41.0; extra == "vmm-dev"
Provides-Extra: vmm-dev-linux
Requires-Dist: pytest; extra == "vmm-dev-linux"
Requires-Dist: ruff>=0.14.3; extra == "vmm-dev-linux"
Requires-Dist: cuda-core>=1.2.0; extra == "vmm-dev-linux"
Requires-Dist: cuda-bindings>=13.4.0; extra == "vmm-dev-linux"
Requires-Dist: cuda-toolkit[cccl,nvcc]==13.2.1; (sys_platform == "linux" and python_version == "3.12") and extra == "vmm-dev-linux"
Requires-Dist: torch==2.12.1+cu132; (sys_platform == "linux" and python_version == "3.12") and extra == "vmm-dev-linux"
Requires-Dist: torchvision==0.27.1+cu132; (sys_platform == "linux" and python_version == "3.12") and extra == "vmm-dev-linux"
Requires-Dist: accelerate==1.14.0; extra == "vmm-dev-linux"
Requires-Dist: transformers==5.15.1; extra == "vmm-dev-linux"
Requires-Dist: einops==0.8.2; extra == "vmm-dev-linux"
Requires-Dist: peft==0.20.0; extra == "vmm-dev-linux"
Requires-Dist: safetensors==0.8.0; extra == "vmm-dev-linux"
Requires-Dist: diffusers==0.41.0; extra == "vmm-dev-linux"
Dynamic: license-file

# Diffusers Dynamic Offloader

DDO is a model-agnostic offload manager for low-VRAM Diffusers-style inference.
It provides dense-weight routes and official Diffusers compatibility routes
while preserving quantized backend math.

## Getting started

Follow the [installation guide](docs/user/installation.md), then choose
[full-pipeline](docs/user/full-pipeline.md), [staged](docs/user/staged-pipeline.md)
or [Modular Diffusers](docs/user/modular-pipeline.md) integration.

Normal linear use requires no native allocator or compiler. Native VMM is optional:
it uses a matching packaged DLL/.so and bootstrap before CUDA initialization.
The installation guide describes local candidate wheels; it does not assume
they are available on a package index.

```python
from diffusers_dynamic_offloader import enable_offload

result = enable_offload(transformer, preset="auto", component="transformer")
transformer = result.module
```

This snippet selects the default linear route. See
[native VMM integration](docs/user/native-vmm.md) for its separate loading contract.

## Documentation

- [User guides](docs/user/README.md): installation, integration, presets and reporting.
- [Developer guides](docs/developer/README.md): architecture, diagnostics, builds and validation.

## Examples and benchmarks

Model runners, custom-block integration and measured comparisons live in
[DDO examples](https://github.com/DEVAIEXP/ddo-examples).
See the [test hardware](docs/developer/hardware.md) and
[support boundaries](docs/developer/support.md) when interpreting results.
Selected workloads do not establish universal speedups or model support.

## License

Apache-2.0; preserve required copyright, license and attribution notices.
