diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260924/README.md b/benchmarks/edge_harness/results/e2e_expansion_20260924/README.md index 04b1e895c..610995d1a 100644 --- a/benchmarks/edge_harness/results/e2e_expansion_20260924/README.md +++ b/benchmarks/edge_harness/results/e2e_expansion_20260924/README.md @@ -6,6 +6,6 @@ A local HX370 x86-64 LiteRT CPU control of the identical SA/RB3 TFLite binary ma 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, with same-fixture inference pending. 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. 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; X Elite same-fixture inference also preserved token 1867 with 0.3170% logits relative L2. SA and X Elite placement profiles and RB3 inference remain pending. The complete multimodal model remains unqualified on those devices. +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. 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; X Elite same-fixture inference also preserved token 1867 with 0.3170% logits relative L2. SA and X Elite placement profiles remain pending. RB3 FP16 QNN inference failed at graph load despite compile success; an explicit TFLite CPU fallback compile is pending. The complete multimodal model remains unqualified on those devices. -The [InternVLA Cosmos S25 attempt](evidence/internvla_cosmos_qualcomm/README.md) repackages the real policy's image encoder from its parity-tested ONNX export. FLOAT16 QNN DLC inference returned a latent within 0.0524% relative L2 of the source on one pattern. Injecting it into the real policy on local CPU changed synthetic actions by 0.742% relative L2, without a task tolerance. NPU placement profiling was pending; device-local action-policy support remains unqualified. +The [InternVLA Cosmos S25 attempt](evidence/internvla_cosmos_qualcomm/README.md) repackages the real policy's image encoder from its parity-tested ONNX export. FLOAT16 QNN DLC inference returned a latent within 0.0524% relative L2 of the source on one pattern. Injecting it into the real policy on local CPU changed synthetic actions by 0.742% relative L2, without a task tolerance. S25 NPU placement profiling was pending. The same encoder compiled to FP16 QNN DLC for X Elite CRD, with same-fixture NPU-requested inference pending. Device-local action-policy support remains unqualified. diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md index 544fd3655..cd4cbb53e 100644 --- a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md +++ b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md @@ -1,9 +1,11 @@ -# InternVLA Cosmos encoder on Galaxy S25 NPU: compile attempt +# InternVLA Cosmos encoder across Qualcomm devices This tests the **real Place_Markpen Cosmos CI8x8 image encoder component**, not the action policy or complete InternVLA. The [source export](../../../e2e_expansion_20260923/evidence/internvla_cosmos_amd_npu/README.md) pins the checkpoint, FP32 `[6,3,256,256]` input, `[6,16,32,32]` output, two CPU parity fixtures and the original external-data ONNX files. The external data were embedded into one 125,112,088-byte ONNX file outside Git at `/home/zhout/project/edge_infer/models/InternVLA-cosmos-onnx/cosmos_encoder_embedded.onnx` (SHA256 `656a5263f584851a1457ef6dcf60b995f7c67b056b3c90a4f33c814f7caf9ec9`). The embedded form retained reference-relative ONNX CPU L2 errors of `8.74e-7` and `2.29e-6` on ramp and pattern fixtures. Workbench source model `mn4okj3rq` was [submitted for Galaxy S25 QNN DLC compilation](s25/compile_submission.json) as job `jpxl4d1jp`, with `default_graph_htp_precision=FLOAT16`. The [compile](s25/compile_report.json) succeeded and produced target model `mqkp12rxm`. [Same-fixture pattern inference](s25/inference_report.json) requesting NPU also succeeded. The [audit](s25/audit_report.json) found **0.0524% relative L2 / 65.61 dB SNR** versus the pinned source latent, with finite FP32 `[6,16,32,32]` output. This establishes numerical behavior on one synthetic encoder fixture; requested NPU still needs the [placement profile](s25/profile_submission.json), which was pending at this snapshot. +The same source model also [compiled to FP16 QNN DLC on Snapdragon X Elite CRD](xelite/compile_report.json), producing target `mmxj0w8kq` for Windows ARM. A [same-fixture NPU-requested inference](xelite/inference_submission.json) was submitted using dataset `d26qo8p57` and remained pending. Compilation alone does not establish numerical fidelity or actual NPU placement on X Elite. + The [generic collector](../../../../experiments/collect_aihub_component.py) preserves terminal jobs, and the [Cosmos auditor](../../../../experiments/audit_internvla_cosmos_qualcomm.py) checks source/fixture hashes, target/device/dataset identity, latent shape and finite numerical difference against the pinned source reference. A separate [synthetic action sensitivity check](s25/action_sensitivity.json) injected either the pinned source or S25 latent into the same real Place_Markpen policy on **local CPU**, with zero state/noise. The [reproducer](../../../../experiments/probe_internvla_hosted_latent_actions.py) returned finite `[1,50,32]` actions; hosted-vs-source action relative L2 was **0.742%**, maximum absolute difference **0.0115**, cosine **0.999973**. Repeating the source policy gave bitwise identical actions. This is a cross-device numerical handoff experiment, not a device-local policy or robot-task pass; no real-observation action tolerance is known. -Next: inspect actual NPU placement with the pending profile, test representative real observations and action tolerances, then build and validate a device-local stateful policy. Full multimodal observation processing, admission, cancellation and sustained profiling remain open. +Next: inspect S25 NPU placement and X Elite same-fixture output, test representative real observations and action tolerances, then build and validate a device-local stateful policy. Full multimodal observation processing, admission, cancellation and sustained profiling remain open. diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/compile_report.json b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/compile_report.json new file mode 100644 index 000000000..2bd74c015 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/compile_report.json @@ -0,0 +1,31 @@ +{ + "retrieved_utc": "2026-09-24T00:21:29.016546+00:00", + "facility": "Qualcomm AI Hub Workbench", + "qai_hub_version": "0.55.0", + "job_id": "j5687wv7g", + "url": "https://workbench.aihub.qualcomm.com/jobs/j5687wv7g/", + "status": "SUCCESS", + "status_message": "", + "source_model_id": "mn4okj3rq", + "target_model_id": "mmxj0w8kq", + "device": { + "name": "Snapdragon X Elite CRD", + "os": "11", + "attributes": [ + "os:windows", + "format:compute", + "framework:onnx", + "vendor:qualcomm", + "abi:aarch64-windows", + "chipset:qualcomm-snapdragon-x-elite", + "chipset:sc8380xp", + "hexagon:v73", + "soc-model:60", + "htp-supports-fp16:true", + "htp-supports-weight-sharing:true", + "framework:qnn" + ] + }, + "options": "--target_runtime qnn_dlc --qnn_options default_graph_htp_precision=FLOAT16", + "hub_version": "aihub-2026.09.11.0" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/compile_submission.json b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/compile_submission.json new file mode 100644 index 000000000..0efc2ab73 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/compile_submission.json @@ -0,0 +1,12 @@ +{ + "timestamp_utc": "2026-09-24T00:19:29.714335+00:00", + "facility": "Qualcomm AI Hub Workbench", + "qai_hub_version": "0.55.0", + "source_model_id": "mn4okj3rq", + "device": "Snapdragon X Elite CRD", + "options": "--target_runtime qnn_dlc --qnn_options default_graph_htp_precision=FLOAT16", + "kind": "compile", + "status": "SUBMITTED", + "job_id": "j5687wv7g", + "url": "https://workbench.aihub.qualcomm.com/jobs/j5687wv7g/" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/inference_submission.json b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/inference_submission.json new file mode 100644 index 000000000..02451078d --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/xelite/inference_submission.json @@ -0,0 +1,14 @@ +{ + "timestamp_utc": "2026-09-24T00:21:31.150049+00:00", + "facility": "Qualcomm AI Hub Workbench", + "qai_hub_version": "0.55.0", + "source_compile_job_id": "j5687wv7g", + "target_model_id": "mmxj0w8kq", + "input_dataset_id": "d26qo8p57", + "device": "Snapdragon X Elite CRD", + "options": "--compute_unit npu", + "kind": "inference", + "status": "SUBMITTED", + "job_id": "jgjr7qo8p", + "url": "https://workbench.aihub.qualcomm.com/jobs/jgjr7qo8p/" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md index 4b5771391..cd974c11c 100644 --- a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md +++ b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md @@ -6,6 +6,6 @@ The [S25 historical inference](s25/inference_report.json) used dataset `d7gwxe3y The historical [S24](s24/compile_report.json) and [S25](s25/compile_report.json) FP16 QNN context-binary compiles and inference jobs succeeded. Against the **same original ONNX CPU fixture**, [S24](s24/audit_report.json) logits relative L2 was **0.3459%** and max K/V relative L2 **1.235%**; [S25](s25/audit_report.json) logits relative L2 was **0.3605%** and max K/V relative L2 **1.311%**. Both preserved the CPU top-1 speech token **1867** on this one synthetic step. The raw [S24](s24/device_output.npz) and [S25](s25/device_output.npz) arrays are retained. [S24](s24/profile_submission.json) and [S25](s25/profile_submission.json) placement profiles were submitted and pending. These values remain numerical component evidence, without a generated-audio quality threshold or actual NPU placement proof. -New FP16 QNN DLC [SA8775P](sa8775p/compile_report.json), [Snapdragon X Elite](xelite/compile_report.json) and [RB3 Gen 2](rb3/compile_report.json) compiles passed from the same source. The SA8775P [NPU-requested inference](sa8775p/inference_report.json) returned all 41 finite tensors on the retained fixture. Its [audit](sa8775p/audit_report.json) found **0.3568% logits relative L2** versus ONNX CPU, preserved CPU top-1 speech token **1867**, and measured maximum K/V relative L2 **1.225%**. The [placement profile](sa8775p/profile_submission.json) was submitted and remains pending; the inference request alone does not prove actual NPU node assignment. The X Elite [NPU-requested inference](xelite/inference_report.json) also returned all 41 finite tensors: its [audit](xelite/audit_report.json) found **0.3170% logits relative L2**, preserved CPU top-1 token **1867**, and measured maximum K/V relative L2 **1.221%**. Its [placement profile](xelite/profile_submission.json) was submitted and remains pending. [RB3 same-fixture inference](rb3/inference_submission.json) remains pending. The [collector](../../../../experiments/collect_aihub_component.py) retrieves terminal jobs, and the [auditor](../../../../experiments/audit_minicpmo_tts_qualcomm.py) pins hashes and checks all 41 output tensors. +New FP16 QNN DLC [SA8775P](sa8775p/compile_report.json), [Snapdragon X Elite](xelite/compile_report.json) and [RB3 Gen 2](rb3/compile_report.json) compiles passed from the same source. The SA8775P [NPU-requested inference](sa8775p/inference_report.json) returned all 41 finite tensors on the retained fixture. Its [audit](sa8775p/audit_report.json) found **0.3568% logits relative L2** versus ONNX CPU, preserved CPU top-1 speech token **1867**, and measured maximum K/V relative L2 **1.225%**. The [placement profile](sa8775p/profile_submission.json) was submitted and remains pending; the inference request alone does not prove actual NPU node assignment. The X Elite [NPU-requested inference](xelite/inference_report.json) also returned all 41 finite tensors: its [audit](xelite/audit_report.json) found **0.3170% logits relative L2**, preserved CPU top-1 token **1867**, and measured maximum K/V relative L2 **1.221%**. Its [placement profile](xelite/profile_submission.json) was submitted and remains pending. The exact RB3 [FP16 QNN DLC inference](rb3/inference_report.json) **failed** while loading the graph with QnnModel_composeGraphsFromDlc: MODEL_GRAPH_ERROR, despite a successful compile. RB3 does not advertise FP16 HTP support in the device attributes; this failure constrains the tested artifact, not every RB3 path. An explicit [TFLite CPU fallback compile](rb3/cpu_fallback/compile_submission.json) was submitted and remains pending. The [collector](../../../../experiments/collect_aihub_component.py) retrieves terminal jobs, and the [auditor](../../../../experiments/audit_minicpmo_tts_qualcomm.py) pins hashes and checks all 41 output tensors. Next: audit those device outputs and placement, then qualify the entire model with real multimodal inputs, stateful speech generation, task/audio quality, memory admission, cancellation and sustained power/thermal behavior. AI Hub is the test facility, not a deployment dependency. diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/rb3/cpu_fallback/compile_submission.json b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/rb3/cpu_fallback/compile_submission.json new file mode 100644 index 000000000..5953c055e --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/rb3/cpu_fallback/compile_submission.json @@ -0,0 +1,12 @@ +{ + "timestamp_utc": "2026-09-24T00:20:19.774690+00:00", + "facility": "Qualcomm AI Hub Workbench", + "qai_hub_version": "0.55.0", + "source_model_id": "mn4gjjpvn", + "device": "Dragonwing RB3 Gen 2 Vision Kit", + "options": "--target_runtime tflite", + "kind": "compile", + "status": "SUBMITTED", + "job_id": "j5m0m8oqg", + "url": "https://workbench.aihub.qualcomm.com/jobs/j5m0m8oqg/" +} diff --git a/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/rb3/inference_report.json b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/rb3/inference_report.json new file mode 100644 index 000000000..a8bbef715 --- /dev/null +++ b/benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/rb3/inference_report.json @@ -0,0 +1,31 @@ +{ + "timestamp_utc": "2026-09-24T00:19:57.727774+00:00", + "qai_hub_version": "0.55.0", + "facility": "Qualcomm AI Hub Workbench", + "job_id": "jpvld92j5", + "url": "https://workbench.aihub.qualcomm.com/jobs/jpvld92j5/", + "status": "FAILED", + "status_message": "Failed to profile the model: Failed to call QnnModel_composeGraphsFromDlc: MODEL_GRAPH_ERROR.", + "options": "--compute_unit npu", + "hub_version": "aihub-2026.09.11.0", + "device": { + "name": "Dragonwing RB3 Gen 2 Vision Kit", + "os": "1.6", + "attributes": [ + "os:qc_linux", + "framework:tflite", + "framework:onnx", + "vendor:qualcomm", + "abi:aarch64-oe-linux-gcc11", + "format:iot", + "chipset:qualcomm-qcs6490", + "chipset:qcs6490", + "chipset:qualcomm-dragonwing-qcs6490", + "hexagon:v68", + "soc-model:93", + "framework:qnn" + ] + }, + "model_id": "mnwv5rj3q", + "input_dataset_id": "d7gwxe3y2" +} diff --git a/benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md b/benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md index fccb997a3..3ba6a7e4b 100644 --- a/benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md +++ b/benchmarks/edge_harness/results/e2e_profiling_20260922/evidence/summary/README.md @@ -18,9 +18,9 @@ The identical SA/RB3 TFLite binary matched original ONNX CPU within 3.45e-6 rela A separate [Qwen3-TTS talker decode-step attempt](../../../e2e_expansion_20260924/evidence/qwen_tts_talker_qualcomm/README.md) recovered a 28-layer ONNX export and synthetic fixed-cache fixture. Historical FP16 QNN context-binary inference executed on S24, S25, SA8775P and X Elite, but all four changed the CPU reference top-1 speech token with 8.57–9.43% logits relative L2; they are numerically unqualified on this fixture. An RB3 compile rejected floating-point input. No complete talker loop or TTS stream follows. -A [Galaxy S25 InternVLA Cosmos attempt](../../../e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md) packaged the real Place_Markpen image encoder into one ONNX file after two CPU parity fixtures. FLOAT16 QNN DLC inference returned a latent within 0.0524% relative L2 of the source on one pattern; device placement profile was pending. Injecting that latent into the real policy on local CPU changed synthetic actions by 0.742% relative L2, without a task tolerance. This advances component and action-sensitivity evidence, not device-local full-policy qualification. +A [Galaxy S25 InternVLA Cosmos attempt](../../../e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md) packaged the real Place_Markpen image encoder into one ONNX file after two CPU parity fixtures. FLOAT16 QNN DLC inference returned a latent within 0.0524% relative L2 of the source on one pattern; device placement profile was pending. Injecting that latent into the real policy on local CPU changed synthetic actions by 0.742% relative L2, without a task tolerance. The same encoder compiled to FP16 QNN DLC for X Elite CRD, with same-fixture NPU-requested inference pending. This advances component and action-sensitivity evidence, not device-local full-policy qualification. -A [MiniCPM-o speech-head study](../../../e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md) recovered the historical 20-layer source and matching S24/S25 fixtures. Both FP16 context-binary outputs preserved the ONNX CPU top-1 speech token on this one decode step with logits relative L2 of 0.346%/0.360%. New FP16 QNN DLC compiles passed for SA8775P, X Elite and RB3. SA8775P same-fixture NPU-requested inference returned finite outputs, preserved CPU top-1 token 1867 and had 0.3568% logits relative L2; actual NPU placement profiling is pending. X Elite same-fixture inference also preserved token 1867 with 0.3170% logits relative L2; its placement profile and RB3 inference remain pending. These are speech-head component results, not multimodal MiniCPM-o requests. +A [MiniCPM-o speech-head study](../../../e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md) recovered the historical 20-layer source and matching S24/S25 fixtures. Both FP16 context-binary outputs preserved the ONNX CPU top-1 speech token on this one decode step with logits relative L2 of 0.346%/0.360%. New FP16 QNN DLC compiles passed for SA8775P, X Elite and RB3. SA8775P same-fixture NPU-requested inference returned finite outputs, preserved CPU top-1 token 1867 and had 0.3568% logits relative L2; actual NPU placement profiling is pending. X Elite same-fixture inference also preserved token 1867 with 0.3170% logits relative L2; its placement profile remains pending; RB3 FP16 QNN inference failed at graph load, and an explicit CPU fallback compile is pending. These are speech-head component results, not multimodal MiniCPM-o requests. ## Configuration × model @@ -90,7 +90,7 @@ NOT E2E means no complete device/model workload was verified. “Scoped E2E” i | PC Snapdragon X Elite CRD / AI Hub | Qwen3-TTS 0.6B CustomVoice | COMPONENT_ONNX_CPU_VOCODER_PARITY_PROFILED; DIRECTML_RUNTIME_FAILED; TALKER_FP16_NUMERIC_FAIL; QNN_NPU_VOCODER_NUMERIC_MEASURED; PLACEMENT_PENDING; NOT_E2E_PROFILEABLE | The fresh ONNX vocoder inference on the exact Windows 11 ARM64 X Elite CRD requested CPU and returned an unsaturated waveform on the pinned fixture, matching local ONNX Runtime CPU with 8.09e-7 relative L2 and 121.84 dB SNR. Its 94-sample component profile had nearest-rank p50/p95 6.384/6.644 s and all 634 execution-detail rows on CPU; 5.917 s estimated time is the sample minimum. This is one component, without a listening-quality gate. Corrected DirectML inference and profile both failed at provider initialization with Windows error 80070057. A separate FP16 QNN DLC vocoder inference returned an unsaturated waveform at 1.138% relative L2 / 38.88 dB SNR versus local ONNX CPU on the same fixture; NPU node-placement profile is pending and no listening-quality tolerance is set. The 28-layer FP16 QNN talker step executed, yet changed CPU top-1 token 80 to 1720 with 8.57% logits relative L2 on a synthetic cache fixture; a separate ONNX CPU talker compile passed, with inference pending. The older TFLite vocoder target was rejected on Windows ARM; no complete stream exists. | Audit QNN vocoder placement and CPU talker control, investigate DirectML failure, then qualify complete local streaming, memory and sustained behavior; [vocoder](../../../e2e_expansion_20260924/evidence/qwen_tts_vocoder_qualcomm/README.md) and [talker](../../../e2e_expansion_20260924/evidence/qwen_tts_talker_qualcomm/README.md) evidence. | | PC Snapdragon X Elite CRD / AI Hub | 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. | | PC Snapdragon X Elite CRD / AI Hub | MiniCPM-o 4.5 | COMPONENT_SPEECH_HEAD_NUMERIC_MEASURED; PLACEMENT_PENDING; NOT_E2E_PROFILEABLE | The real 20-layer MiniCPM-o speech-head source compiled to FP16 QNN DLC for the exact X Elite CRD. Same-fixture NPU-requested 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. Actual NPU node assignment and timing await its placement profile. Thinker/encoders/vocoder and a device-local stateful Omni backend remain unqualified. | Audit the [X Elite speech-head placement profile](../../../e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md), then validate the complete multimodal pipeline, state, quality, memory and sustained behavior. | -| PC Snapdragon X Elite CRD / AI Hub | InternVLA-A1 | 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. | +| PC Snapdragon X Elite CRD / AI Hub | InternVLA-A1 | COMPONENT_COSMOS_QNN_COMPILE_PASS; INFERENCE_PENDING; NOT_E2E_PROFILEABLE | The real Place_Markpen Cosmos image encoder compiled to FP16 QNN DLC for exact X Elite CRD; same-fixture NPU-requested inference is pending. No encoder numerical result, actual placement, complete action policy or local stateful Omni backend exists. | Audit the [X Elite Cosmos encoder inference](../../../e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md), then validate real observations, action units/timing, state, admission, cancellation and sustained behavior. | | Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | Spark-X2.5 | NOT_E2E_PROFILEABLE | Fresh 2026-09-22 W8A16 full-attention component inference/profile passed; full1024 denotes one cache bucket. No full prefill/decode/KV/ring/sampling loop. | Implement and validate local 128-token generation, 512/1024 transitions, cancellation and resident memory. | | Mobile Galaxy S25 / Snapdragon 8 Elite for Galaxy | Qwen3-TTS 0.6B CustomVoice | TALKER_FP16_NUMERIC_FAIL; NOT_E2E_PROFILEABLE | Fresh FP16 predictor inference passed; its one output exactly matches the same compiled artifact/dataset reference. 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, 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. | @@ -109,7 +109,7 @@ NOT E2E means no complete device/model workload was verified. “Scoped E2E” i | Embedded RB3 Gen 2 / QCS6490 / AI Hub | Spark-X2.5 | COMPONENT_CPU_PARITY_PASS; COMPONENT_NPU_NUMERIC_UNQUALIFIED; NOT_E2E_PROFILEABLE | On the exact hosted Dragonwing RB3 Gen 2 Vision Kit (QCS6490, QC Linux 1.6), the reused S24 W8A16 QNN DLC and a separately RB3-compiled W8A16 DLC each failed inference/profile at QnnModel_composeGraphsFromDlc: MODEL_GRAPH_ERROR. An FP32 ONNX one-layer CPU route passed with all 56 profile rows on CPU, source-relative hidden/K/V L2 of 8.73e-7/2.98e-7/3.37e-7 and 100-sample component p50/p95 19.304/21.113 ms. A calibrated W8A8 QNN DLC ran with all 61 rows on NPU and p50/p95 5.610/5.761 ms, but hidden/K/V relative L2 was 20.914%/1.702%/4.413% versus FP32 CPU, without a next-token quality gate. These are different precisions, not a qualified speedup; no complete 28-layer prefill/decode/KV-ring/sampling, local Omni controller or complete-request timing exists. | Improve representative W8A8 calibration or find another compatible quality-passing artifact; validate token parity, then full device-resident generation, admission/cancel and sustained power; [RB3 raw evidence](../../../e2e_expansion_20260923/evidence/spark_rb3_full_attention/README.md). | | Embedded RB3 Gen 2 / QCS6490 / AI Hub | Qwen3-TTS 0.6B CustomVoice | COMPONENT_MIXED_VOCODER_PROFILED_NUMERIC_UNQUALIFIED; NOT_E2E_PROFILEABLE | Fresh same-fixture TFLite GPU-requested vocoder inference returned a finite unsaturated waveform, but relative L2 versus original ONNX CPU was 15.73% (16.06 dB SNR), without a listening-quality tolerance; it is not a qualified audio path. The fresh 100-sample component profile had nearest-rank p50/p95 3.099/3.133 s and 403 CPU plus 335 GPU execution-detail rows. Its 3.070 s estimated-time field is the sample minimum, not median. The historical NPU talker build was rejected for floating-point inputs; no full model pipeline exists. | Establish waveform quality and a compatible integer talker artifact, then validate complete local execution, memory and sustained behavior; [vocoder evidence](../../../e2e_expansion_20260924/evidence/qwen_tts_vocoder_qualcomm/README.md). | | Embedded RB3 Gen 2 / QCS6490 / AI Hub | 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. | -| Embedded RB3 Gen 2 / QCS6490 / AI Hub | MiniCPM-o 4.5 | COMPONENT_SPEECH_HEAD_QNN_COMPILE_PASS; INFERENCE_PENDING; NOT_E2E_PROFILEABLE | The real 20-layer MiniCPM-o speech-head source compiled to FP16 QNN DLC for the exact RB3 Gen 2 kit. Same-fixture NPU-requested inference was pending; RB3's older Spark/Qwen graph failures cannot substitute for this artifact's outcome. No numerical output, placement profile, complete model bundle or local stateful controller exists. | Audit the [RB3 speech-head inference](../../../e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md), then qualify the complete multimodal pipeline and sustained behavior. | +| Embedded RB3 Gen 2 / QCS6490 / AI Hub | MiniCPM-o 4.5 | COMPONENT_SPEECH_HEAD_FP16_QNN_LOAD_FAILED; CPU_FALLBACK_COMPILE_PENDING; NOT_E2E_PROFILEABLE | The real 20-layer MiniCPM-o speech-head FP16 QNN DLC compiled for exact RB3 Gen 2, but same-fixture NPU-requested inference failed at graph load with QnnModel_composeGraphsFromDlc: MODEL_GRAPH_ERROR. RB3 device attributes do not advertise FP16 HTP support. An explicit TFLite CPU fallback compile is pending; no numerical output, complete model bundle or local stateful controller exists. | Audit the [RB3 speech-head CPU fallback](../../../e2e_expansion_20260924/evidence/minicpmo_tts_qualcomm/README.md), then qualify the complete multimodal pipeline and sustained behavior. | | Embedded RB3 Gen 2 / QCS6490 / AI Hub | InternVLA-A1 | 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. | ## Measured request timing diff --git a/docs/design/omni_edge_e2e_roadmap.md b/docs/design/omni_edge_e2e_roadmap.md index faea3d84f..11b55ccf0 100644 --- a/docs/design/omni_edge_e2e_roadmap.md +++ b/docs/design/omni_edge_e2e_roadmap.md @@ -21,9 +21,9 @@ The identical SA/RB3 TFLite vocoder binary also matched original ONNX CPU within 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, with same-fixture inference pending. None advances M2 to numerical talker or full-stream qualification yet. -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%. New FP16 QNN DLC compiles passed for SA8775P, X Elite and RB3. SA8775P same-fixture NPU-requested inference preserved CPU top-1 speech token 1867 with 0.3568% logits relative L2 and 1.225% maximum K/V relative L2; placement profiling is pending. X Elite same-fixture inference also preserved token 1867 with 0.3170% logits relative L2; both placement profiles and RB3 inference remain pending. This is component C numerical evidence only, not thinker/encoder/vocoder or complete multimodal support. +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%. New FP16 QNN DLC compiles passed for SA8775P, X Elite and RB3. SA8775P same-fixture NPU-requested inference preserved CPU top-1 speech token 1867 with 0.3568% logits relative L2 and 1.225% maximum K/V relative L2; placement profiling is pending. X Elite same-fixture inference also preserved token 1867 with 0.3170% logits relative L2; both placement profiles remain pending. RB3 FP16 QNN inference failed at graph load despite compile success; a TFLite CPU fallback compile is pending. This is component C numerical evidence only, not thinker/encoder/vocoder or complete multimodal support. -For M4, a [Galaxy S25 Cosmos encoder attempt](../../benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md) repackages the real Place_Markpen FP32 ONNX export after retaining two CPU parity fixtures. FLOAT16 QNN DLC inference returned a latent within 0.0524% relative L2 of the source on one synthetic pattern. Injecting that output into the real policy on local CPU changed synthetic actions by 0.742% relative L2, without a task tolerance. NPU placement profile was pending, and the policy did not run on S25. This is component/action-sensitivity evidence, not device-local M4 qualification. +For M4, a [Galaxy S25 Cosmos encoder attempt](../../benchmarks/edge_harness/results/e2e_expansion_20260924/evidence/internvla_cosmos_qualcomm/README.md) repackages the real Place_Markpen FP32 ONNX export after retaining two CPU parity fixtures. FLOAT16 QNN DLC inference returned a latent within 0.0524% relative L2 of the source on one synthetic pattern. Injecting that output into the real policy on local CPU changed synthetic actions by 0.742% relative L2, without a task tolerance. S25 NPU placement profile was pending, and the policy did not run on S25. The same encoder compiled to FP16 QNN DLC for X Elite CRD, with same-fixture NPU-requested inference pending. This is component/action-sensitivity evidence, not device-local M4 qualification. The [WSL CPU expansion](../../benchmarks/edge_harness/results/e2e_expansion_20260923/README.md) adds constrained three-stage MiniCPM-o text-to-speech requests and a CPU-only