Qualify S24 CPU talker step and S25 CPU vocoder placement
This commit is contained in:
1 parent
2932407f82
commit
310de75408
11 files changed
+19161
-14
No files matched your search
@@ -1,10 +1,10 @@
|
||||
# 2026-09-24 Qualcomm component expansion
|
||||
|
||||
The [Qwen3-TTS vocoder study](evidence/qwen_tts_vocoder_qualcomm/README.md) reuses a retained fixed-shape Code2Wav export and historical Workbench input to test numerical behavior on SA8775P and other Qualcomm settings. The fresh SA8775P GPU-requested inference produces a saturated waveform, while the same binary's CPU-requested output on the exact SA device matches ONNX CPU within 4.13e-6 relative L2. Its 100-sample CPU-requested component profile had p50/p95 5.384/5.534 s with all 738 execution-detail rows on CPU. A FP32-preserving GPU-option control still saturated 84.89% of samples, so that option did not repair the tested path. RB3 GPU-requested execution produces an unsaturated but 15.73%-divergent waveform; its fresh 100-sample mixed CPU/GPU component p50/p95 was 3.099/3.133 s, not a usable TTS timing claim. On the exact RB3 device, the same binary requested on CPU matched original ONNX CPU within 4.13e-6 relative L2 on the retained fixture; its 47-sample component profile measured p50/p95 12.727/13.424 s with all 738 execution-detail rows on CPU. This is a major streaming-latency blocker. A single-fixture-calibrated RB3 INT8 QNN vocoder returned a finite but 66.93%-relative-L2 divergent waveform (3.49 dB SNR) versus ONNX CPU; NPU node placement is pending, and its audio is numerically unqualified. X Elite ONNX CPU output matches the local ONNX Runtime reference on the retained fixture; its 94-sample component p50/p95 was 6.384/6.644 s with all execution-detail rows on CPU. Corrected X Elite DirectML inference and profile both failed during provider initialization; separate FP16 QNN DLC inference returned an unsaturated waveform at 1.138% relative L2 / 38.88 dB SNR against original ONNX CPU; its placement profile timed out during QNN graph preparation without samples. A separate SA8775P FP16 QNN vocoder compile passed, but same-fixture NPU-requested inference failed after compilation without a waveform or placement samples. Fresh S24 and S25 CPU-requested TFLite vocoder inferences matched ONNX CPU within 4.04e-6 relative L2 on the retained fixture; both placement profiles are pending. No complete on-device TTS stream or model-quality qualification is claimed.
|
||||
The [Qwen3-TTS vocoder study](evidence/qwen_tts_vocoder_qualcomm/README.md) reuses a retained fixed-shape Code2Wav export and historical Workbench input to test numerical behavior on SA8775P and other Qualcomm settings. The fresh SA8775P GPU-requested inference produces a saturated waveform, while the same binary's CPU-requested output on the exact SA device matches ONNX CPU within 4.13e-6 relative L2. Its 100-sample CPU-requested component profile had p50/p95 5.384/5.534 s with all 738 execution-detail rows on CPU. A FP32-preserving GPU-option control still saturated 84.89% of samples, so that option did not repair the tested path. RB3 GPU-requested execution produces an unsaturated but 15.73%-divergent waveform; its fresh 100-sample mixed CPU/GPU component p50/p95 was 3.099/3.133 s, not a usable TTS timing claim. On the exact RB3 device, the same binary requested on CPU matched original ONNX CPU within 4.13e-6 relative L2 on the retained fixture; its 47-sample component profile measured p50/p95 12.727/13.424 s with all 738 execution-detail rows on CPU. This is a major streaming-latency blocker. A single-fixture-calibrated RB3 INT8 QNN vocoder returned a finite but 66.93%-relative-L2 divergent waveform (3.49 dB SNR) versus ONNX CPU; NPU node placement is pending, and its audio is numerically unqualified. X Elite ONNX CPU output matches the local ONNX Runtime reference on the retained fixture; its 94-sample component p50/p95 was 6.384/6.644 s with all execution-detail rows on CPU. Corrected X Elite DirectML inference and profile both failed during provider initialization; separate FP16 QNN DLC inference returned an unsaturated waveform at 1.138% relative L2 / 38.88 dB SNR against original ONNX CPU; its placement profile timed out during QNN graph preparation without samples. A separate SA8775P FP16 QNN vocoder compile passed, but same-fixture NPU-requested inference failed after compilation without a waveform or placement samples. Fresh S24 and S25 CPU-requested TFLite vocoder inferences matched ONNX CPU within 4.04e-6 relative L2 on the retained fixture. S25 measured 100 component samples at p50/p95 4.418/4.641 s with all 738 execution-detail rows on CPU; S24 placement profiling is pending. No complete on-device TTS stream or model-quality qualification is claimed.
|
||||
|
||||
A local HX370 x86-64 LiteRT CPU control of the identical SA/RB3 TFLite binary matched the original ONNX CPU waveform within 3.45e-6 relative L2. The SA saturation is therefore not universal to the converted artifact; the exact SA CPU control passed numerical and placement checks, while the faulty GPU delegate operation remains unidentified.
|
||||
|
||||
The [talker decode-step attempt](evidence/qwen_tts_talker_qualcomm/README.md) pins a separate 28-layer source and synthetic cache fixture. Historical FP16 QNN context-binary inference executed on S24, S25, SA8775P and X Elite, but all four changed the CPU top-1 speech token with 8.57–9.43% logits relative L2. These artifacts are numerically unqualified on the fixture. RB3 rejected the floating-point-input artifact. Explicit X Elite ONNX CPU and SA8775P TFLite CPU fallback compiles passed. X Elite CPU-requested inference preserved CPU top-1 token 80 with logits relative L2 2.07e-5; its 100-sample decode-step profile measured p50/p95 191.414/309.428 ms, all 1,744 execution-detail rows on CPU. SA8775P TFLite CPU-requested talker inference also preserved token 80 with logits relative L2 3.33e-5; its 100-sample decode-step profile measured p50/p95 52.635/76.925 ms, all 1,800 execution-detail rows on CPU. A new RB3 TFLite CPU-requested step preserved token 80 with logits relative L2 2.29e-5 and maximum new-cache relative L2 3.04e-5; its 100-sample profile measured p50/p95 138.022/139.642 ms with all 1,800 execution-detail rows on CPU. No complete talker loop or TTS stream passed.
|
||||
The [talker decode-step attempt](evidence/qwen_tts_talker_qualcomm/README.md) pins a separate 28-layer source and synthetic cache fixture. Historical FP16 QNN context-binary inference executed on S24, S25, SA8775P and X Elite, but all four changed the CPU top-1 speech token with 8.57–9.43% logits relative L2. These artifacts are numerically unqualified on the fixture. RB3 rejected the floating-point-input artifact. Explicit X Elite ONNX CPU and SA8775P TFLite CPU fallback compiles passed. X Elite CPU-requested inference preserved CPU top-1 token 80 with logits relative L2 2.07e-5; its 100-sample decode-step profile measured p50/p95 191.414/309.428 ms, all 1,744 execution-detail rows on CPU. SA8775P TFLite CPU-requested talker inference also preserved token 80 with logits relative L2 3.33e-5; its 100-sample decode-step profile measured p50/p95 52.635/76.925 ms, all 1,800 execution-detail rows on CPU. A new RB3 TFLite CPU-requested step preserved token 80 with logits relative L2 2.29e-5 and maximum new-cache relative L2 3.04e-5; its 100-sample profile measured p50/p95 138.022/139.642 ms with all 1,800 execution-detail rows on CPU. A new S24 TFLite CPU-requested talker step preserved token 80 with logits relative L2 3.33e-5 and maximum new-cache relative L2 3.41e-5; its 100-sample profile measured p50/p95 36.976/43.264 ms with all 1,800 execution-detail rows on CPU. No complete talker loop or TTS stream passed.
|
||||
|
||||
The [MiniCPM-o speech-head study](evidence/minicpmo_tts_qualcomm/README.md) recovered the real 20-layer ONNX source and a matching retained fixture. S24 and S25 FP16 context-binary outputs preserved the ONNX CPU top-1 speech token with 0.346%/0.360% logits relative L2 on one step. Their 100-sample component profiles had p50/p95 8.537/9.006 ms and 7.197/7.615 ms, with all 1,029 execution-detail rows on NPU for each. FP16 QNN DLC compiles passed for SA8775P, X Elite and RB3. SA8775P NPU-requested inference preserved CPU top-1 token 1867 with 0.3568% logits relative L2; its 100-sample profile measured p50/p95 11.901/13.038 ms, all 944 execution-detail rows on NPU. X Elite same-fixture inference also preserved token 1867 with 0.3170% logits relative L2; its 100-sample profile measured p50/p95 9.905/11.037 ms, all 944 execution-detail rows on NPU. RB3 FP16 QNN inference failed at graph load despite compile success; an explicit TFLite CPU fallback same-fixture inference preserved top-1 token 1867 with logits relative L2 1.26e-6 versus ONNX CPU; its 100-sample CPU-requested profile measured p50/p95 59.518/71.347 ms with all 1,008 execution-detail rows on CPU. The complete multimodal model remains unqualified on those devices.
|
||||
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ Explicit [X Elite ONNX CPU](xelite/cpu_fallback/compile_report.json) and [SA8775
|
||||
|
||||
An exact RB3 Gen 2 [TFLite CPU fallback compile](rb3/cpu_fallback/compile_report.json) succeeded from the same ONNX talker step, producing target mnz07g9xm. [Same-fixture CPU-requested inference](rb3/cpu_fallback/inference_report.json) returned 57 finite output tensors. Its [full audit](rb3/cpu_fallback/audit_report.json) preserved ONNX CPU top-1 speech token 80, with logits relative L2 **2.29e-5** and maximum new-cache relative L2 **3.04e-5**. The [placement profile](rb3/cpu_fallback/profile_report.json) returned **100** decode-step samples at nearest-rank p50/p95 **138.022/139.642 ms**, with all **1,800 execution-detail rows on CPU**. Reported inference peak memory was **1,849,708,544 bytes**; the 137.543 ms estimated-time field is the sample minimum. The earlier RB3 FP16 QNN rejection remains the result for that specific NPU artifact. No predictor, vocoder handoff, stateful loop or complete TTS stream was tested.
|
||||
|
||||
Matching TFLite CPU fallback [S24](s24/cpu_fallback/compile_report.json) and [S25](s25/cpu_fallback/compile_report.json) talker compiles have succeeded from the same source. Their same-fixture CPU [S24 inference/profile](s24/cpu_fallback/inference_submission.json) and [S25 inference/profile](s25/cpu_fallback/inference_submission.json) jobs are pending; neither mobile CPU talker route is numerically or placement qualified yet.
|
||||
Matching TFLite CPU fallback [S24](s24/cpu_fallback/compile_report.json) and [S25](s25/cpu_fallback/compile_report.json) talker compiles have succeeded from the same source. [S24 same-fixture CPU-requested inference](s24/cpu_fallback/inference_report.json) returned 57 finite output tensors and preserved ONNX CPU top-1 speech token 80, with logits relative L2 **3.33e-5** and maximum new-cache relative L2 **3.41e-5**. Its [placement profile](s24/cpu_fallback/profile_report.json) returned **100** decode-step samples at nearest-rank p50/p95 **36.976/43.264 ms**, with all **1,800 execution-detail rows on CPU** and reported inference peak memory **1,922,400,256 bytes**. The [full audit](s24/cpu_fallback/audit_report.json) binds numerical output and placement. [S25 CPU inference](s25/cpu_fallback/inference_submission.json) and [profile](s25/cpu_fallback/profile_submission.json) are pending. Neither mobile route has passed a complete talker loop or TTS stream.
|
||||
|
||||
The [collector](../../../../experiments/collect_aihub_component.py) retrieves terminal inference outputs without resubmission. The [tensor auditor](../../../../experiments/audit_qwen_tts_talker_qualcomm.py) enforces the source, fixture, compile target, exact device, output shape and finiteness contracts, and reports logits top-1 plus relative error for all 56 new K/V tensors. It does not convert those metrics to a quality pass without an explicit token/audio tolerance. Its 57-output contract was exercised against the pinned CPU reference as a local self-check; that self-check is not device evidence. Requested NPU placement still needs a profile.
|
||||
|
||||
|
||||
+414
@@ -0,0 +1,414 @@
|
||||
{
|
||||
"scope": "one synthetic fixed-cache 28-layer Qwen3-TTS talker decode step; no complete TTS stream",
|
||||
"status": "component_inference_numeric_and_placement_measured",
|
||||
"device": {
|
||||
"name": "Samsung Galaxy S24",
|
||||
"os": "14",
|
||||
"attributes": [
|
||||
"os:android",
|
||||
"framework:tflite",
|
||||
"framework:onnx",
|
||||
"abi:aarch64-android",
|
||||
"vendor:samsung",
|
||||
"format:phone",
|
||||
"chipset:qualcomm-snapdragon-8gen3",
|
||||
"chipset:sm8650",
|
||||
"hexagon:v75",
|
||||
"soc-model:57",
|
||||
"htp-supports-fp16:true",
|
||||
"htp-supports-weight-sharing:true",
|
||||
"framework:qnn"
|
||||
]
|
||||
},
|
||||
"compile_job_id": "jprl0k60p",
|
||||
"inference_job_id": "jp0mjy39g",
|
||||
"source_model_id": "mq3xre4rq",
|
||||
"target_model_id": "mm5v0zz2n",
|
||||
"input_dataset_id": "d7dw6pgy2",
|
||||
"requested_run_options": "--compute_unit cpu",
|
||||
"files": {
|
||||
"source_onnx": {
|
||||
"bytes": 1776377476,
|
||||
"sha256": "41feb08517678e94d9301e992d0df610fc60e7c9faba5600703298c86554fd22"
|
||||
},
|
||||
"fixture": {
|
||||
"bytes": 54591500,
|
||||
"sha256": "0bf538e1b64dfc9737dc4f925d61c6e4ffa5075a5dcd7afb1e85ac3bd2d9afea"
|
||||
},
|
||||
"cpu_reference": {
|
||||
"bytes": 237615,
|
||||
"sha256": "ee0ead70e33c02c7d3d6bcb757c5cf0fcbb9eb6fc75c34abfbe8a4479657d5be"
|
||||
},
|
||||
"device_output": {
|
||||
"bytes": 238220,
|
||||
"sha256": "d626313b519bb4fc4c831006fffaee38fd4aa70d722dd1538d8a6c01b70d7867"
|
||||
}
|
||||
},
|
||||
"tensor_comparison": {
|
||||
"logits": {
|
||||
"relative_l2": 3.331033983520798e-05,
|
||||
"max_abs_error": 0.0005044937133789062,
|
||||
"reference_rms": 3.7322664515389006,
|
||||
"output_rms": 3.7322871955970216,
|
||||
"cpu_top1": 80,
|
||||
"device_top1": 80,
|
||||
"top1_matches": true
|
||||
},
|
||||
"k_new_0": {
|
||||
"relative_l2": 6.41859715811326e-07,
|
||||
"max_abs_error": 5.4836273193359375e-06,
|
||||
"reference_rms": 1.1349352034374294,
|
||||
"output_rms": 1.1349351709221114
|
||||
},
|
||||
"v_new_0": {
|
||||
"relative_l2": 5.546668908680807e-07,
|
||||
"max_abs_error": 4.172325134277344e-07,
|
||||
"reference_rms": 0.1383137764927112,
|
||||
"output_rms": 0.13831377250963336
|
||||
},
|
||||
"k_new_1": {
|
||||
"relative_l2": 7.812657805080547e-07,
|
||||
"max_abs_error": 6.67572021484375e-06,
|
||||
"reference_rms": 1.4773734279001252,
|
||||
"output_rms": 1.4773734396048948
|
||||
},
|
||||
"v_new_1": {
|
||||
"relative_l2": 7.78749242327241e-07,
|
||||
"max_abs_error": 5.364418029785156e-07,
|
||||
"reference_rms": 0.162893856079411,
|
||||
"output_rms": 0.16289386013484586
|
||||
},
|
||||
"k_new_2": {
|
||||
"relative_l2": 1.186014449990387e-06,
|
||||
"max_abs_error": 8.106231689453125e-06,
|
||||
"reference_rms": 1.4749251890370425,
|
||||
"output_rms": 1.47492518399937
|
||||
},
|
||||
"v_new_2": {
|
||||
"relative_l2": 1.316425277428931e-06,
|
||||
"max_abs_error": 1.4901161193847656e-06,
|
||||
"reference_rms": 0.2996575863196337,
|
||||
"output_rms": 0.29965761945737535
|
||||
},
|
||||
"k_new_3": {
|
||||
"relative_l2": 1.6878881835662733e-06,
|
||||
"max_abs_error": 1.0013580322265625e-05,
|
||||
"reference_rms": 1.4529848472712377,
|
||||
"output_rms": 1.4529848958161073
|
||||
},
|
||||
"v_new_3": {
|
||||
"relative_l2": 1.725930691703213e-06,
|
||||
"max_abs_error": 1.996755599975586e-06,
|
||||
"reference_rms": 0.2917197159228712,
|
||||
"output_rms": 0.2917197750423004
|
||||
},
|
||||
"k_new_4": {
|
||||
"relative_l2": 1.8865986561149933e-06,
|
||||
"max_abs_error": 1.3113021850585938e-05,
|
||||
"reference_rms": 1.5413980317857385,
|
||||
"output_rms": 1.5413980576547086
|
||||
},
|
||||
"v_new_4": {
|
||||
"relative_l2": 2.3368984447896167e-06,
|
||||
"max_abs_error": 4.649162292480469e-06,
|
||||
"reference_rms": 0.41222657123793377,
|
||||
"output_rms": 0.4122263786035369
|
||||
},
|
||||
"k_new_5": {
|
||||
"relative_l2": 2.0853483454807167e-06,
|
||||
"max_abs_error": 1.7642974853515625e-05,
|
||||
"reference_rms": 1.6285454176549035,
|
||||
"output_rms": 1.6285453502824736
|
||||
},
|
||||
"v_new_5": {
|
||||
"relative_l2": 2.562214049334086e-06,
|
||||
"max_abs_error": 3.2633543014526367e-06,
|
||||
"reference_rms": 0.32638470026742417,
|
||||
"output_rms": 0.3263846774219926
|
||||
},
|
||||
"k_new_6": {
|
||||
"relative_l2": 2.4273033082861673e-06,
|
||||
"max_abs_error": 1.7821788787841797e-05,
|
||||
"reference_rms": 1.8000231156167423,
|
||||
"output_rms": 1.800023142312508
|
||||
},
|
||||
"v_new_6": {
|
||||
"relative_l2": 2.980671073998213e-06,
|
||||
"max_abs_error": 2.562999725341797e-06,
|
||||
"reference_rms": 0.2629708328253682,
|
||||
"output_rms": 0.2629707830503696
|
||||
},
|
||||
"k_new_7": {
|
||||
"relative_l2": 2.7560247397012616e-06,
|
||||
"max_abs_error": 1.8775463104248047e-05,
|
||||
"reference_rms": 1.6255722851184644,
|
||||
"output_rms": 1.6255724328204177
|
||||
},
|
||||
"v_new_7": {
|
||||
"relative_l2": 3.009527885433782e-06,
|
||||
"max_abs_error": 3.7103891372680664e-06,
|
||||
"reference_rms": 0.348368074126628,
|
||||
"output_rms": 0.34836798650991385
|
||||
},
|
||||
"k_new_8": {
|
||||
"relative_l2": 2.8886881992446257e-06,
|
||||
"max_abs_error": 1.5497207641601562e-05,
|
||||
"reference_rms": 1.516512353065435,
|
||||
"output_rms": 1.5165123283605657
|
||||
},
|
||||
"v_new_8": {
|
||||
"relative_l2": 3.5475424303688497e-06,
|
||||
"max_abs_error": 3.5017728805541992e-06,
|
||||
"reference_rms": 0.28027916002007797,
|
||||
"output_rms": 0.28027912602147936
|
||||
},
|
||||
"k_new_9": {
|
||||
"relative_l2": 3.5159477630415095e-06,
|
||||
"max_abs_error": 3.0994415283203125e-05,
|
||||
"reference_rms": 1.5960043895576705,
|
||||
"output_rms": 1.5960044173808783
|
||||
},
|
||||
"v_new_9": {
|
||||
"relative_l2": 4.651931229445717e-06,
|
||||
"max_abs_error": 6.854534149169922e-06,
|
||||
"reference_rms": 0.37541008682864946,
|
||||
"output_rms": 0.37540993143659396
|
||||
},
|
||||
"k_new_10": {
|
||||
"relative_l2": 4.900820154855892e-06,
|
||||
"max_abs_error": 3.3736228942871094e-05,
|
||||
"reference_rms": 1.6561161468173449,
|
||||
"output_rms": 1.6561161320387674
|
||||
},
|
||||
"v_new_10": {
|
||||
"relative_l2": 6.008033137848697e-06,
|
||||
"max_abs_error": 7.659196853637695e-06,
|
||||
"reference_rms": 0.26429778504066537,
|
||||
"output_rms": 0.2642976398997342
|
||||
},
|
||||
"k_new_11": {
|
||||
"relative_l2": 5.538137929150415e-06,
|
||||
"max_abs_error": 4.100799560546875e-05,
|
||||
"reference_rms": 1.5170462775366995,
|
||||
"output_rms": 1.5170463147367288
|
||||
},
|
||||
"v_new_11": {
|
||||
"relative_l2": 7.280477368164582e-06,
|
||||
"max_abs_error": 5.751848220825195e-06,
|
||||
"reference_rms": 0.22548908846990579,
|
||||
"output_rms": 0.22548940933120534
|
||||
},
|
||||
"k_new_12": {
|
||||
"relative_l2": 5.610020854635279e-06,
|
||||
"max_abs_error": 4.4018030166625977e-05,
|
||||
"reference_rms": 1.5731131793440647,
|
||||
"output_rms": 1.5731131524644366
|
||||
},
|
||||
"v_new_12": {
|
||||
"relative_l2": 7.293097494635962e-06,
|
||||
"max_abs_error": 5.304813385009766e-06,
|
||||
"reference_rms": 0.20839677682266325,
|
||||
"output_rms": 0.20839708359611164
|
||||
},
|
||||
"k_new_13": {
|
||||
"relative_l2": 6.5287105558340404e-06,
|
||||
"max_abs_error": 3.6716461181640625e-05,
|
||||
"reference_rms": 1.4939452330557514,
|
||||
"output_rms": 1.493945267434375
|
||||
},
|
||||
"v_new_13": {
|
||||
"relative_l2": 8.551514193977214e-06,
|
||||
"max_abs_error": 8.13603401184082e-06,
|
||||
"reference_rms": 0.24929462665621008,
|
||||
"output_rms": 0.2492946827129621
|
||||
},
|
||||
"k_new_14": {
|
||||
"relative_l2": 6.317748645220851e-06,
|
||||
"max_abs_error": 5.221366882324219e-05,
|
||||
"reference_rms": 1.4942429579997731,
|
||||
"output_rms": 1.4942429074787813
|
||||
},
|
||||
"v_new_14": {
|
||||
"relative_l2": 9.698764096173352e-06,
|
||||
"max_abs_error": 1.0907649993896484e-05,
|
||||
"reference_rms": 0.32824019866053383,
|
||||
"output_rms": 0.32824087669987645
|
||||
},
|
||||
"k_new_15": {
|
||||
"relative_l2": 7.545003744283523e-06,
|
||||
"max_abs_error": 4.684925079345703e-05,
|
||||
"reference_rms": 1.6561072116211841,
|
||||
"output_rms": 1.656107586393447
|
||||
},
|
||||
"v_new_15": {
|
||||
"relative_l2": 1.040090620524768e-05,
|
||||
"max_abs_error": 7.987022399902344e-06,
|
||||
"reference_rms": 0.24976283574047556,
|
||||
"output_rms": 0.2497631348328584
|
||||
},
|
||||
"k_new_16": {
|
||||
"relative_l2": 1.031865175719673e-05,
|
||||
"max_abs_error": 6.902217864990234e-05,
|
||||
"reference_rms": 1.617983543941328,
|
||||
"output_rms": 1.6179835067073707
|
||||
},
|
||||
"v_new_16": {
|
||||
"relative_l2": 1.2340793550880162e-05,
|
||||
"max_abs_error": 1.4930963516235352e-05,
|
||||
"reference_rms": 0.3826095020438836,
|
||||
"output_rms": 0.382609431434366
|
||||
},
|
||||
"k_new_17": {
|
||||
"relative_l2": 1.364752866368525e-05,
|
||||
"max_abs_error": 0.00011086463928222656,
|
||||
"reference_rms": 1.6828817809060599,
|
||||
"output_rms": 1.6828815141215723
|
||||
},
|
||||
"v_new_17": {
|
||||
"relative_l2": 1.5309009447573964e-05,
|
||||
"max_abs_error": 2.4215085431933403e-05,
|
||||
"reference_rms": 0.4656876133547257,
|
||||
"output_rms": 0.465687659857562
|
||||
},
|
||||
"k_new_18": {
|
||||
"relative_l2": 1.7327177701967923e-05,
|
||||
"max_abs_error": 0.00010457634925842285,
|
||||
"reference_rms": 1.5546463592216835,
|
||||
"output_rms": 1.5546464752655822
|
||||
},
|
||||
"v_new_18": {
|
||||
"relative_l2": 2.128800872936032e-05,
|
||||
"max_abs_error": 4.41577285528183e-05,
|
||||
"reference_rms": 0.5200020604619255,
|
||||
"output_rms": 0.5200025142449275
|
||||
},
|
||||
"k_new_19": {
|
||||
"relative_l2": 1.8042827459263795e-05,
|
||||
"max_abs_error": 0.00013488531112670898,
|
||||
"reference_rms": 1.5217070844504548,
|
||||
"output_rms": 1.5217069635057079
|
||||
},
|
||||
"v_new_19": {
|
||||
"relative_l2": 2.1659253215830757e-05,
|
||||
"max_abs_error": 4.214048385620117e-05,
|
||||
"reference_rms": 0.5402920798790236,
|
||||
"output_rms": 0.5402928656440517
|
||||
},
|
||||
"k_new_20": {
|
||||
"relative_l2": 2.0890461924866316e-05,
|
||||
"max_abs_error": 0.0001780986785888672,
|
||||
"reference_rms": 1.6813854859968058,
|
||||
"output_rms": 1.681385616023159
|
||||
},
|
||||
"v_new_20": {
|
||||
"relative_l2": 2.534319458677437e-05,
|
||||
"max_abs_error": 6.563961505889893e-05,
|
||||
"reference_rms": 0.6088730895277438,
|
||||
"output_rms": 0.6088739110709308
|
||||
},
|
||||
"k_new_21": {
|
||||
"relative_l2": 2.260457150040016e-05,
|
||||
"max_abs_error": 0.00018072128295898438,
|
||||
"reference_rms": 1.7370493419005983,
|
||||
"output_rms": 1.7370492946923286
|
||||
},
|
||||
"v_new_21": {
|
||||
"relative_l2": 2.797726809652519e-05,
|
||||
"max_abs_error": 6.780028343200684e-05,
|
||||
"reference_rms": 0.6072011016139925,
|
||||
"output_rms": 0.6072000929155407
|
||||
},
|
||||
"k_new_22": {
|
||||
"relative_l2": 2.5605046305493717e-05,
|
||||
"max_abs_error": 0.00017595291137695312,
|
||||
"reference_rms": 1.9661056736696203,
|
||||
"output_rms": 1.9661055142914614
|
||||
},
|
||||
"v_new_22": {
|
||||
"relative_l2": 3.0155327094988507e-05,
|
||||
"max_abs_error": 7.873773574829102e-05,
|
||||
"reference_rms": 0.7362191931025958,
|
||||
"output_rms": 0.7362171698350103
|
||||
},
|
||||
"k_new_23": {
|
||||
"relative_l2": 2.6671729116915016e-05,
|
||||
"max_abs_error": 0.00019097328186035156,
|
||||
"reference_rms": 1.6005997999291703,
|
||||
"output_rms": 1.60060118565224
|
||||
},
|
||||
"v_new_23": {
|
||||
"relative_l2": 3.4074008734635254e-05,
|
||||
"max_abs_error": 6.61015510559082e-05,
|
||||
"reference_rms": 0.6675198669572269,
|
||||
"output_rms": 0.6675204903601081
|
||||
},
|
||||
"k_new_24": {
|
||||
"relative_l2": 2.704267299460315e-05,
|
||||
"max_abs_error": 0.0001538395881652832,
|
||||
"reference_rms": 1.6337684549178757,
|
||||
"output_rms": 1.6337684623266253
|
||||
},
|
||||
"v_new_24": {
|
||||
"relative_l2": 3.2975925022545183e-05,
|
||||
"max_abs_error": 9.268522262573242e-05,
|
||||
"reference_rms": 0.6240472225015637,
|
||||
"output_rms": 0.6240471864702112
|
||||
},
|
||||
"k_new_25": {
|
||||
"relative_l2": 2.4551837497269556e-05,
|
||||
"max_abs_error": 0.0001919269561767578,
|
||||
"reference_rms": 1.527601662385539,
|
||||
"output_rms": 1.5276006461430736
|
||||
},
|
||||
"v_new_25": {
|
||||
"relative_l2": 2.8791585340796676e-05,
|
||||
"max_abs_error": 0.00010532140731811523,
|
||||
"reference_rms": 0.9133071626950193,
|
||||
"output_rms": 0.9133053962861037
|
||||
},
|
||||
"k_new_26": {
|
||||
"relative_l2": 2.5203233904938704e-05,
|
||||
"max_abs_error": 0.00016385316848754883,
|
||||
"reference_rms": 1.4905787414732559,
|
||||
"output_rms": 1.490577617830345
|
||||
},
|
||||
"v_new_26": {
|
||||
"relative_l2": 3.19054502054102e-05,
|
||||
"max_abs_error": 9.194016456604004e-05,
|
||||
"reference_rms": 0.7009595279765859,
|
||||
"output_rms": 0.7009587143967237
|
||||
},
|
||||
"k_new_27": {
|
||||
"relative_l2": 2.705629945468701e-05,
|
||||
"max_abs_error": 0.00013589859008789062,
|
||||
"reference_rms": 1.5453936433107067,
|
||||
"output_rms": 1.5453921534264692
|
||||
},
|
||||
"v_new_27": {
|
||||
"relative_l2": 3.162288021052051e-05,
|
||||
"max_abs_error": 7.998943328857422e-05,
|
||||
"reference_rms": 0.6731545154533489,
|
||||
"output_rms": 0.6731549769955362
|
||||
}
|
||||
},
|
||||
"cache_max_relative_l2": 3.4074008734635254e-05,
|
||||
"limits": [
|
||||
"The historical source export does not attest an exact checkpoint revision.",
|
||||
"The fixture is synthetic and has no token-to-audio quality tolerance.",
|
||||
"No predictor, vocoder, persistent cache loop or complete TTS stream was tested."
|
||||
],
|
||||
"profile": {
|
||||
"job_id": "jp8exo0kp",
|
||||
"sample_count": 100,
|
||||
"sample_min_us": 35549,
|
||||
"nearest_rank_p50_us": 36976,
|
||||
"nearest_rank_p95_us": 43264,
|
||||
"reported_estimated_inference_time_us": 35549,
|
||||
"reported_peak_memory_bytes": 1922400256,
|
||||
"reported_first_load_time_us": 2530610,
|
||||
"reported_first_load_peak_memory_bytes": 1829519360,
|
||||
"compute_unit_row_counts": {
|
||||
"CPU": 1800
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Binary file not shown.
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"timestamp_utc": "2026-09-24T04:12:51.048634+00:00",
|
||||
"qai_hub_version": "0.55.0",
|
||||
"facility": "Qualcomm AI Hub Workbench",
|
||||
"job_id": "jp0mjy39g",
|
||||
"url": "https://workbench.aihub.qualcomm.com/jobs/jp0mjy39g/",
|
||||
"status": "SUCCESS",
|
||||
"status_message": "",
|
||||
"options": "--compute_unit cpu",
|
||||
"hub_version": "aihub-2026.09.11.0",
|
||||
"device": {
|
||||
"name": "Samsung Galaxy S24",
|
||||
"os": "14",
|
||||
"attributes": [
|
||||
"os:android",
|
||||
"framework:tflite",
|
||||
"framework:onnx",
|
||||
"abi:aarch64-android",
|
||||
"vendor:samsung",
|
||||
"format:phone",
|
||||
"chipset:qualcomm-snapdragon-8gen3",
|
||||
"chipset:sm8650",
|
||||
"hexagon:v75",
|
||||
"soc-model:57",
|
||||
"htp-supports-fp16:true",
|
||||
"htp-supports-weight-sharing:true",
|
||||
"framework:qnn"
|
||||
]
|
||||
},
|
||||
"model_id": "mm5v0zz2n",
|
||||
"input_dataset_id": "d7dw6pgy2",
|
||||
"outputs": "device_output.npz"
|
||||
}
|
||||
+13327
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -6,7 +6,7 @@ The historical Workbench source model `mqyer339n` is a 423,655,047-byte ONNX gra
|
||||
|
||||
The [S25 historical inference](s25_reference_inference.json) on the same fixture differed from local FP32 ONNX CPU by **4.24% relative L2 / 27.46 dB SNR** ([comparison](s25_cpu_comparison.json)); that waveform has no listening-quality tolerance. A fresh [SA8775P inference](sa8775p/inference_report.json) used historical compiled TFLite model `mnze95don` and requested GPU. Its [output](sa8775p/device_output.npz) had **96.63%** of samples at absolute amplitude at least 0.999, RMS **0.989** versus CPU **0.0837**, relative L2 **11.832**, and SNR **−21.46 dB**. The fresh [profile](sa8775p/profile_report.json) attributed 403 execution-detail rows to CPU and 335 to GPU; 100 component samples had nearest-rank p50/p95 **1.776/1.880 s** (minimum 1.675 s). The [audit](sa8775p/audit_report.json) pins all output hashes, waveform differences and placement. This is measured execution of a **numerically failed** output, not a usable TTS performance result. The [SA8775P compile record](sa8775p/compile_report.json) pins the artifact and source IDs.
|
||||
|
||||
The S25 target's [historical producer job](s25/cpu_control/compile_report.json) was recovered from the exact compiled model used above. A new [CPU-requested inference](s25/cpu_control/inference_report.json) of that same target and fixture returned a finite unsaturated waveform at **4.04e-6 relative L2 / 107.86 dB SNR** versus original ONNX CPU. This provisional numerical result is awaiting its [CPU placement profile](s25/cpu_control/profile_submission.json) and a combined audit; it does not establish a playable stream.
|
||||
The S25 target's [historical producer job](s25/cpu_control/compile_report.json) was recovered from the exact compiled model used above. A new [CPU-requested inference](s25/cpu_control/inference_report.json) of that same target and fixture returned a finite unsaturated waveform at **4.04e-6 relative L2 / 107.86 dB SNR** versus original ONNX CPU. Its [placement profile](s25/cpu_control/profile_report.json) returned **100** component samples at nearest-rank p50/p95 **4.418/4.641 s**, with all **738 execution-detail rows on CPU** and reported inference peak memory **867,893,248 bytes**. The 2.585 s estimated-time field is the sample minimum. The [full audit](s25/cpu_control/audit_report.json) binds the numerical output, exact historical target and placement. This is a numerically matching component CPU route, not a playable complete stream.
|
||||
|
||||
A matching [S24 TFLite CPU fallback compile](s24/cpu_fallback/compile_report.json) succeeded from the same ONNX source. Its [same-fixture CPU-requested inference](s24/cpu_fallback/inference_report.json) returned a finite unsaturated waveform at **4.04e-6 relative L2 / 107.86 dB SNR** versus original ONNX CPU. The [placement profile](s24/cpu_fallback/profile_submission.json) is pending, so actual CPU node assignment and component timing remain unverified.
|
||||
|
||||
|
||||
+15
-4
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"scope": "one Qwen3-TTS code2wav 48,000-sample component on one retained fixture; no complete TTS stream",
|
||||
"status": "component_inference_numeric_measured",
|
||||
"status": "component_executed_quality_unqualified",
|
||||
"device": {
|
||||
"name": "Samsung Galaxy S25",
|
||||
"os": "15",
|
||||
@@ -69,7 +69,18 @@
|
||||
"limits": [
|
||||
"Historical source export does not attest its exact checkpoint revision.",
|
||||
"This fixed component waveform has no listening or task-quality tolerance.",
|
||||
"Hosted component jobs exclude talker, predictor, stage handoff, streaming, admission and sustained power/thermal behavior.",
|
||||
"Requested compute unit is not verified node placement without a device profile."
|
||||
]
|
||||
"Hosted component jobs exclude talker, predictor, stage handoff, streaming, admission and sustained power/thermal behavior."
|
||||
],
|
||||
"profile_job_id": "jp8exo2kp",
|
||||
"profile": {
|
||||
"sample_count": 100,
|
||||
"sample_min_us": 2585294,
|
||||
"nearest_rank_p50_us": 4418143,
|
||||
"nearest_rank_p95_us": 4640942,
|
||||
"reported_estimated_inference_time_us": 2585294,
|
||||
"reported_peak_memory_bytes": 867893248,
|
||||
"compute_unit_row_counts": {
|
||||
"CPU": 738
|
||||
}
|
||||
}
|
||||
}
|
||||
+5362
File diff suppressed because it is too large.
Load diff
@@ -46,8 +46,8 @@ NOT E2E means no complete device/model workload was verified. “Scoped E2E” i
|
||||
| PC HX370 + AMD NPU / Windows worker | NOT E2E (output-head component passed) | NOT E2E | NOT E2E | NOT E2E | NOT E2E |
|
||||
| PC CPU+iGPU+NPU +/- discrete GPU, joint model execution | NOT E2E | NOT E2E | NOT E2E | NOT E2E | NOT E2E |
|
||||
| PC Snapdragon X Elite CRD / AI Hub | NOT E2E (one Spark attention layer on NPU) | NOT E2E (CPU talker/vocoder steps; QNN vocoder numeric) | NOT E2E | NOT E2E (NPU speech-head step profiled) | NOT E2E (Cosmos NPU encoder profiled) |
|
||||
| Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | NOT E2E (one Spark attention layer on NPU) | NOT E2E (FP16 talker token mismatch; vocoder CPU numeric pass, placement pending) | NOT E2E | NOT E2E (NPU speech head step profiled) | NOT E2E (Cosmos NPU encoder profiled) |
|
||||
| Mobile Galaxy S24 / Snapdragon 8 Gen 3 | NOT E2E (one Spark attention layer on NPU) | NOT E2E (FP16 talker token mismatch; vocoder CPU numeric pass, placement pending) | NOT E2E | NOT E2E (NPU speech head step profiled) | NOT E2E (Cosmos encoder numeric and NPU profiled) |
|
||||
| Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | NOT E2E (one Spark attention layer on NPU) | NOT E2E (FP16 talker token mismatch; vocoder CPU numeric and profiled) | NOT E2E | NOT E2E (NPU speech head step profiled) | NOT E2E (Cosmos NPU encoder profiled) |
|
||||
| Mobile Galaxy S24 / Snapdragon 8 Gen 3 | NOT E2E (one Spark attention layer on NPU) | NOT E2E (FP16 talker token mismatch; CPU talker profiled, vocoder placement pending) | NOT E2E | NOT E2E (NPU speech head step profiled) | NOT E2E (Cosmos encoder numeric and NPU profiled) |
|
||||
| Embedded SA8775P ADP / AI Hub | NOT E2E (one Spark attention layer on NPU) | NOT E2E (CPU talker/vocoder steps; NPU vocoder failed) | NOT E2E | NOT E2E (NPU speech-head step profiled) | NOT E2E (Cosmos NPU encoder profiled) |
|
||||
| Embedded RB3 Gen 2 / QCS6490 / AI Hub | NOT E2E (Spark CPU layer passed; W8A8 NPU quality open) | NOT E2E (talker + vocoder CPU numeric and profiled; vocoder slow) | NOT E2E | NOT E2E (CPU speech-head step profiled) | NOT E2E (Cosmos CPU numeric and profiled) |
|
||||
|
||||
@@ -96,12 +96,12 @@ NOT E2E means no complete device/model workload was verified. “Scoped E2E” i
|
||||
| PC Snapdragon X Elite CRD / AI Hub | MiniCPM-o 4.5 | COMPONENT_SPEECH_HEAD_NPU_NUMERIC_PROFILED; NOT_E2E_PROFILEABLE | The real 20-layer MiniCPM-o speech-head FP16 QNN DLC ran on the exact X Elite CRD. Same-fixture inference returned 41 finite tensors, preserved ONNX CPU top-1 speech token 1867, and had 0.3170% logits relative L2 and 1.221% maximum K/V relative L2. Its 100-sample component profile had nearest-rank p50/p95 9.905/11.037 ms, with all 944 execution-detail rows on NPU. Reported inference peak memory was 79,208,448 bytes and first-load peak 1,081,573,376 bytes. Thinker/encoders/vocoder and a device-local stateful Omni backend remain unqualified. | Validate the complete multimodal pipeline, state, quality, co-resident memory and sustained behavior; [X Elite raw evidence](../../../e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md). |
|
||||
| PC Snapdragon X Elite CRD / AI Hub | InternVLA-A1 | COMPONENT_COSMOS_NPU_NUMERIC_PROFILED; NOT_E2E_PROFILEABLE | The real Place_Markpen Cosmos FP16 QNN image encoder returned a finite FP32 latent for the six-frame synthetic pattern on exact X Elite CRD. Against the pinned source, relative L2 was 0.0608%, SNR 64.32 dB and cosine 0.999999815. The 100-sample six-frame encoder profile had p50/p95 82.939/83.837 ms, with all 121 execution-detail rows on NPU. Reported component inference peak memory was 24,059,904 bytes and first-load peak 692,891,648 bytes. No real-observation action tolerance, complete policy or local stateful Omni backend exists. | Validate real observations, action units/timing, state, admission, cancellation and sustained behavior; [X Elite Cosmos raw evidence](../../../e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md). |
|
||||
| Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | Spark-X2.5 | COMPONENT_NPU_INFERENCE_PROFILED; NOT_E2E_PROFILEABLE | The real 1.7B checkpoint one-layer W8A16 full-attention decoder artifact executed for a fixed 1,024-token cache bucket. Same-fixture outputs matched S24; the hosted S25 profile had 100 component samples at nearest-rank p50/p95 0.957/1.028 ms with all 73 execution-detail rows on NPU. FP32-source hidden-state relative L2 was 1.351% without a downstream token-quality gate. No full 28-layer prefill/decode, KV/ring, sampling or resident controller ran on S25. | Implement and validate local 128-token generation, 512/1024 transitions, cancellation, resident memory and sustained power; [S25/S24 component evidence](../../../e2e_expansion_20260923/evidence/spark_s24_full_attention/README.md). |
|
||||
| Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | Qwen3-TTS 0.6B CustomVoice | TALKER_FP16_NUMERIC_FAIL; VOCODER_CPU_NUMERIC_PASS_PLACEMENT_PENDING; NOT_E2E_PROFILEABLE | Fresh FP16 predictor inference passed; its one output exactly matches the same compiled artifact/dataset reference. The same historical S25 TFLite vocoder target requested on CPU returned a finite unsaturated waveform at 4.04e-6 relative L2 / 107.86 dB SNR versus original ONNX CPU on the retained fixture; its actual CPU placement and timing profile are pending. The real 28-layer FP16 QNN talker step executed on the synthetic cache fixture, but changed CPU top-1 speech token 80 to 412 with 8.99% logits relative L2 and maximum new-K/V relative L2 11.71%. This tested talker artifact is numerically unqualified; no complete co-resident NPU/GPU stream exists. | Improve and revalidate the [talker artifact](../../../e2e_expansion_20260924/evidence/qwen_tts_talker_qualcomm/README.md), then audit the [S25 vocoder CPU profile](../../../e2e_expansion_20260924/evidence/qwen_tts_vocoder_qualcomm/README.md) and qualify the device-local predictor/vocoder pipeline, output quality, recovery and 30-minute thermal behavior. |
|
||||
| Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | Qwen3-TTS 0.6B CustomVoice | TALKER_FP16_NUMERIC_FAIL; VOCODER_CPU_NUMERIC_PROFILED; NOT_E2E_PROFILEABLE | Fresh FP16 predictor inference passed; its one output exactly matches the same compiled artifact/dataset reference. The same historical S25 TFLite vocoder target requested on CPU returned a finite unsaturated waveform at 4.04e-6 relative L2 / 107.86 dB SNR versus original ONNX CPU on the retained fixture. Its 100-sample component profile measured nearest-rank p50/p95 4.418/4.641 s, with all 738 execution-detail rows on CPU and reported inference peak memory 867,893,248 bytes. The real 28-layer FP16 QNN talker step executed on the synthetic cache fixture, but changed CPU top-1 speech token 80 to 412 with 8.99% logits relative L2 and maximum new-K/V relative L2 11.71%. This tested talker artifact is numerically unqualified; no complete co-resident NPU/GPU stream exists. | Improve and revalidate the [talker artifact](../../../e2e_expansion_20260924/evidence/qwen_tts_talker_qualcomm/README.md), then qualify the [device-local predictor/vocoder pipeline](../../../e2e_expansion_20260924/evidence/qwen_tts_vocoder_qualcomm/README.md), output quality, recovery and 30-minute thermal behavior. |
|
||||
| Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | Qwen3.8-27B | NOT_E2E_PROFILEABLE | No complete qualified target artifact and device-local stateful Omni backend. Hub jobs provide component execution, not an on-device generation/streaming controller; ADB has no attached device. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. |
|
||||
| Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | MiniCPM-o 4.5 | COMPONENT_FP16_SPEECH_HEAD_NPU_NUMERIC_PROFILED; NOT_E2E_PROFILEABLE | Fresh FP16 speech-head inference passed; all 41 outputs exactly matched the same artifact/dataset reference. Against the recovered original ONNX CPU source on the same fixture, logits relative L2 was 0.3605%, maximum new-K/V relative L2 1.311%, and top-1 speech token 1867 matched. Historical FP16 parity passed; tested W8A16 top-1 parity failed. The 100-sample component profile had p50/p95 7.197/7.615 ms, with all 1,029 execution-detail rows on NPU and reported inference peak memory 185,991,168 bytes. Generated-audio quality and qualified thinker/encoders/vocoder remain unverified. | Qualify a complete mobile checkpoint/export and the full multimodal/stateful pipeline; [speech-head evidence](../../../e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md). |
|
||||
| Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | InternVLA-A1 | COMPONENT_COSMOS_NPU_NUMERIC_PROFILED; SYNTHETIC_ACTION_SENSITIVITY_MEASURED; NOT_E2E_PROFILEABLE | The real Place_Markpen Cosmos image encoder FP32 ONNX export matched its source on two six-frame fixtures. Galaxy S25 FP16 QNN DLC inference returned a finite latent within 0.0524% relative L2 / 65.61 dB SNR of the pinned pattern source. Injecting this device latent into the same real policy on local CPU changed synthetic `[1,50,32]` actions by 0.742% relative L2; the CPU source repeated bitwise identically. The 100-sample six-frame encoder profile had nearest-rank p50/p95 49.665/51.382 ms, all 121 execution-detail rows on NPU, and a reported inference peak of 158,232,576 bytes. No real-observation task tolerance exists, and the action policy was not resident on S25. ADB has no attached device. | Extend the [S25 encoder component](../../../e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md), then validate real action quality, device-local state, admission, cancellation and sustained behavior. |
|
||||
| Mobile Galaxy S24 / Snapdragon 8 Gen 3 | Spark-X2.5 | COMPONENT_NPU_INFERENCE_PROFILED; NOT_E2E_PROFILEABLE | The real 1.7B checkpoint's fixed-shape full-attention decoder **one-layer** W8A16 QDQ artifact compiled as QNN DLC and ran on an exact hosted Galaxy S24 (Android 14). A same-dataset inference returned finite hidden/new-K/new-V outputs identical to the prior S25 NPU outputs; the profile attributed all 73 execution-detail rows to NPU. Across 100 component samples, nearest-rank p50/p95 was 1.109/1.205 ms; the 1.098 ms `estimated_inference_time` field is the minimum, not a median. Relative L2 versus original FP32 ONNX CPU was 1.351%/0.377%/0.650% for hidden/K/V; no token-quality tolerance is known. This is one cache bucket, not 28-layer prefill/decode, KV-ring, sampling, a resident local controller or complete-request timing. ADB has no attached device. | Qualify a complete device-resident artifact/controller with state and token-quality gates, 128-token generation across 512/1024 context transitions, admission/cancel and sustained memory/power; [S24 NPU raw evidence](../../../e2e_expansion_20260923/evidence/spark_s24_full_attention/README.md). |
|
||||
| Mobile Galaxy S24 / Snapdragon 8 Gen 3 | Qwen3-TTS 0.6B CustomVoice | TALKER_FP16_NUMERIC_FAIL; VOCODER_CPU_NUMERIC_PASS_PLACEMENT_PENDING; NOT_E2E_PROFILEABLE | A TFLite vocoder target compiled for exact S24 returned a finite, unsaturated CPU-requested waveform matching original ONNX CPU within 4.04e-6 relative L2 / 107.86 dB SNR on the retained fixture; its node-placement/timing profile is pending. The real 28-layer FP16 QNN talker step executed on the synthetic cache fixture, but changed CPU top-1 speech token 80 to 1720 with 9.33% logits relative L2 and maximum new-K/V relative L2 11.23%. This differs from an earlier FP16 decoder parity test (39.13 dB SNR) on a different component/fixture; the tested INT8 decoder parity failed with negative SNR. No full local TTS stream exists. | Resolve the [talker numerical difference](../../../e2e_expansion_20260924/evidence/qwen_tts_talker_qualcomm/README.md), then audit the [S24 vocoder CPU profile](../../../e2e_expansion_20260924/evidence/qwen_tts_vocoder_qualcomm/README.md) and validate the complete local pipeline and a quality-passing artifact set. |
|
||||
| Mobile Galaxy S24 / Snapdragon 8 Gen 3 | Qwen3-TTS 0.6B CustomVoice | TALKER_FP16_NUMERIC_FAIL; CPU_TALKER_NUMERIC_PROFILED; VOCODER_CPU_NUMERIC_PASS_PLACEMENT_PENDING; NOT_E2E_PROFILEABLE | A TFLite vocoder target compiled for exact S24 returned a finite, unsaturated CPU-requested waveform matching original ONNX CPU within 4.04e-6 relative L2 / 107.86 dB SNR on the retained fixture; its node-placement/timing profile is pending. A separate TFLite CPU-requested 28-layer talker step returned 57 finite outputs, preserved ONNX CPU top-1 speech token 80, and had logits relative L2 3.33e-5 and maximum new-cache relative L2 3.41e-5. Its 100-sample component profile measured p50/p95 36.976/43.264 ms with all 1,800 execution-detail rows on CPU and reported inference peak memory 1,922,400,256 bytes. The FP16 QNN talker step executed on the same synthetic cache fixture, but changed CPU top-1 speech token 80 to 1720 with 9.33% logits relative L2 and maximum new-K/V relative L2 11.23%. This differs from an earlier FP16 decoder parity test (39.13 dB SNR) on a different component/fixture; the tested INT8 decoder parity failed with negative SNR. No full local TTS stream exists. | Investigate the [FP16 NPU talker numerical difference](../../../e2e_expansion_20260924/evidence/qwen_tts_talker_qualcomm/README.md), then the [vocoder CPU profile](../../../e2e_expansion_20260924/evidence/qwen_tts_vocoder_qualcomm/README.md) and validate the complete local pipeline and a quality-passing artifact set. |
|
||||
| Mobile Galaxy S24 / Snapdragon 8 Gen 3 | Qwen3.8-27B | NOT_E2E_PROFILEABLE | No complete qualified target artifact and device-local stateful Omni backend. Hub jobs provide component execution, not an on-device generation/streaming controller; ADB has no attached device. | Supply and validate the missing matching artifact/backend, then run the complete specified workload. |
|
||||
| Mobile Galaxy S24 / Snapdragon 8 Gen 3 | MiniCPM-o 4.5 | COMPONENT_FP16_SPEECH_HEAD_NPU_NUMERIC_PROFILED; NOT_E2E_PROFILEABLE | The retained FP16 speech-head job used a dataset with identical tensors to the recovered S25 fixture. Against original ONNX CPU, logits relative L2 was 0.3459%, maximum new-K/V relative L2 1.235%, and top-1 speech token 1867 matched. Earlier parity reported 49.22 dB SNR/top-1 match; tested W8A16 top-1 failed. The 100-sample component profile had p50/p95 8.537/9.006 ms, with all 1,029 execution-detail rows on NPU and reported inference peak memory 165,433,344 bytes. Generated-audio quality and the rest of the model remain unqualified. | Qualify thinker/encoders/vocoder and stateful local integration; [speech-head evidence](../../../e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md). |
|
||||
| Mobile Galaxy S24 / Snapdragon 8 Gen 3 | InternVLA-A1 | COMPONENT_COSMOS_NPU_NUMERIC_PROFILED; NOT_E2E_PROFILEABLE | The real Place_Markpen Cosmos FP16 QNN image encoder returned a finite six-frame synthetic-pattern latent on exact hosted S24 at 0.0613% relative L2 / 64.25 dB SNR versus pinned FP32 source. Its 100-sample six-frame component profile had nearest-rank p50/p95 64.314/67.472 ms, all 121 execution-detail rows on NPU, reported inference peak memory 309,661,696 bytes and first-load peak 712,884,224 bytes. Injecting its latent into the real policy on local CPU changed synthetic actions by 0.631% relative L2, without a task tolerance. No real-observation action tolerance, complete local policy or stateful controller exists. ADB has no attached device. | Validate real observations, action units/timing, state, admission and cancellation on-device; [S24 Cosmos raw evidence](../../../e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md). |
|
||||
|
||||
@@ -15,11 +15,11 @@ remain open; the 2026-09-22 audit remains the historical baseline.
|
||||
|
||||
The [Spark hosted Qualcomm component expansion](../../benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_s24_full_attention/README.md) advances M1 only to one real fixed-shape decoder attention layer. The same W8A16 QNN DLC ran on S24, Snapdragon X Elite CRD and SA8775P ADP NPUs with identical outputs on one pinned fixture; S25 had prior separate component evidence. On [RB3 Gen 2](../../benchmarks/edge_harness/results/e2e_expansion_20260923/evidence/spark_rb3_full_attention/README.md), the tested W8A16 graph failed QNN loading even after an exact-device compile. FP32 ONNX ran on CPU with near-source parity, while calibrated W8A8 ran on NPU but had 20.9% hidden-state relative L2 and remains numerically unqualified. These are component C results, not full M1: device-local 28-layer prefill/continuous decode, KV/ring, sampling, token quality, admission/cancellation, complete-request timing and sustained power/thermal gates remain open. AI Hub is the test facility, not a deployment dependency.
|
||||
|
||||
The [Qwen3-TTS Code2Wav Qualcomm follow-up](../../benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/qwen_tts_vocoder_qualcomm/README.md) adds a retained same-fixture numerical check to M2. A fresh SA8775P GPU-requested output saturated 96.63% of samples and differs from original ONNX CPU by 11.832 relative L2, so that route fails the numerical gate despite profiling. The same binary's CPU-requested output on the exact SA device matched original ONNX CPU within 4.13e-6 relative L2; its 100-sample CPU-requested component profile passed placement (738/738 execution-detail rows on CPU) at nearest-rank p50/p95 5.384/5.534 s, still without a full stream. A FP32-preserving GPU-option control still saturated 84.89% of samples, so that option did not fix the tested route. RB3 TFLite GPU-requested inference returned an unsaturated but 15.73%-relative-L2 divergent waveform; its fresh 100-sample mixed CPU/GPU component p50/p95 was 3.099/3.133 s. The same binary requested on exact-RB3 CPU matched original ONNX CPU within 4.13e-6 relative L2 on the retained fixture; its 47-sample component profile measured p50/p95 12.727/13.424 s with all 738 execution-detail rows on CPU. That measured component latency is a major blocker for playable streaming on this route. A one-fixture-calibrated RB3 INT8 QNN vocoder returned a finite but 66.93%-relative-L2 divergent waveform (3.49 dB SNR) versus ONNX CPU, without yet verified NPU placement; it fails the numerical gate even on its calibration fixture. X Elite ONNX CPU inference matched the local ONNX Runtime output with 8.09e-7 relative L2; its 94-sample component profile was p50/p95 6.384/6.644 s with all execution-detail rows on CPU. Corrected DirectML inference and profile both failed during provider initialization; separate FP16 QNN DLC inference returned an unsaturated waveform at 1.138% relative L2 / 38.88 dB SNR versus local ONNX CPU, but its placement profile timed out during QNN graph preparation without samples. A separate SA8775P FP16 QNN DLC vocoder compile passed, but NPU-requested same-fixture inference failed after compilation without waveform or placement samples. Fresh S24 and S25 CPU-requested TFLite vocoder inferences matched ONNX CPU within 4.04e-6 relative L2 on the retained fixture; both placement profiles are pending. M2 still requires a quality-passing talker/predictor/vocoder set, device-local co-residency and handoff, playable streaming and sustained memory/power validation.
|
||||
The [Qwen3-TTS Code2Wav Qualcomm follow-up](../../benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/qwen_tts_vocoder_qualcomm/README.md) adds a retained same-fixture numerical check to M2. A fresh SA8775P GPU-requested output saturated 96.63% of samples and differs from original ONNX CPU by 11.832 relative L2, so that route fails the numerical gate despite profiling. The same binary's CPU-requested output on the exact SA device matched original ONNX CPU within 4.13e-6 relative L2; its 100-sample CPU-requested component profile passed placement (738/738 execution-detail rows on CPU) at nearest-rank p50/p95 5.384/5.534 s, still without a full stream. A FP32-preserving GPU-option control still saturated 84.89% of samples, so that option did not fix the tested route. RB3 TFLite GPU-requested inference returned an unsaturated but 15.73%-relative-L2 divergent waveform; its fresh 100-sample mixed CPU/GPU component p50/p95 was 3.099/3.133 s. The same binary requested on exact-RB3 CPU matched original ONNX CPU within 4.13e-6 relative L2 on the retained fixture; its 47-sample component profile measured p50/p95 12.727/13.424 s with all 738 execution-detail rows on CPU. That measured component latency is a major blocker for playable streaming on this route. A one-fixture-calibrated RB3 INT8 QNN vocoder returned a finite but 66.93%-relative-L2 divergent waveform (3.49 dB SNR) versus ONNX CPU, without yet verified NPU placement; it fails the numerical gate even on its calibration fixture. X Elite ONNX CPU inference matched the local ONNX Runtime output with 8.09e-7 relative L2; its 94-sample component profile was p50/p95 6.384/6.644 s with all execution-detail rows on CPU. Corrected DirectML inference and profile both failed during provider initialization; separate FP16 QNN DLC inference returned an unsaturated waveform at 1.138% relative L2 / 38.88 dB SNR versus local ONNX CPU, but its placement profile timed out during QNN graph preparation without samples. A separate SA8775P FP16 QNN DLC vocoder compile passed, but NPU-requested same-fixture inference failed after compilation without waveform or placement samples. Fresh S24 and S25 CPU-requested TFLite vocoder inferences matched ONNX CPU within 4.04e-6 relative L2 on the retained fixture. S25 measured 100 component samples at p50/p95 4.418/4.641 s with all 738 execution-detail rows on CPU; S24 placement profiling is pending. M2 still requires a quality-passing talker/predictor/vocoder set, device-local co-residency and handoff, playable streaming and sustained memory/power validation.
|
||||
|
||||
The identical SA/RB3 TFLite vocoder binary also matched original ONNX CPU within 3.45e-6 relative L2 on a separate local HX370 x86-64 LiteRT 2.2.0 CPU control. Exact-SA and RB3 CPU-requested parity narrow the failures to their GPU-requested routes on the tested fixture. The FP32-preserving GPU option did not fix it, so per-node placement and delegate-operation isolation remain open.
|
||||
|
||||
A separate [28-layer talker decode-step attempt](../../benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/qwen_tts_talker_qualcomm/README.md) retains a synthetic fixed-cache fixture and CPU reference. Historical FP16 QNN context-binary inference executed on S24, S25, SA8775P and X Elite, but all four changed the CPU top-1 speech token with 8.57–9.43% logits relative L2. RB3 rejected that floating-point-input artifact. Explicit X Elite ONNX CPU and SA8775P TFLite CPU fallback compiles passed. X Elite CPU-requested inference preserved CPU top-1 token 80 with logits relative L2 2.07e-5; its 100-sample decode-step profile measured p50/p95 191.414/309.428 ms with all 1,744 execution-detail rows on CPU. SA8775P TFLite CPU-requested talker inference also preserved token 80 with logits relative L2 3.33e-5; its 100-sample decode-step profile measured p50/p95 52.635/76.925 ms with all 1,800 execution-detail rows on CPU. An RB3 TFLite CPU-requested step preserved token 80 with logits relative L2 2.29e-5 and maximum new-cache relative L2 3.04e-5; its 100-sample profile measured p50/p95 138.022/139.642 ms with all 1,800 execution-detail rows on CPU. These fixed-step CPU component results do not establish a stateful talker loop or full TTS stream.
|
||||
A separate [28-layer talker decode-step attempt](../../benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/qwen_tts_talker_qualcomm/README.md) retains a synthetic fixed-cache fixture and CPU reference. Historical FP16 QNN context-binary inference executed on S24, S25, SA8775P and X Elite, but all four changed the CPU top-1 speech token with 8.57–9.43% logits relative L2. RB3 rejected that floating-point-input artifact. Explicit X Elite ONNX CPU and SA8775P TFLite CPU fallback compiles passed. X Elite CPU-requested inference preserved CPU top-1 token 80 with logits relative L2 2.07e-5; its 100-sample decode-step profile measured p50/p95 191.414/309.428 ms with all 1,744 execution-detail rows on CPU. SA8775P TFLite CPU-requested talker inference also preserved token 80 with logits relative L2 3.33e-5; its 100-sample decode-step profile measured p50/p95 52.635/76.925 ms with all 1,800 execution-detail rows on CPU. An RB3 TFLite CPU-requested step preserved token 80 with logits relative L2 2.29e-5 and maximum new-cache relative L2 3.04e-5; its 100-sample profile measured p50/p95 138.022/139.642 ms with all 1,800 execution-detail rows on CPU. A new S24 TFLite CPU-requested talker step preserved token 80 with logits relative L2 3.33e-5 and maximum new-cache relative L2 3.41e-5; its 100-sample profile measured p50/p95 36.976/43.264 ms with all 1,800 execution-detail rows on CPU. These fixed-step CPU component results do not establish a stateful talker loop or full TTS stream.
|
||||
|
||||
For M4, a [MiniCPM-o 4.5 speech-head study](../../benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md) recovered the historical 20-layer ONNX source and matching S24/S25 fixtures. Both FP16 context-binary outputs preserved the ONNX CPU top-1 speech token on one decode step, with logits relative L2 0.346%/0.360%. Their 100-sample component profiles had p50/p95 8.537/9.006 ms and 7.197/7.615 ms, with all 1,029 execution-detail rows on NPU for each. New FP16 QNN DLC compiles passed for SA8775P, X Elite and RB3. SA8775P same-fixture inference preserved CPU top-1 speech token 1867 with 0.3568% logits relative L2 and 1.225% maximum K/V relative L2; its 100-sample component profile measured p50/p95 11.901/13.038 ms with all 944 execution-detail rows on NPU. X Elite same-fixture inference also preserved token 1867 with 0.3170% logits relative L2; its 100-sample component profile measured p50/p95 9.905/11.037 ms with all 944 execution-detail rows on NPU. RB3 FP16 QNN inference failed at graph load despite compile success; a TFLite CPU fallback same-fixture inference preserved top-1 token 1867 with logits relative L2 1.26e-6 versus ONNX CPU; its 100-sample CPU-requested profile measured p50/p95 59.518/71.347 ms with all 1,008 execution-detail rows on CPU. This is component C numerical evidence only, not thinker/encoder/vocoder or complete multimodal support.
|
||||
|
||||
|
||||
Reference in new issue
Block a user