# QNN LPAI Backend Glossary - LPAI - Low Power AI backend optimized for low-area, low-power applications such as always-on voice and camera use cases. - eNPU - Embedded Neural Processing Unit. The hardware accelerator inside the aDSP that runs LPAI inference. Typically one or two cores per SoC. - aDSP - Audio DSP. The Qualcomm Hexagon DSP subsystem where the eNPU and LPAI runtime execute. Also referred to as the Hexagon DSP. - FastRPC - Fast Remote Procedure Call. The IPC mechanism used by the ARM FastRPC backend to communicate between the host CPU process and the aDSP process. Introduces latency compared to native aDSP Direct Mode. - Island Mode - A low-power, always-on operating mode on the Hexagon DSP where the subsystem runs independently of the main application processor. Island execution has additional memory and API constraints (no printf, no dynamic allocation). - WoS - Windows on Snapdragon. A platform variant running Windows on ARM-based Qualcomm SoCs. Uses the same LPAI backend as Android but with a different deployment workflow (PowerShell, `.dll` libraries). - QNN\_LPAI\_API\_VERSION\_MAJOR - Major version of the QNN LPAI backend API. Current: . - QNN\_LPAI\_API\_VERSION\_MINOR - Minor version of the QNN LPAI backend API. Current: . - QNN\_LPAI\_API\_VERSION\_PATCH - Patch version of the QNN LPAI backend API. Current: . - QNN\_SDK\_ROOT - Environment variable pointing to the root directory of the QNN SDK installation. - LD\_LIBRARY\_PATH - Linux environment variable specifying paths to shared libraries required by QNN tools. - target\_env - Specifies the target environment for model execution. Options: arm, adsp, x86. - enable\_hw\_ver - Specifies the hardware version of the LPAI backend. Options: v5, v5_1, v6. - platform\_config\_file - Optional path (string) in the `lpai_backend` JSON section pointing to a platform-specific configuration file that overrides built-in hardware defaults (e.g., memory layout, clock settings). - enable\_core\_selection - Optional comma-separated string in the `lpai_graph.prepare` JSON section specifying which eNPU core indices (e.g., `"0,1"`) to target during offline compilation. Restricts the generated binary to those cores. - core\_selection - Integer bitmask in the `lpai_graph.execute` JSON section selecting which eNPU core to use at runtime. `0x01` = core 0, `0x02` = core 1, `0x00` = any available core. Must match a core included in `enable_core_selection` at compile time. - disable\_async - Boolean flag in the `lpai_private` JSON section. When `true`, forces `QnnGraph_execute()` to run synchronously (blocking). Default is `false` (asynchronous). - fps - Frames per second setting for model execution. Default: 1. - ftrt\_ratio - Frame-to-real-time ratio. Default: 10. - client\_type - Type of workload. Options: real_time, non_real_time. - affinity - Core affinity policy. Options: soft (prefer selected core, allow fallback), hard (force selected core only). - profiling\_level - Level of profiling detail. Options: basic, detailed. - is\_persistent\_binary - Indicates whether the context binary must remain in memory until `QnnContext_free` is called. Required in Native aDSP Direct Mode. - TCM - Tightly Coupled Memory. Fast on-chip memory on the Hexagon DSP with lower access latency than DDR. Available in aDSP Direct Mode only; maximum pool size ~1.94 MB. - QnnContext\_createFromBinary - API used to create a QNN context from a serialized binary. - QnnGraph\_finalize - API used to finalize a graph before execution. Must be called before any inference. - QnnGraph\_execute - API used to execute a finalized graph. By default asynchronous; set `disable_async: true` for blocking behavior. - QnnContext\_free - API used to release a QNN context. - QnnLpaiMem\_MemType - Enum defining memory types: DDR, LLC, TCM, UNDEFINED. - QnnLpaiGraph\_ClientPerfType - Enum defining client performance types: REAL_TIME, NON_REAL_TIME. - QnnLpaiGraph\_CoreAffinityType - Enum defining core affinity types: SOFT, HARD, UNDEFINED. - frame\_rate - eNPU target frame rate for clock voting (integer). Default: 1. - enpu\_clock\_scale - Multiplicative scale factor applied to the eNPU clock vote (integer). Default: 1. - enpu\_floor\_clock\_level - Minimum eNPU clock level; prevents the clock from being voted below this level (integer). Default: 0. - enpu\_bw\_scale - Multiplicative scale factor applied to the eNPU bandwidth vote (integer). Default: 1. - enpu\_floor\_bw - Minimum eNPU bandwidth in bytes; prevents the bandwidth vote from dropping below this value (integer). Default: 0. - QnnLpaiGraph\_EnpuPerfCfg\_t - Structure providing eNPU-specific clock and bandwidth vote controls, supplementing QnnLpaiGraph\_PerfCfg\_t. - Scratch Memory - Memory used for intermediate results that can be overwritten during execution. Must be allocated before `QnnGraph_finalize()`. - Persistent Memory - Memory used for intermediate results that must persist across operations (e.g., RNN state). Must remain valid until `QnnContext_free()`. - Backend Extension - JSON configuration enabling custom options for LPAI backend tools via `--config_file`. Specifies the extension shared library path and the LPAI parameter config file path. - qnn-net-run - Tool used to execute QNN models on supported platforms. - qnn-context-binary-generator - Tool used to generate offline context binaries for QNN models. - qnn-profile-viewer - Tool used to visualize the profiling data generated by the LPAI backend. - QNN\_CONVERTER - Tool responsible for converting and quantizing models to QNN format. The QNN SDK provides separate converter tools per framework: `qnn-onnx-converter`, `qnn-tensorflow-converter`, `qnn-tflite-converter`, and others. See `${QNN_SDK_ROOT}/bin/x86_64-linux-clang/` for the full list of available converters. - LLC - Last Level Cache. A cache tier on the Qualcomm Hexagon DSP that is larger and slower than TCM but faster than DDR. The LPAI backend can allocate scratch and persistent memory in LLC via `QNN_LPAI_MEM_TYPE_LLC`. Available in aDSP Direct Mode only. - QnnSystemInterface - The system-level QNN interface obtained via `QnnSystemInterface_getProviders()`. Provides APIs for managing context binary metadata and graph lifecycle independently of the backend, including `QnnSystemContext_getBinaryInfo()` for extracting graph names and version data from a serialized binary. Last Published: Sep 03, 2026 [Previous Topic QNN LPAI Backend FAQs](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/lpai_backend_FAQs.md) [Next Topic CPU](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/cpu_backend.md)