From cbf1ae80eadb8d96cee5b0e9fc32f84a36ef643c Mon Sep 17 00:00:00 2001 From: ZIFENG278 Date: Mon, 22 Dec 2025 15:52:08 +0800 Subject: [PATCH] docs: add ONNXRuntime QNN Execution Provider zh docs Signed-off-by: ZIFENG278 --- .../ai/_qnn_onnxrt_execution_provider.mdx | 303 ++++++++++++++++++ .../app-dev/npu-dev/llama3.2-1b-qairt-v68.md | 2 +- .../npu-dev/qai-appbuilder-demo/README.md | 2 +- .../npu-dev/qnn_onnxrt_execution_provider.md | 9 + .../ai-dev/qai-appbuilder-demo/README.md | 2 +- .../ai-dev/qnn_onnxrt_execution_provider.md | 9 + .../dragon/q6a/qaihub_onnxruntime_model.webp | Bin 0 -> 49196 bytes 7 files changed, 324 insertions(+), 3 deletions(-) create mode 100644 docs/common/ai/_qnn_onnxrt_execution_provider.mdx create mode 100644 docs/dragon/q6a/app-dev/npu-dev/qnn_onnxrt_execution_provider.md create mode 100644 docs/fogwise/airbox-q900/ai-dev/qnn_onnxrt_execution_provider.md create mode 100644 static/img/dragon/q6a/qaihub_onnxruntime_model.webp diff --git a/docs/common/ai/_qnn_onnxrt_execution_provider.mdx b/docs/common/ai/_qnn_onnxrt_execution_provider.mdx new file mode 100644 index 000000000..946b5a3d2 --- /dev/null +++ b/docs/common/ai/_qnn_onnxrt_execution_provider.mdx @@ -0,0 +1,303 @@ +ONNX Runtime 的 **[QNN Execution Provider](https://onnxruntime.ai/docs/execution-providers/QNN-ExecutionProvider.html)** 可在高通 SoC 平台上启用 **NPU 硬件加速推理 ONNX 格式模型**。 +它使用 **[Qualcomm® AI Runtime (QAIRT SDK)](./qairt-sdk#qairt)**,将 **ONNX 模型** 构建为一个 **QNN 计算图**,并通过 **加速器后端库** 来执行该计算图。 +ONNX Runtime 的 **QNN Execution Provider** 可用于搭载 **高通平台 SoC** 的 **Linux**, **Android**, **Windows** 设备。 + +## 支持设备 + +- [**瑞莎 Dragon Q6A**](/dragon/q6a/) (Linux) + +- [**瑞莎 Fogwise AIRbox Q900**](/fogwise/airbox-q900) (Linux) + +## 安装方法 + +:::tip +安装方式有两种,可选择 **pip 安装** 与 **源码编译安装** + +无论选择哪种方式都需要按照 [**QAIRT SDK 安装**](./qairt-install) 下载 QAIRT SDK +::: + +### 创建 python 虚拟环境 + + + +```bash +sudo apt install python3-venv +python3 -m venv .venv +source .venv/bin/activate +pip3 install --upgrade pip +``` + + + +### pip 安装 + +radxa 已经提供预编译 Linux 版本的 `onnxruntime-qnn whl` 文件 + + + +```bash +pip3 install https://github.com/ZIFENG278/onnxruntime/releases/download/v1.23.2/onnxruntime_qnn-1.23.2-cp312-cp312-linux_aarch64.whl +``` + + + +### 源码编译 + +#### 克隆 onnxruntime 仓库 + + + +```bash +git clone --depth 1 -b v1.23.2 https://github.com/microsoft/onnxruntime.git +``` + + + +#### 修改 CMakeLists.txt + +因为 onnxruntime 不直接支持 Linux 系统,若编译为支持 Linux 系统的 onnxruntime-qnn whl 包,需要手动更改 `cmake/CMakeLists.txt` 的 840 行。 + +将 L840 `set(QNN_ARCH_ABI aarch64-android)` 修改为 `set(QNN_ARCH_ABI aarch64-oe-linux-gcc11.2)` + +:::tip +若编译为 **Android** 或 **Windows** 则不需要修改。 +::: + + + +```bash +cd onnxruntime +vim cmake/CMakeLists.txt +``` + + +```bash +diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt +index 0b37ade..f4621e5 100644 +--- a/cmake/CMakeLists.txt ++++ b/cmake/CMakeLists.txt +@@ -837,7 +837,7 @@ if (onnxruntime_USE_QNN OR onnxruntime_USE_QNN_INTERFACE) + if (${GEN_PLATFORM} STREQUAL "x86_64") + set(QNN_ARCH_ABI x86_64-linux-clang) + else() +- set(QNN_ARCH_ABI aarch64-android) ++ set(QNN_ARCH_ABI aarch64-oe-linux-gcc11.2) + endif() + endif() + endif() +``` + +#### 编译项目 + +:::tip +请根据实际 QAIRT SDK 路径修改 `QNN_SDK_PATH` 路径 +::: + + + +```bash +pip3 install -r requirements.txt +./build.sh --use_qnn --qnn_home [QNN_SDK_PATH] --build_shared_lib --build_wheel --config Release --parallel --skip_tests --build_dir build/Linux +``` + + + +项目编译完成后,目标 whl 包生成在 `build/Linux/Release/dist` 下 + + + +```bash +pip3 install ./build/Linux/Release/dist/onnxruntime_qnn-1.23.2-cp312-cp312-linux_aarch64.whl +``` + + + +## 验证 QNN Execution Provider + +:::tip +验证 QNN Execution Provider 前,请先按照 [**板端启用 NPU**](./fastrpc_setup) 与 [**NPU 快速验证**](./quick-example) 验证 NPU 可用性,确保 NPU 功能正常后再测试 QNN Execution Provider。 +::: + +### 导入环境变量 + + + + + + ```bash + export PRODUCT_SOC=6490 DSP_ARCH=68 + ``` + + + + + + + + + ```bash + export PRODUCT_SOC=9075 DSP_ARCH=73 + ``` + + + + + + + + +```bash +cd qairt/2.37.1.250807 +source bin/envsetup.sh +export ADSP_LIBRARY_PATH=$QNN_SDK_ROOT/lib/hexagon-v${DSP_ARCH}/unsigned +``` + + + +### 下载 INT8 量化的 ONNX 模型 + +在 [**Qualcomm AI Hub**](https://aihub.qualcomm.com/iot/models/resnet50?chipsets=qualcomm-qcs6490) 上下载一个 ONNX Runtime 格式的 w8a8 量化模型 + +
+ +
+ +### 测试 QNN Execution Provider + +以下 Python 代码使用 QNN EP 创建 ONNX Runtime 会话,并使用 NPU 推理 w8a8 量化 ONNX 模型。代码参考 [Running a quantized model on Windows ARM64](https://onnxruntime.ai/docs/execution-providers/QNN-ExecutionProvider.html#running-a-quantized-model-on-windows-arm64-onnxruntime-qnn-version--1180) + + + +```bash +vim run_qdq_model.py +``` + + + +:::tip +请根据实际 QAIRT SDK 路径修改 `backend_path` 路径 + +请根据下载的 onnx 模型路径修改 `InferenceSession` 中的模型路径参数 +::: + +```python +# run_qdq_model.py + +import onnxruntime +import numpy as np + +options = onnxruntime.SessionOptions() + +# (Optional) Enable configuration that raises an exception if the model can't be +# run entirely on the QNN HTP backend. +options.add_session_config_entry("session.disable_cpu_ep_fallback", "1") + +# Create an ONNX Runtime session. +# TODO: Provide the path to your ONNX model +session = onnxruntime.InferenceSession("job_jpy6ye005_optimized_onnx/model.onnx", + sess_options=options, + providers=["QNNExecutionProvider"], + provider_options=[{"backend_path": "libQnnHtp.so"}]) # Provide path to Htp dll in QNN SDK + +# Run the model with your input. +# TODO: Use numpy to load your actual input from a file or generate random input. +input0 = np.ones((1,3,224,224), dtype=np.uint8) +result = session.run(None, {"image_tensor": input0}) + +# Print output. +print(result) +``` + + + +```bash +python3 run_qdq_model.py +``` + + + +```bash +(.venv) rock@radxa-dragon-q6a:~/ssd/qualcomm/onnxruntime/build/Linux/Release$ python3 run_qdq_model.py +2025-12-22 06:31:37.527811909 [W:onnxruntime:Default, device_discovery.cc:164 DiscoverDevicesForPlatform] GPU device discovery failed: device_discovery.cc:89 ReadFileContents Failed to open file: "/sys/class/drm/card0/device/vendor" +/prj/qct/webtech_scratch20/mlg_user_admin/qaisw_source_repo/rel/qairt-2.37.1/point_release/SNPE_SRC/avante-tools/prebuilt/dsp/hexagon-sdk-5.4.0/ipc/fastrpc/rpcmem/src/rpcmem_android.c:38:dummy call to rpcmem_init, rpcmem APIs will be used from libxdsprpc + +====== DDR bandwidth summary ====== +spill_bytes=0 +fill_bytes=0 +write_total_bytes=65536 +read_total_bytes=25976832 + +[array([[47, 55, 49, 46, 56, 55, 45, 47, 44, 49, 50, 46, 44, 46, 44, 47, + 46, 46, 45, 45, 47, 49, 55, 48, 47, 49, 48, 49, 52, 54, 46, 61, + 51, 48, 57, 41, 47, 41, 62, 50, 50, 44, 49, 48, 48, 50, 51, 52, + 46, 43, 47, 51, 51, 52, 52, 54, 44, 40, 44, 65, 60, 49, 52, 57, + 55, 50, 55, 47, 55, 57, 47, 62, 44, 62, 44, 51, 50, 53, 57, 57, + 47, 51, 46, 39, 45, 44, 45, 46, 49, 52, 46, 42, 50, 48, 54, 42, + 50, 36, 43, 47, 48, 44, 43, 54, 46, 41, 46, 63, 52, 46, 51, 75, + 58, 58, 51, 49, 50, 64, 41, 44, 49, 43, 45, 47, 48, 50, 62, 50, + 52, 52, 49, 44, 54, 41, 43, 46, 40, 42, 40, 41, 45, 46, 41, 46, + 46, 47, 45, 49, 46, 50, 43, 51, 50, 52, 46, 47, 45, 43, 48, 46, + 42, 48, 48, 52, 47, 47, 47, 47, 44, 45, 44, 47, 46, 49, 39, 45, + 43, 45, 53, 44, 45, 47, 43, 44, 46, 48, 44, 51, 45, 48, 50, 46, + 41, 44, 46, 52, 45, 38, 42, 44, 44, 41, 42, 51, 53, 37, 43, 48, + 48, 44, 40, 43, 43, 44, 43, 46, 50, 45, 42, 46, 50, 48, 48, 50, + 49, 42, 41, 41, 47, 45, 43, 46, 48, 47, 44, 46, 48, 45, 45, 48, + 42, 45, 44, 42, 46, 46, 48, 45, 44, 43, 50, 49, 48, 45, 52, 36, + 42, 47, 47, 46, 49, 42, 50, 43, 48, 47, 48, 43, 44, 48, 51, 47, + 48, 43, 47, 45, 50, 55, 47, 50, 50, 53, 48, 57, 51, 58, 46, 46, + 53, 48, 45, 48, 44, 50, 47, 43, 47, 48, 47, 53, 47, 54, 44, 53, + 47, 45, 56, 58, 57, 46, 57, 51, 56, 55, 58, 58, 52, 55, 59, 53, + 50, 42, 40, 46, 51, 44, 56, 51, 52, 42, 44, 50, 49, 48, 43, 45, + 42, 45, 47, 42, 46, 46, 42, 39, 39, 47, 41, 45, 45, 46, 48, 47, + 44, 47, 49, 46, 52, 45, 50, 50, 45, 52, 52, 49, 52, 47, 45, 50, + 44, 44, 44, 45, 41, 45, 45, 44, 50, 50, 48, 41, 49, 45, 46, 46, + 46, 47, 41, 45, 44, 52, 48, 43, 50, 45, 47, 50, 48, 52, 54, 64, + 50, 62, 61, 48, 45, 52, 45, 45, 44, 64, 42, 47, 48, 60, 47, 43, + 67, 54, 63, 63, 52, 60, 54, 55, 51, 50, 53, 55, 46, 61, 51, 45, + 58, 53, 49, 57, 45, 57, 64, 53, 56, 60, 59, 52, 47, 51, 59, 55, + 49, 46, 42, 60, 46, 51, 40, 54, 54, 61, 44, 56, 44, 55, 58, 55, + 60, 60, 48, 44, 53, 58, 68, 50, 43, 63, 46, 54, 40, 52, 54, 60, + 55, 62, 57, 49, 44, 58, 59, 62, 64, 46, 55, 57, 53, 49, 55, 46, + 48, 54, 59, 68, 49, 56, 51, 61, 61, 52, 57, 61, 60, 39, 50, 44, + 63, 64, 48, 57, 52, 57, 51, 52, 44, 46, 49, 56, 51, 43, 53, 60, + 57, 55, 71, 62, 43, 47, 58, 52, 45, 41, 53, 59, 48, 56, 64, 57, + 51, 54, 61, 41, 45, 59, 54, 59, 58, 54, 43, 44, 52, 56, 59, 55, + 52, 48, 57, 60, 43, 45, 51, 57, 52, 46, 61, 48, 60, 48, 64, 42, + 45, 57, 53, 59, 48, 48, 46, 62, 58, 60, 43, 61, 50, 49, 53, 55, + 55, 64, 57, 43, 62, 51, 54, 56, 63, 53, 62, 39, 70, 61, 61, 64, + 55, 45, 54, 51, 44, 56, 51, 55, 63, 54, 58, 67, 55, 46, 61, 63, + 40, 41, 73, 50, 51, 66, 51, 57, 58, 61, 39, 59, 52, 49, 53, 43, + 45, 62, 55, 64, 77, 44, 52, 55, 48, 51, 69, 54, 53, 55, 47, 46, + 44, 51, 52, 51, 45, 39, 55, 49, 60, 45, 65, 53, 51, 41, 45, 46, + 52, 60, 65, 42, 48, 65, 58, 59, 59, 60, 54, 58, 61, 60, 59, 48, + 57, 48, 38, 54, 60, 50, 45, 60, 66, 49, 49, 62, 60, 52, 54, 49, + 54, 41, 40, 53, 57, 53, 60, 68, 56, 57, 66, 47, 54, 41, 47, 59, + 69, 43, 63, 52, 49, 60, 52, 51, 53, 50, 46, 62, 55, 56, 44, 49, + 62, 59, 52, 51, 56, 53, 50, 53, 56, 59, 52, 58, 52, 64, 47, 49, + 52, 57, 60, 54, 48, 39, 51, 58, 60, 66, 40, 61, 57, 50, 49, 65, + 48, 66, 56, 53, 66, 60, 54, 48, 66, 56, 58, 46, 49, 53, 57, 63, + 63, 57, 50, 52, 36, 60, 48, 51, 57, 52, 48, 50, 58, 49, 56, 54, + 51, 46, 46, 44, 62, 48, 56, 47, 49, 54, 54, 49, 59, 61, 47, 48, + 43, 47, 72, 57, 42, 49, 53, 57, 49, 47, 70, 57, 61, 43, 49, 54, + 51, 47, 58, 48, 59, 62, 52, 56, 54, 54, 48, 48, 58, 70, 65, 45, + 56, 55, 55, 61, 69, 44, 68, 64, 40, 55, 51, 53, 50, 57, 62, 53, + 46, 36, 45, 51, 50, 51, 46, 45, 57, 55, 37, 61, 53, 52, 53, 57, + 55, 60, 51, 64, 49, 56, 56, 48, 53, 60, 45, 47, 59, 58, 51, 47, + 60, 53, 61, 57, 52, 61, 64, 57, 53, 62, 60, 58, 57, 50, 54, 48, + 39, 47, 41, 41, 65, 47, 52, 57, 59, 50, 47, 47, 49, 47, 45, 52, + 49, 56, 50, 47, 49, 46, 51, 48, 49, 53, 52, 39, 49, 42, 50, 50, + 46, 55, 48, 46, 62, 58, 59, 59, 51, 51, 59, 45, 52, 54, 51, 49, + 51, 48, 47, 48, 48, 48, 66, 60, 66, 57, 45, 61, 44, 40, 52, 48, + 46, 43, 52, 43, 56, 52, 50, 52, 48, 61, 52, 52, 53, 45, 52, 45, + 42, 40, 43, 44, 40, 41, 51, 61]], dtype=uint8)] +/prj/qct/webtech_scratch20/mlg_user_admin/qaisw_source_repo/rel/qairt-2.37.1/point_release/SNPE_SRC/avante-tools/prebuilt/dsp/hexagon-sdk-5.4.0/ipc/fastrpc/rpcmem/src/rpcmem_android.c:42:dummy call to rpcmem_deinit, rpcmem APIs will be used from libxdsprpc +``` + +## 详细文档 + +关于 QNNExecutionProvider 的详细使用方法请参考 + +- [**QNN Execution Provider**](https://onnxruntime.ai/docs/execution-providers/QNN-ExecutionProvider.html#qnn-execution-provider) diff --git a/docs/dragon/q6a/app-dev/npu-dev/llama3.2-1b-qairt-v68.md b/docs/dragon/q6a/app-dev/npu-dev/llama3.2-1b-qairt-v68.md index 94684f32a..9337fd8f7 100644 --- a/docs/dragon/q6a/app-dev/npu-dev/llama3.2-1b-qairt-v68.md +++ b/docs/dragon/q6a/app-dev/npu-dev/llama3.2-1b-qairt-v68.md @@ -1,5 +1,5 @@ --- -sidebar_position: 10 +sidebar_position: 11 --- # Llama3.2-1B 大模型 diff --git a/docs/dragon/q6a/app-dev/npu-dev/qai-appbuilder-demo/README.md b/docs/dragon/q6a/app-dev/npu-dev/qai-appbuilder-demo/README.md index d446e5dae..dadf70fd1 100644 --- a/docs/dragon/q6a/app-dev/npu-dev/qai-appbuilder-demo/README.md +++ b/docs/dragon/q6a/app-dev/npu-dev/qai-appbuilder-demo/README.md @@ -1,5 +1,5 @@ --- -sidebar_position: 9 +sidebar_position: 99 --- # Demos 示例 diff --git a/docs/dragon/q6a/app-dev/npu-dev/qnn_onnxrt_execution_provider.md b/docs/dragon/q6a/app-dev/npu-dev/qnn_onnxrt_execution_provider.md new file mode 100644 index 000000000..0f0bae57a --- /dev/null +++ b/docs/dragon/q6a/app-dev/npu-dev/qnn_onnxrt_execution_provider.md @@ -0,0 +1,9 @@ +--- +sidebar_position: 10 +--- + +# QNN Execution Provider + +import QNNONNXRTEXECUTIONPROVIDER from '../../../../common/ai/\_qnn_onnxrt_execution_provider.mdx'; + + diff --git a/docs/fogwise/airbox-q900/ai-dev/qai-appbuilder-demo/README.md b/docs/fogwise/airbox-q900/ai-dev/qai-appbuilder-demo/README.md index d446e5dae..dadf70fd1 100644 --- a/docs/fogwise/airbox-q900/ai-dev/qai-appbuilder-demo/README.md +++ b/docs/fogwise/airbox-q900/ai-dev/qai-appbuilder-demo/README.md @@ -1,5 +1,5 @@ --- -sidebar_position: 9 +sidebar_position: 99 --- # Demos 示例 diff --git a/docs/fogwise/airbox-q900/ai-dev/qnn_onnxrt_execution_provider.md b/docs/fogwise/airbox-q900/ai-dev/qnn_onnxrt_execution_provider.md new file mode 100644 index 000000000..b9180511d --- /dev/null +++ b/docs/fogwise/airbox-q900/ai-dev/qnn_onnxrt_execution_provider.md @@ -0,0 +1,9 @@ +--- +sidebar_position: 10 +--- + +# QNN Execution Provider + +import QNNONNXRTEXECUTIONPROVIDER from '../../../common/ai/\_qnn_onnxrt_execution_provider.mdx'; + + diff --git a/static/img/dragon/q6a/qaihub_onnxruntime_model.webp b/static/img/dragon/q6a/qaihub_onnxruntime_model.webp new file mode 100644 index 0000000000000000000000000000000000000000..18e1acf8c2b61aa3b7a78ced0f86f8c9d4b8f7a3 GIT binary patch literal 49196 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 literal 0 HcmV?d00001