TokForge-SDXL-QNN-NPU / manifest.json
darkmaniac7's picture
Upload manifest.json with huggingface_hub
fe44251 verified
Raw
History Blame
16.2 kB
{
"schema": "tokforge-sdxl-qnn-npu/manifest@1",
"model": "realvisxl-v4.0-lightning",
"variant": "fp16-encoders + TAESDXL",
"scheduler": "EulerDiscrete",
"native_steps": 6,
"license": "openrail++",
"license_note": "RealVisXL V4.0 Lightning is released under the CreativeML OpenRAIL++-M license. Commercial use permitted; no revenue cap (unlike the prior SDXL-Turbo Stability AI Community License). Use-based restrictions per the OpenRAIL++ schedule apply.",
"generated": "2026-06-06T00:00:00Z",
"repo": "darkmaniac7/TokForge-SDXL-QNN-NPU",
"notes": [
"vc410: 'Faithful' NPU tier = RealVisXL-v4.0-Lightning, replacing cursed base SDXL-Turbo (few-step distillation -> fused heads / doubled bodies). Bin-only swap on the SAME W8A16 NPU recipe + IO contract; the driver default scheduler flips EulerAncestral -> EulerDiscrete (Lightning is distilled for deterministic few-step Euler) and native steps 4 -> 6.",
"App reads the device Hexagon arch (dsp_arch) and picks the matching native set. Four native sets ship: v73/v75/v79/v81. Forward-compat still applies (a lower-arch bin runs on a higher-arch DSP) as a fallback.",
"source=ours: clean-room RealVisXL -> W8A16 -> QAIRT 2.40 conversion, drop-in for our libsdxl_qnn_driver (graph name 'model', host combined-emb input).",
"verified=true = run on real silicon and confirmed coherent (no body-horror). V75 (Lenovo .69) + V81 (RedMagic .82) device-verified. v73/v79 offline-validated, awaiting handsets.",
"The 4 per-arch bins (unet/text_encoder_1_fp16/text_encoder_2_fp16/sdxl_emb_mlp) are the only RealVisXL swap; taesdxl_decoder.mnn (universal SDXL tiny-VAE) + the dual CLIP tokenizers + config are checkpoint-agnostic and byte-identical to the prior set."
],
"arch_to_socs": {
"73": {
"name": "Hexagon V73",
"socs": [
"SM8550 (Snapdragon 8 Gen 2)",
"SM8635 (8s Gen 3)",
"SM7475 (7+ Gen 3)"
]
},
"75": {
"name": "Hexagon V75",
"socs": [
"SM8650 (Snapdragon 8 Gen 3)",
"SM7675 (7 Gen 4)"
]
},
"79": {
"name": "Hexagon V79",
"socs": [
"SM8750 (Snapdragon 8 Elite)",
"SM8750-AB (8 Elite for Galaxy)"
]
},
"81": {
"name": "Hexagon V81",
"socs": [
"SM8850 (Snapdragon 8 Elite Gen 5)"
]
}
},
"io_contracts": {
"ours-sdxl-emb": {
"graph_name": "model",
"unet_inputs": {
"sample": "[1,4,128,128] UFIXED16 (NCHW, raw scheduler latent)",
"emb": "[1,1280] UFIXED16 host combined-emb = time_embedding(time_proj(t)) + add_embedding(cat(pooled, add_time_proj(time_ids))); computed host-side via sdxl_emb_mlp.bin",
"text_embedding": "[1,77,2048] UFIXED16 = concat CLIP-L last_hidden[1,77,768] ++ bigG last_hidden[1,77,1280]"
},
"unet_output": "output [1,4,128,128] UFIXED16",
"text_encoder_1": "CLIP-L: in input_ids INT32 [1,77] -> out last_hidden [1,77,768] (penultimate, hidden -2)",
"text_encoder_2": "OpenCLIP-bigG (+projection): in input_ids INT32 [1,77] -> out last_hidden [1,77,1280] + pooled [1,1280]",
"vae": "TAESDXL CPU tiny-VAE (taesdxl_decoder.mnn), in latent [1,4,128,128] -> out [1,3,1024,1024]; CPU MNN path only (SDXL_VAE_BACKEND=cpu)",
"scheduler": "EulerDiscrete (deterministic, sigma_up=0), trailing spacing, epsilon prediction, 6 steps native, guidance_scale 0 (NO CFG -> ONE UNet pass per step)",
"vae_scaling_factor": 0.13025,
"resolution": 1024,
"driver": "libsdxl_qnn_driver.so (#51 ImageGenerationSdxlNpuCliHelper); flags --text_encoder_1/--text_encoder_2/--unet/--vae_mnn/--emb_mlp/--vocab_1/--merges_1/--vocab_2/--merges_2/--backend/--system_library; env SDXL_VAE_BACKEND=cpu"
}
},
"sets": {
"ours/v73": {
"source": "ours",
"dsp_arch": 73,
"representative_soc": "SM8550 (Snapdragon 8 Gen 2)",
"soc_model": 43,
"qairt_runtime_required": "2.40",
"skel": "libQnnHtpV73Skel.so",
"io_contract": "ours-sdxl-emb",
"verified": false,
"verify_note": "Native v73 bins produced from the same arch-agnostic W8A16 DLC as the device-verified V75/V81 sets (only dsp_arch/soc_model differ); offline-validated, awaiting a handset.",
"files": {
"unet.bin": {
"path": "v73/unet.bin",
"size": 2637426688,
"md5": "704a3831c4b7b0307ebe6e09749e3116"
},
"text_encoder_1_fp16.bin": {
"path": "v73/text_encoder_1_fp16.bin",
"size": 234770432,
"md5": "52e4831a9d5cedb5ac5294048baeeb61"
},
"text_encoder_2_fp16.bin": {
"path": "v73/text_encoder_2_fp16.bin",
"size": 1401405440,
"md5": "0e007a1c5ea717e1cbd2a269b8551995"
},
"sdxl_emb_mlp.bin": {
"path": "v73/sdxl_emb_mlp.bin",
"size": 29184000,
"md5": "4716e990d5f83b194ebe90a0e695f3f5"
},
"taesdxl_decoder.mnn": {
"path": "v73/taesdxl_decoder.mnn",
"size": 2464388,
"md5": "bfbfb43faa70fc3885bfef24a60b8882"
},
"tokenizer/vocab.json": {
"path": "v73/tokenizer/vocab.json",
"size": 1059962,
"md5": "a3933521163a0e76cee6094f1d72a9cc"
},
"tokenizer/merges.txt": {
"path": "v73/tokenizer/merges.txt",
"size": 524619,
"md5": "d2bc10797e70c920c14c69729ecdab34"
},
"tokenizer/special_tokens_map.json": {
"path": "v73/tokenizer/special_tokens_map.json",
"size": 586,
"md5": "f1c97d73dc836331f2138893217d32d8"
},
"tokenizer/tokenizer_config.json": {
"path": "v73/tokenizer/tokenizer_config.json",
"size": 704,
"md5": "b0e83247e6c27802b6f2ccce2615e402"
},
"tokenizer_2/vocab.json": {
"path": "v73/tokenizer_2/vocab.json",
"size": 1059962,
"md5": "a3933521163a0e76cee6094f1d72a9cc"
},
"tokenizer_2/merges.txt": {
"path": "v73/tokenizer_2/merges.txt",
"size": 524619,
"md5": "d2bc10797e70c920c14c69729ecdab34"
},
"tokenizer_2/special_tokens_map.json": {
"path": "v73/tokenizer_2/special_tokens_map.json",
"size": 460,
"md5": "1f2ba80c3ba1db3a1729f82f0c2667ce"
},
"tokenizer_2/tokenizer_config.json": {
"path": "v73/tokenizer_2/tokenizer_config.json",
"size": 855,
"md5": "7a07b6cea8034258f7a153860e81bc41"
},
"config.json": {
"path": "v73/config.json",
"size": 941,
"md5": "cef955fa8c4175c7c4a540119507a35d"
}
}
},
"ours/v75": {
"source": "ours",
"dsp_arch": 75,
"representative_soc": "SM8650 (Snapdragon 8 Gen 3)",
"soc_model": 57,
"qairt_runtime_required": "2.40",
"skel": "libQnnHtpV75Skel.so",
"io_contract": "ours-sdxl-emb",
"verified": true,
"verify_note": "Device-verified coherent (no body-horror) on real SM8650 (Snapdragon 8 Gen 3)/v75 silicon, RealVisXL-v4.0-Lightning, 6-step EulerDiscrete, ~5s/1024px.",
"files": {
"unet.bin": {
"path": "v75/unet.bin",
"size": 2637357056,
"md5": "b477ffaed6e507348dc4b4d450c32fdc"
},
"text_encoder_1_fp16.bin": {
"path": "v75/text_encoder_1_fp16.bin",
"size": 234770432,
"md5": "7be99090bfe35217bcb98afeb854c125"
},
"text_encoder_2_fp16.bin": {
"path": "v75/text_encoder_2_fp16.bin",
"size": 1401405440,
"md5": "8a0df4338971687307d7fd074e5546a4"
},
"sdxl_emb_mlp.bin": {
"path": "v75/sdxl_emb_mlp.bin",
"size": 29184000,
"md5": "4716e990d5f83b194ebe90a0e695f3f5"
},
"taesdxl_decoder.mnn": {
"path": "v75/taesdxl_decoder.mnn",
"size": 2464388,
"md5": "bfbfb43faa70fc3885bfef24a60b8882"
},
"tokenizer/vocab.json": {
"path": "v75/tokenizer/vocab.json",
"size": 1059962,
"md5": "a3933521163a0e76cee6094f1d72a9cc"
},
"tokenizer/merges.txt": {
"path": "v75/tokenizer/merges.txt",
"size": 524619,
"md5": "d2bc10797e70c920c14c69729ecdab34"
},
"tokenizer/special_tokens_map.json": {
"path": "v75/tokenizer/special_tokens_map.json",
"size": 586,
"md5": "f1c97d73dc836331f2138893217d32d8"
},
"tokenizer/tokenizer_config.json": {
"path": "v75/tokenizer/tokenizer_config.json",
"size": 704,
"md5": "b0e83247e6c27802b6f2ccce2615e402"
},
"tokenizer_2/vocab.json": {
"path": "v75/tokenizer_2/vocab.json",
"size": 1059962,
"md5": "a3933521163a0e76cee6094f1d72a9cc"
},
"tokenizer_2/merges.txt": {
"path": "v75/tokenizer_2/merges.txt",
"size": 524619,
"md5": "d2bc10797e70c920c14c69729ecdab34"
},
"tokenizer_2/special_tokens_map.json": {
"path": "v75/tokenizer_2/special_tokens_map.json",
"size": 460,
"md5": "1f2ba80c3ba1db3a1729f82f0c2667ce"
},
"tokenizer_2/tokenizer_config.json": {
"path": "v75/tokenizer_2/tokenizer_config.json",
"size": 855,
"md5": "7a07b6cea8034258f7a153860e81bc41"
},
"config.json": {
"path": "v75/config.json",
"size": 941,
"md5": "8781f507a014bf14d668a911e60345a5"
}
}
},
"ours/v79": {
"source": "ours",
"dsp_arch": 79,
"representative_soc": "SM8750 (Snapdragon 8 Elite)",
"soc_model": 69,
"qairt_runtime_required": "2.40",
"skel": "libQnnHtpV79Skel.so",
"io_contract": "ours-sdxl-emb",
"verified": false,
"verify_note": "Native v79 bins produced from the same arch-agnostic W8A16 DLC as the device-verified V75/V81 sets (only dsp_arch/soc_model differ); offline-validated, awaiting a handset.",
"files": {
"unet.bin": {
"path": "v79/unet.bin",
"size": 2636988416,
"md5": "602f0e337957ffd3a96cea91d203ee25"
},
"text_encoder_1_fp16.bin": {
"path": "v79/text_encoder_1_fp16.bin",
"size": 234754048,
"md5": "9a2b348f99d3bb6a3780507a335c4370"
},
"text_encoder_2_fp16.bin": {
"path": "v79/text_encoder_2_fp16.bin",
"size": 1401307136,
"md5": "e412c07bf4fe1b1201173f77d856a26c"
},
"sdxl_emb_mlp.bin": {
"path": "v79/sdxl_emb_mlp.bin",
"size": 29184000,
"md5": "4716e990d5f83b194ebe90a0e695f3f5"
},
"taesdxl_decoder.mnn": {
"path": "v79/taesdxl_decoder.mnn",
"size": 2464388,
"md5": "bfbfb43faa70fc3885bfef24a60b8882"
},
"tokenizer/vocab.json": {
"path": "v79/tokenizer/vocab.json",
"size": 1059962,
"md5": "a3933521163a0e76cee6094f1d72a9cc"
},
"tokenizer/merges.txt": {
"path": "v79/tokenizer/merges.txt",
"size": 524619,
"md5": "d2bc10797e70c920c14c69729ecdab34"
},
"tokenizer/special_tokens_map.json": {
"path": "v79/tokenizer/special_tokens_map.json",
"size": 586,
"md5": "f1c97d73dc836331f2138893217d32d8"
},
"tokenizer/tokenizer_config.json": {
"path": "v79/tokenizer/tokenizer_config.json",
"size": 704,
"md5": "b0e83247e6c27802b6f2ccce2615e402"
},
"tokenizer_2/vocab.json": {
"path": "v79/tokenizer_2/vocab.json",
"size": 1059962,
"md5": "a3933521163a0e76cee6094f1d72a9cc"
},
"tokenizer_2/merges.txt": {
"path": "v79/tokenizer_2/merges.txt",
"size": 524619,
"md5": "d2bc10797e70c920c14c69729ecdab34"
},
"tokenizer_2/special_tokens_map.json": {
"path": "v79/tokenizer_2/special_tokens_map.json",
"size": 460,
"md5": "1f2ba80c3ba1db3a1729f82f0c2667ce"
},
"tokenizer_2/tokenizer_config.json": {
"path": "v79/tokenizer_2/tokenizer_config.json",
"size": 855,
"md5": "7a07b6cea8034258f7a153860e81bc41"
},
"config.json": {
"path": "v79/config.json",
"size": 941,
"md5": "833cad64ed3e35accaecb27c1dd53099"
}
}
},
"ours/v81": {
"source": "ours",
"dsp_arch": 81,
"representative_soc": "SM8850 (Snapdragon 8 Elite Gen 5)",
"soc_model": 87,
"qairt_runtime_required": "2.40",
"skel": "libQnnHtpV81Skel.so",
"io_contract": "ours-sdxl-emb",
"verified": true,
"verify_note": "Device-verified coherent (no body-horror) on real SM8850 (Snapdragon 8 Elite Gen 5)/v81 silicon, RealVisXL-v4.0-Lightning, 6-step EulerDiscrete, ~5s/1024px.",
"files": {
"unet.bin": {
"path": "v81/unet.bin",
"size": 2636988416,
"md5": "602f0e337957ffd3a96cea91d203ee25"
},
"text_encoder_1_fp16.bin": {
"path": "v81/text_encoder_1_fp16.bin",
"size": 234754048,
"md5": "9a2b348f99d3bb6a3780507a335c4370"
},
"text_encoder_2_fp16.bin": {
"path": "v81/text_encoder_2_fp16.bin",
"size": 1401307136,
"md5": "e412c07bf4fe1b1201173f77d856a26c"
},
"sdxl_emb_mlp.bin": {
"path": "v81/sdxl_emb_mlp.bin",
"size": 29184000,
"md5": "4716e990d5f83b194ebe90a0e695f3f5"
},
"taesdxl_decoder.mnn": {
"path": "v81/taesdxl_decoder.mnn",
"size": 2464388,
"md5": "bfbfb43faa70fc3885bfef24a60b8882"
},
"tokenizer/vocab.json": {
"path": "v81/tokenizer/vocab.json",
"size": 1059962,
"md5": "a3933521163a0e76cee6094f1d72a9cc"
},
"tokenizer/merges.txt": {
"path": "v81/tokenizer/merges.txt",
"size": 524619,
"md5": "d2bc10797e70c920c14c69729ecdab34"
},
"tokenizer/special_tokens_map.json": {
"path": "v81/tokenizer/special_tokens_map.json",
"size": 586,
"md5": "f1c97d73dc836331f2138893217d32d8"
},
"tokenizer/tokenizer_config.json": {
"path": "v81/tokenizer/tokenizer_config.json",
"size": 704,
"md5": "b0e83247e6c27802b6f2ccce2615e402"
},
"tokenizer_2/vocab.json": {
"path": "v81/tokenizer_2/vocab.json",
"size": 1059962,
"md5": "a3933521163a0e76cee6094f1d72a9cc"
},
"tokenizer_2/merges.txt": {
"path": "v81/tokenizer_2/merges.txt",
"size": 524619,
"md5": "d2bc10797e70c920c14c69729ecdab34"
},
"tokenizer_2/special_tokens_map.json": {
"path": "v81/tokenizer_2/special_tokens_map.json",
"size": 460,
"md5": "1f2ba80c3ba1db3a1729f82f0c2667ce"
},
"tokenizer_2/tokenizer_config.json": {
"path": "v81/tokenizer_2/tokenizer_config.json",
"size": 855,
"md5": "7a07b6cea8034258f7a153860e81bc41"
},
"config.json": {
"path": "v81/config.json",
"size": 941,
"md5": "99a5de2749b967ba0880434c1fac6041"
}
}
}
},
"driver_required_files": [
"unet.bin",
"text_encoder_1_fp16.bin",
"text_encoder_2_fp16.bin",
"sdxl_emb_mlp.bin",
"taesdxl_decoder.mnn",
"tokenizer/vocab.json",
"tokenizer/merges.txt",
"tokenizer_2/vocab.json",
"tokenizer_2/merges.txt"
],
"install_marker_files": [
"unet.bin",
"text_encoder_1_fp16.bin",
"text_encoder_2_fp16.bin",
"taesdxl_decoder.mnn"
],
"bundle_dir_name": "SDXL-QNN-NPU",
"model_id": "image-sdxl-qnn-npu",
"total_bytes": 17232519072,
"total_human": "17.23 GB per arch set (17232519072 bytes summed across 4 sets)",
"optional_files": []
}