← Back to docs

Voice/AI · voice

QNN FFI — Qualcomm NPU Bindings

FFI bindings to the Qualcomm QNN HTP API for loading .so model graphs and running inference on the Hexagon DSP.

qnn-sysv0.5.0voice
1.1K
Lines of Code
57
Tests
6
Files

Architecture

Extensive FFI bindings — wraps QNN API functions for backend configuration, context creation, graph execution, tensor management. 18+ FFI functions, 6+ opaque types, 22+ re-exports.

Overview

qnn-sys provides Rust FFI bindings to the Qualcomm Neural Network (QNN) SDK's HTP (Hexagon Tensor Processor) API. It wraps the C interface for loading QNN model graphs (compiled as .so shared libraries), creating execution contexts, setting tensor inputs, and running inference on the Hexagon DSP. This is the low-level layer that portal-voice's VAD, TTS encoder, and portal-llmd's GenieX LLM build on.

Data Flow

Model .so loaded → QNN context created on Hexagon DSP → tensors set → inference executed → results read back

Dependencies

External (1)

libloading 0.8

Links against libQnnHtp.so, libQnnSystem.so. Qualcomm QNN SDK required. Used by portal-voice and portal-llm.