Neodragon on Snapdragon 8 Elite (SM8750) β€” QNN context binaries

Pre-compiled QAIRT / QNN context binaries for the Neodragon autoregressive text-to-video pipeline, targeting the Hexagon HTP v79 NPU in the Samsung Galaxy S25 Ultra (SM8750).

These are the exact artefacts the companion Android app loads at runtime. They are device-specific: compiled for soc_model 69 / HTP v79. They will not load on a v75 or earlier Hexagon.

Contents

13 binaries. The three mmdit_*fs graphs replace the older mmdit_s0g/s1f/s2f, which may still be present for rollback.

file bytes role
mmdit_s0fs_v79.bin 1,525,163,128 Pyramidal MMDiT, stage 0 (408 tokens)
mmdit_s1fs_v79.bin 1,533,523,064 Pyramidal MMDiT, stage 1 (648 tokens)
mmdit_s2fs_v79.bin 1,573,344,888 Pyramidal MMDiT, stage 2 (1728 tokens)
quicksrm2x_v79.bin 377,880 QuickSRNet Medium 2x, 320x512 -> 640x1024
ctxadaptfp16_v79.bin 260,531,784 Context adapter (FP16)
distilt5f_v79.bin 260,050,504 DistilT5 text encoder
vaeenc_v79.bin 41,667,768 Causal video VAE encoder
vaedecsn_v79.bin 12,104,632 Causal video VAE decoder (streaming, NHWC states)
clipl_v79.bin 233,993,824 CLIP L (first-frame path)
cliplp_v79.bin 249,451,112 CLIP L with projection (video path, pooled)
clipg_v79.bin 1,402,277,416 CLIP G
ssd1bunet_v79.bin 1,358,184,480 SSD-1B UNet (LCM, 4 steps)
ssd1bvaedec_v79.bin 85,467,216 SSD-1B VAE decoder

The *fs MMDiT binaries supersede mmdit_s0g / s1f / s2f. They contract the attention score once at full width instead of as two half-width MatMuls plus an add. That is arithmetically identical in fp32 (126 dB against the stock model) but avoids quantising two large, partially-cancelling terms separately -- worth +10.9 / +12.2 / +12.0 dB, and it puts every stage past its paper target for the first time. Accelerator cycles fall 4.4% as well.

Byte sizes are load-bearing: the app verifies every download by exact length. Large transfers to this device have silently truncated more than once while reporting success.

Quantization and measured accuracy

All graphs are W8A16 (per-channel 8-bit weights, 16-bit activations) except the context adapter, which is FP16. Deploy SNR is measured on device against the fp32 reference, per module:

module measured paper target
DistilT5 49.04 dB β€”
VAE encoder 41.60 dB 40
VAE decoder 34.27 dB 35
MMDiT stage 0 39.67 dB 29
MMDiT stage 1 37.80 dB 22
MMDiT stage 2 33.89 dB 24
SSD-1B UNet 32.51 dB β€”
QuickSRNet not yet measured 48

QuickSRNet here is W8A16 + CLE. The paper uses W8A16 + AdaRound and credits AdaRound with "7+ dB SQNR" on this module, so expect it to land below 48 dB.

Measured latency (S25 Ultra, on device)

Prompt -> 49-frame video: 23.5-26.9 s (measured before the *fs rebuild). Prompt -> single 640x1024 image: 2.1-2.5 s warm, ~5 s on the first tap of a cold app. Peak app RSS 238-268 MB (binaries are mmap'd, never heap-copied).

Usage

The app fetches each file from <baseUrl>/<name>_v79.bin and places it in its external files dir. For this repo:

https://huggingface.co/AbrahamPJ/neodragon-npu-s25u/resolve/main

This repo is private; the download path sends an Authorization: Bearer <hf_token> header. Use a fine-grained, read-only token scoped to this repo.

Provenance and license

Converted from Qualcomm-AI-Research/Neodragon, which is released under BSD-3-Clause-Clear. That license governs these derived artefacts, and its terms β€” including the patent clause β€” carry over. Original work and weights are Qualcomm's; this repo contains only a device-specific recompilation.

Paper: Neodragon, arXiv:2511.06055.

Conversion toolchain: QAIRT SDK 2.49.0.260730 (qnn-onnx-converter β†’ qnn-context-binary-generator). The QAIRT SDK itself is not redistributed here.

Port and conversion work: T2V_NPU.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Paper for AbrahamPJ/neodragon-npu-s25u