onnxruntime/tools/ci_build/github/azure-pipelines/linux-qnn-ci-pipeline.yml
Adrian Lizarraga eb9b377306
[QNN EP] Update to QNN SDK 2.24.0 (#21463)
### Description
- Update pipelines to use QNN SDK 2.24 by default
- Update QNN_Nuget_Windows pipeline to build csharp solution without
mobile projects (fixes errors).
- Implement workaround for QNN 2.24 validation bug for LayerNorm ops
without an explicit bias input.
- Enable Relu unit test, which now passes due to the fact Relu is no
longer fused into QuantizeLinear for QNN EP.
- Fix bug where a negative quantization axis is not properly normalized
for per-channel int4 conv.



### Motivation and Context
Update QNN SDk.
2024-07-24 10:17:12 -07:00

113 lines
3.1 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: 2.24.0.240626
jobs:
- job: Build_QNN_EP
pool: onnxruntime-qnn-ubuntu-2204-cpu
timeoutInMinutes: 60
workspace:
clean: all
steps:
- script: |
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
- template: templates/jobs/download_linux_qnn_sdk.yml
parameters:
QnnSDKVersion: ${{ parameters.QnnSdk }}
- script: |
python3 tools/ci_build/build.py \
--build_dir build \
--config Release \
--parallel --use_binskim_compliant_compile_flags \
--use_qnn \
--qnn_home $(QnnSDKRootDir) \
--cmake_generator=Ninja \
--skip_tests
displayName: Build QNN EP
- script: |
python3 tools/ci_build/build.py \
--build_dir build \
--config Release --use_binskim_compliant_compile_flags \
--test \
--qnn_home $(QnnSDKRootDir) \
--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|$(QnnSDKRootDir)/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|$(QnnSDKRootDir)/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|$(QnnSDKRootDir)/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|$(QnnSDKRootDir)/lib/x86_64-linux-clang/libQnnHtp.so" \
/data/qdq_models/mobilenetv2-1.0_add_transpose_quant