--- license: creativeml-openrail-m base_model: stable-diffusion-v1-5/stable-diffusion-v1-5 tags: - stable-diffusion - qnn - hexagon - npu - snapdragon - text-to-image pipeline_tag: text-to-image --- # sd15-npu-8gen3 Stable Diffusion 1.5 compiled to **Qualcomm Hexagon NPU context binaries** for the **Snapdragon 8 Gen 3**, via Qualcomm AI Hub (w8a16: int8 weights, int16 activations). Generates a 512x512 image in **~7 seconds** fully on the NPU (no CPU fallback). ## Chip-specific — read this QNN context binaries are compiled **per chip generation and will not load on another**. Pick the build matching your Snapdragon: | Repo | Chip | SoC | Hexagon | |---|---|---|---| | `sd15-npu-8elite` | Snapdragon 8 Elite | SM8750 | v79 | | `sd15-npu-8gen3` | Snapdragon 8 Gen 3 | SM8650 | v75 | ## Layout ``` unet.onnx + unet_qairt_context.bin # EPContext wrapper + Hexagon binary text_encoder.onnx + text_encoder_qairt_context.bin vae.onnx + vae_qairt_context.bin quant.txt # w8a16 scales, read at load tokenizer/{vocab.json, merges.txt} soc_model.txt, htp_arch.txt, kind.txt ``` The `.onnx` files are tiny EPContext wrappers carrying the quantize/dequantize nodes; the weights live in the `_qairt_context.bin` Hexagon binaries. Load them with ONNX Runtime's **C++** API — the Java API cannot express the uint16 tensors these require. `quant.txt` holds the w8a16 quantization scales, read at load rather than hardcoded, so one engine can drive any chip's build. ## License Derived from Stable Diffusion 1.5 (**CreativeML OpenRAIL-M**); the Attachment A use-restrictions travel with these weights. Compiled with Qualcomm AI Hub.