mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-08 00:23:03 +00:00
### Description - Add mutex to protect QNN API calls for executing a graph and extracting the corresponding profile data. - Ensures QNN EP's execute function does not store unnecessary state (i.e., input and output buffer pointers do not need to be stored as class members.) ### Motivation and Context Allow calling `session.Run()` from multiple threads when using QNN EP.
114 lines
3 KiB
YAML
114 lines
3 KiB
YAML
##### start trigger Don't edit it manually, Please do edit set-trigger-rules.py ####
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- main
|
|
- rel-*
|
|
paths:
|
|
exclude:
|
|
- docs/**
|
|
- README.md
|
|
- CONTRIBUTING.md
|
|
- BUILD.md
|
|
- 'js/web'
|
|
- 'onnxruntime/core/providers/js'
|
|
pr:
|
|
branches:
|
|
include:
|
|
- main
|
|
- rel-*
|
|
paths:
|
|
exclude:
|
|
- docs/**
|
|
- README.md
|
|
- CONTRIBUTING.md
|
|
- BUILD.md
|
|
- 'js/web'
|
|
- 'onnxruntime/core/providers/js'
|
|
#### end trigger ####
|
|
|
|
parameters:
|
|
|
|
- name: QnnSdk
|
|
displayName: QNN SDK version
|
|
type: string
|
|
default: qnn-v2.17.0.231124
|
|
|
|
jobs:
|
|
- job: Build_QNN_EP
|
|
pool: onnxruntime-qnn-ubuntu-2004-cpu
|
|
timeoutInMinutes: 60
|
|
workspace:
|
|
clean: all
|
|
|
|
variables:
|
|
- name: QNN_SDK_ROOT
|
|
value: /data/qnnsdk/${{parameters.QnnSdk}}
|
|
|
|
steps:
|
|
- script: |
|
|
ls /data/qnnsdk
|
|
ls -R /data/qnn_test_data
|
|
displayName: Check QNN test data
|
|
|
|
- task: UsePythonVersion@0
|
|
displayName: Use Python $(pythonVersion)
|
|
inputs:
|
|
versionSpec: $(pythonVersion)
|
|
|
|
- script: sudo apt-get update -y && sudo apt-get install -y coreutils ninja-build
|
|
displayName: Install coreutils and ninja
|
|
|
|
- script: |
|
|
python3 tools/ci_build/build.py \
|
|
--build_dir build \
|
|
--config Release \
|
|
--parallel \
|
|
--use_qnn \
|
|
--qnn_home $(QNN_SDK_ROOT) \
|
|
--cmake_generator=Ninja \
|
|
--skip_tests
|
|
displayName: Build QNN EP
|
|
|
|
- script: |
|
|
python3 tools/ci_build/build.py \
|
|
--build_dir build \
|
|
--config Release \
|
|
--test \
|
|
--qnn_home $(QNN_SDK_ROOT) \
|
|
--cmake_generator=Ninja \
|
|
--skip_submodule_sync \
|
|
--ctest_path ""
|
|
displayName: Run unit tests
|
|
|
|
- task: CmdLine@2
|
|
displayName: Run ONNX tests
|
|
inputs:
|
|
script: |
|
|
./build/Release/onnx_test_runner -e qnn \
|
|
-v -j 1 -i "backend_path|$(QNN_SDK_ROOT)/lib/x86_64-linux-clang/libQnnCpu.so" \
|
|
cmake/external/onnx/onnx/backend/test/data/node
|
|
|
|
- task: CmdLine@2
|
|
displayName: Run float32 model tests
|
|
inputs:
|
|
script: |
|
|
./build/Release/onnx_test_runner -e qnn \
|
|
-v -j 1 -i "backend_path|$(QNN_SDK_ROOT)/lib/x86_64-linux-clang/libQnnCpu.so" \
|
|
/data/float32_models
|
|
|
|
- task: CmdLine@2
|
|
displayName: Run QDQ model tests
|
|
inputs:
|
|
script: |
|
|
./build/Release/onnx_test_runner -e qnn \
|
|
-v -j 1 -i "backend_path|$(QNN_SDK_ROOT)/lib/x86_64-linux-clang/libQnnHtp.so" \
|
|
/data/qdq_models
|
|
|
|
- task: CmdLine@2
|
|
displayName: Run QDQ model tests with context cache enabled
|
|
inputs:
|
|
script: |
|
|
./build/Release/onnx_test_runner -e qnn \
|
|
-v -f -j 1 -i "backend_path|$(QNN_SDK_ROOT)/lib/x86_64-linux-clang/libQnnHtp.so" \
|
|
/data/qdq_models/mobilenetv2-1.0_add_transpose_quant
|