NEW Artificial Intelligence Lab: Aura SDK (Alpha) is released with native Hexagon NPU offloading on Snapdragon X.

QNN Setup Guide

Step-by-step instructions on setting up the Qualcomm Neural Network (QNN) SDK and Windows-ARM64 kernel drivers.

Before compiling or running models via Aura SDK on Qualcomm Snapdragon hardware, you must install the Qualcomm Neural Network (QNN) SDK and ensure the necessary Windows-ARM64 kernel drivers are correctly registered.

Prerequisites

  • Windows 11 (ARM64 edition).
  • Qualcomm Snapdragon X Elite or Snapdragon X Plus processor.
  • Snapdragon NPU Driver v30.0.140.x or later (check in Device Manager).
  • ⚠️ CRITICAL: Disable Memory Integrity in Windows Security > Device Security > Core Isolation and restart your system.
  • Qualcomm AI Stack (QAIRT SDK v2.45.40 recommended).

Configuring the QNN SDK Environment

Set the following system environment variables:

  • QNN_SDK_ROOT – Path to QAIRT installation.
  • ADSP_LIBRARY_PATH – Path to Hexagon unsigned libraries (e.g., ...\\lib\\hexagon-v73\\unsigned).

For example, in PowerShell:

$env:QNN_SDK_ROOT = "C:\Qualcomm\AIStack\QAIRT\2.45.40.260406"
$env:ADSP_LIBRARY_PATH = "C:\Qualcomm\AIStack\QAIRT\2.45.40.260406\lib\hexagon-v73\unsigned"
$env:PATH = "C:\Qualcomm\AIStack\QAIRT\2.45.40.260406\lib\aarch64-windows-msvc;" + $env:PATH

Verifying NPU Hardware Access

You can verify if the Hexagon processor is accessible to user-space enclaves by running the verification test utility:

%QNN_SDK_ROOT%\bin\aarch64-windows-msvc\qnn-net-run --version

Ensure that libQnnHexagon.dll is visible within the PATH directory. If the DLL is missing or cannot load, ensure the Qualcomm Hexagon DSP driver package is correctly installed.

Aura SDK Driver Autodetection

During initialization, the Aura SDK automatically looks for QNN_SDK_ROOT. If the environment variable is not defined, it checks system locations including C:\\Program Files\\Qualcomm and C:\\Qualcomm. If no compatible library is found, it will automatically fall back to CPU or ONNX Runtime execution paths.