You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Goal Update the Qualcomm Hexagon backend with an explicit direct-HTP execution path for workloads that require more precision/control than standard QNN graph lowering provides, while keeping the existing QNN FP16/INT8 path intact. Axiom #49 is the end-to-end consumer and acceptance check for this work. ## Design boundary - QNN remains the default conformant FP16/INT8 graph backend delivered by #77. - The updated path uses a FastRPC ARM64 host stub plus a signed architecture-specific HTP skel, following the public ggml-hexagon execution shape. - Hexagon v73 uses QFloat32 HVX arithmetic (Q6_Vqf32_* followed by Q6_Vsf_equals_Vqf32). It must not be advertised as strict IEEE/TOSA FP32. - A scheduler must select the relaxed tier explicitly. The provider never silently substitutes QNN FP16, CPU, GPU, or another numerical tier. - Work must be coarse/fused enough to avoid per-operator FastRPC overhead. - Windows catalog/signing requirements are part of the implementation. Test-signing is development evidence, not a production signing claim. ## Work 1. Define the backend-local artifact/capability contract for relaxed QFloat32, including finite values, wide range, subnormals, signed zero, infinities, NaNs, architecture/version compatibility, discovery, and refusal behavior. Classify any proposed wire/API change before implementation; prefer no wire change when provider-local semantics suffice. 2. Build and sign a minimal v73 FastRPC skel and run identity, ADD, MUL, MATMUL, reciprocal, and reciprocal-square-root probes on Snapdragon X126100. Compare raw bits against both CPU oracles and the existing QNN HTP FP32 spike. 3. Implement the direct provider through the full Accelerator lifecycle: discovery, contexts, exact registered/shared buffers, programs, queues, submissions, events, transfers, device loss/reset, release, and teardown. 4. Add the v73 QFloat32 kernel support required by Axiom's fused Kerr/wormhole workload. Keep request count per frame bounded and report preparation, registration/copy, FastRPC, DSP, and end-to-end timings. 5. Add all numerical, lifecycle, deployment, and performance validation to this issue. Do not create a separate validation project or advertise capabilities ahead of passing evidence. ## Acceptance criteria - The signed v73 skel loads through the Qualcomm NPU driver and every probe records raw result bits, device/driver/skel/toolchain identity, and proof of HTP execution. - The relaxed capability precisely matches passing hardware evidence. Strict FP32 remains rejected on v73 unless the full shared strict corpus passes. - QNN FP16/INT8 examples and conformance remain unchanged. - The direct provider passes lifecycle coverage for exact bindings/ranges, bounded queues, stable nonblocking polling, timeout/cancel claims, malformed artifacts, incompatible architecture, DSP failure, reset quarantine, and exactly-once release. - No hidden full-range bounce buffer or hidden CPU/GPU/QNN fallback is reported as direct execution. - SDK-free builds and published packages remain free of Qualcomm SDK binaries, private keys, generated certificates, and proprietary artifacts. - Axiom #49 runs the Kerr and wormhole examples through this provider and passes its numerical/image checks.
Goal Update the Qualcomm Hexagon backend with an explicit direct-HTP execution path for workloads that require more precision/control than standard QNN graph lowering provides, while keeping the existing QNN FP16/INT8 path intact. Axiom #49 is the end-to-end consumer and acceptance check for this work. ## Design boundary - QNN remains the default conformant FP16/INT8 graph backend delivered by #77. - The updated path uses a FastRPC ARM64 host stub plus a signed architecture-specific HTP skel, following the public
ggml-hexagonexecution shape. - Hexagon v73 uses QFloat32 HVX arithmetic (Q6_Vqf32_*followed byQ6_Vsf_equals_Vqf32). It must not be advertised as strict IEEE/TOSA FP32. - A scheduler must select the relaxed tier explicitly. The provider never silently substitutes QNN FP16, CPU, GPU, or another numerical tier. - Work must be coarse/fused enough to avoid per-operator FastRPC overhead. - Windows catalog/signing requirements are part of the implementation. Test-signing is development evidence, not a production signing claim. ## Work 1. Define the backend-local artifact/capability contract for relaxed QFloat32, including finite values, wide range, subnormals, signed zero, infinities, NaNs, architecture/version compatibility, discovery, and refusal behavior. Classify any proposed wire/API change before implementation; prefer no wire change when provider-local semantics suffice. 2. Build and sign a minimal v73 FastRPC skel and run identity, ADD, MUL, MATMUL, reciprocal, and reciprocal-square-root probes on Snapdragon X126100. Compare raw bits against both CPU oracles and the existing QNN HTP FP32 spike. 3. Implement the direct provider through the fullAcceleratorlifecycle: discovery, contexts, exact registered/shared buffers, programs, queues, submissions, events, transfers, device loss/reset, release, and teardown. 4. Add the v73 QFloat32 kernel support required by Axiom's fused Kerr/wormhole workload. Keep request count per frame bounded and report preparation, registration/copy, FastRPC, DSP, and end-to-end timings. 5. Add all numerical, lifecycle, deployment, and performance validation to this issue. Do not create a separate validation project or advertise capabilities ahead of passing evidence. ## Acceptance criteria - The signed v73 skel loads through the Qualcomm NPU driver and every probe records raw result bits, device/driver/skel/toolchain identity, and proof of HTP execution. - The relaxed capability precisely matches passing hardware evidence. Strict FP32 remains rejected on v73 unless the full shared strict corpus passes. - QNN FP16/INT8 examples and conformance remain unchanged. - The direct provider passes lifecycle coverage for exact bindings/ranges, bounded queues, stable nonblocking polling, timeout/cancel claims, malformed artifacts, incompatible architecture, DSP failure, reset quarantine, and exactly-once release. - No hidden full-range bounce buffer or hidden CPU/GPU/QNN fallback is reported as direct execution. - SDK-free builds and published packages remain free of Qualcomm SDK binaries, private keys, generated certificates, and proprietary artifacts. - Axiom #49 runs the Kerr and wormhole examples through this provider and passes its numerical/image checks.